Linux下FFmpeg之H264编译

一、概述

FFmpeg内部以及支持多种编解码模式,但是也有一些编解码模式并没有加入 FFmpeg 源码中。因此,当我们需要定的时候就需要自己以第三方库的方式加入 FFmpeg 中。以下内容接着上篇文章介绍 FFmpeg 中加入第三方库的编译方法,主要以 H264 为主。

二、安装 H264 

     1)配置

./configure --prefix=/home/llh/ffmpeg/build/

根据错误提示,修改配置信息如下:

./configure --prefix=/home/llh/ffmpeg/build/ --disable-asm

上述信息看出并不会编译出相应动态库,因此我们继续修改配置信息如下:

./configure --prefix=/home/llh/ffmpeg/build/ --disable-asm --enable-shared

     2)编译

make

     3)安装

make install

至此,H264安装成功!

 

三、编译 FFmpeg

     1)配置

      根据上篇文章说明,我们在配置第三方库的时候需要配置环境变量 PKG_CONFIG_PATH ,以及制定相应的头文件和库文件路径。具体配置如下:

export PKG_CONFIG_PATH=/home/llh/ffmpeg/build/lib/pkgconfig:$PKG_CONFIG_PATH
./configure --prefix=/home/llh/ffmpeg/build/ --enable-shared --extra-cflags=-I/home/llh/ffmpeg/build/include --extra-ldflags=-L/home/llh/ffmpeg/build/lib --enable-gpl --enable-libx264

 

     2)编译

make

     3)安装

make install

至此,FFmpeg 安装成功,一下开始测试是否加载了 H264。

四、测试H264

     1)查看 ffmpeg 支持的格式

ffmpeg -formats | grep h26

 

     2)查看 FFmpeg 支持的编码器

ffmpeg -codecs | grep h26

 

     3)查看 FFmpeg 中 H.264 编码参数支持  

ffmpeg -h encoder=h264

 

     4)查看 FFmpeg 支持的解码器

ffmpeg -decoders | grep h26

以上测试看出当前编译的 FFmpeg 中已经支持了 H264。

五、其他第三方库的编译   ---》在线安装方式

     1)H265

sudo apt-get install libx265-dev libnuma-dev

     编译 FFmpeg 时需要加上 --enable-gpl --enable-libx265    

     2)libvpx

sudo apt-get install libvpx-dev

     编译 FFmpeg 时需要加上 --enable-libvpx 

     3)libfdk-aac

sudo apt-get install libfdk-aac-dev

     编译 FFmpeg 时需要加上 --enable-libfdk-aac  --enable-nonfree 

     4)libmp3lame

sudo apt-get install libmp3lame-dev

     编译 FFmpeg 时需要加上 --enable-libmp3lame

     5)libopus

sudo apt-get install libopus-dev

     编译 FFmpeg 时需要加上 --enable-libopus

六、总结

     1)解压源码包之后一般都会有一个 README 文件,这个文件中一般会介绍如何编译这个源码包的步骤,或者是介绍整个源码包框架。

     2)执行 ./configure -h 查看配置信息(以上两点点很重要,但是很多人都会忽略)

     3)编译三部曲

./configure [arg1] [arg2] [...] [argn]

make 

make install

     4)当遇到要加入外部库的时候一般都需要指定外部库的头文件路径和库文件路径,具体怎么指定,最好以第 2 步查看为准。

猜你喜欢

转载自blog.csdn.net/qq_32588939/article/details/105255217