Linux下编译支持h264、h265编码的FFmpeg

首先下载x264源码:https://code.videolan.org/videolan/x264/

解压,进入源码目录,然后执行命令:

./configure --prefix=/root/NfsShareDir/trunk/avs/third_party/x264-master/install --enable-static --enable-shared --disable-asm
make
make install

执行完后,即会在/root/NfsShareDir/trunk/avs/third_party/x264-master/install 目录下生成x264的头文件,库文件。

下载x265源码:https://bitbucket.org/multicoreware/x265_git/src/master/

解压,进入源码目录的source目录下,然后执行命令:

cmake -DCMAKE_INSTALL_PREFIX=./install ./
make
make install

执行完后,即会在source目录的install 目录下生成x265的头文件,库文件。

下载FFmpeg源码:https://github.com/FFmpeg/FFmpeg/tags

查看pkgconfig路径:

which pkgconfig
whereis pkgconfig

设置环境变量(这里以pkgconfig路径在/usr/lib64/pkgconfig 为例,以实际为准):

export PKG_CONFIG_PATH="/usr/lib64/pkgconfig"

分别拷贝x264和x265的.pc文件到pkgconfig目录下

cp x264.pc /usr/lib64/pkgconfig
cp x265.pc /usr/lib64/pkgconfig

这些步骤是为了防止等下configure ffmpeg 的时候报错:ERROR: x265 not found using pkg-config

进入FFmpeg源码目录,执行:

./configure --enable-shared --prefix=/root/NfsShareDir/trunk/avs/third_party/FFmpeg-n5.0.3/install --enable-ffmpeg --enable-debug --disable-optimizations --disable-asm --disable-stripping --enable-libx264 --enable-libx265 --enable-gpl --enable-pthreads --extra-cflags="-I/root/NfsShareDir/trunk/avs/sdk/x264/inc -I/root/NfsShareDir/trunk/avs/sdk/x265/inc" --extra-ldflags="-L/root/NfsShareDir/trunk/avs/sdk/x264/lib -L/root/NfsShareDir/trunk/avs/sdk/x265/lib"

其中,--enable-debug --disable-optimizations --disable-asm --disable-stripping 是为了编译出带有调试信息,可以用gdb调试的ffmpeg。

--extra-cflags 指定 x264和x265的头文件路径。

--extra-ldflags 指定 x264和x265的库文件路径。

make
make install

执行完成后,即会在/root/NfsShareDir/trunk/avs/third_party/FFmpeg-n5.0.3/install 目录下生成ffmpeg的头文件,库文件。

然后我们可以通过命令去验证ffmpeg是否支持x264的编码了:

./ffmpeg -i rtsp://admin:[email protected] -vcodec libx264 -acodec aac -f flv rtmp://172.16.17.154:1935/live/test

参考:

《ffmpeg怎么利用gdb调试以及gdb调试快捷键》

《ffmpeg支持libx264和libx265的安装方法》

《X265编译》

你可能感兴趣的:(音视频技术,linux,ffmpeg)