首先下载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:admin@192.168.18.14 -vcodec libx264 -acodec aac -f flv rtmp://172.16.17.154:1935/live/test
参考:
《ffmpeg怎么利用gdb调试以及gdb调试快捷键》
《ffmpeg支持libx264和libx265的安装方法》
《X265编译》