在macOS系统上编译支持H265编码的ffplay播放器|技术创作特训营第一期

2023-08-21 07:37:59 浏览数 (2)

1、编译环境

1.1 硬件环境

1)MacBook Air 2022

2)苹果 M2 芯片

1.2 软件环境

1)苹果系统 13.0

2)FFmpeg 5.1

2、编译步骤

2.1 安装x265

1)下载x265代码

命令:

代码语言:javascript复制
git clone https://bitbucket.org/multicoreware/x265_git.git

2)编译x265

命令:

代码语言:javascript复制
cd x265_git/build/xcode
cmake -DCMAKE_INSTALL_PREFIX=$(pwd)/build -DENABLE_SHARED=OFF ../../source
make -j10

3)安装x265

命令:

代码语言:javascript复制
make install

2.2 安装FFmpeg

1)下载FFmpeg代码

命令:

代码语言:javascript复制
git clone https://github.com/FFmpeg/FFmpeg.git

切换到5.1.2分支,命令:

代码语言:javascript复制
cd FFmpeg 
git checkout n5.1.2

2)替换FLV代码

命令:

代码语言:javascript复制
git clone -b 5.1 https://github.com/runner365/ffmpeg_rtmp_h265.git
cp ffmpeg_rtmp_h265/flv.h FFmpeg/libavformat/
cp ffmpeg_rtmp_h265/flv*.c FFmpeg/libavformat/

3)安装FFmpeg

设置FFmpeg与x265的配置关系,命令:

代码语言:javascript复制
export PKG_CONFIG_PATH=/project/x265_git/build/xcode/build/lib/pkgconfig 
./configure 
  --prefix=$(pwd)/build 
  --enable-gpl --enable-nonfree --enable-pthreads --extra-libs=-lpthread 
  --disable-asm --disable-x86asm --disable-inline-asm 
  --enable-decoder=aac --enable-decoder=aac_fixed --enable-decoder=aac_latm --enable-encoder=aac 
  --enable-libx264 --enable-libx265 
  --pkg-config-flags='--static' 
  --enable-sdl 
  --enable-ffplay

编译及安装,命令:

代码语言:javascript复制
make -j10
make install

2.3 解决报错

1)ERROR: x265 not found using pkg-config

解决:

代码语言:javascript复制
wget https://pkg-config.freedesktop.org/releases/pkg-config-0.29.2.tar.gz
tar -xvf pkg-config-0.29.2.tar.gz
cd pkg-config-0.29.2
./configure --with-internal-glib
make -j9
make install

2)ERROR: sdl2 requested but not found

解决:

代码语言:javascript复制
brew install SDL2

3、验证结果

3.1 生成H265媒体流

利用刚才生成ffplay时,同时生成的ffmpeg文件,我们可以生成一路包含H265编码的RTMP媒体流,命令:

代码语言:javascript复制
./ffmpeg -stream_loop -1 -re -i source.flv -c:a copy -c:v libx265 -f flv rtmp://localhost/live/h265stream

3.2 播放H265媒体流

实用ffplay播放刚才生成的H265媒体流验证一下编译结果,命令:

代码语言:javascript复制
./ffplay rtmp://localhost/live/h265stream

3.3 效果截图


#【选题思路】

现在音视频技术非常火,windows系统下支持H265编码格式的ffplay播放器比较多,但是macOS系统下的ffplay播放器却非常少,几乎是没有,就更不用说编译的教程了。所以,我就想把自己知道的知识分享出来,希望可以帮助到大家。stormzhang老师说技术文章的软硬件环境要写的足够细致,我感觉很对。因为自己经常照着网上的教程操作,结果一地鸡毛,最后发现是环境问题,所以我在开头重点描述了相关信息。

#【创作提纲】

1、描述编译播放器的软硬件环境。

2、介绍编译步骤,包括哪些重点内容和模块,比如x265、FFmpeg等。

3、生成ffplay播放器后,如何验证播放效果。

0 人点赞