您的位置:首页 > 运维架构 > Linux

Linux下编译ffmpeg及其依赖库

2017-09-27 22:11 633 查看
之前想写一篇博客来记录一下本人在编译ffmpeg库是遇到的坑。

首先讲一下我的需求,利用ffmpeg库实现转码,增加水印,截图功能,输出文件固定为视频为H264编码,音频为AAC编码

系统为centos7.2

1.首先ffmpeg没有x264库,需要下载x264库,自己编译,地址:http://www.videolan.org/developers/x264.html

这个需要提前下载编译yasm库,地址:http://www.linuxfromscratch.org/blfs/view/svn/general/yasm.html

./configure

make && make install

然后再编译安装x264库

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

./configure --enable-shared

make && make install

2.因为程序要添加水印,分为文字水印与图片水印,文字水印需要用到drawtext这个滤镜,需要安装libfreetype,libfontconfig
详情请看ffmpeg官方文档:https://ffmpeg.org/ffmpeg-filters.html#drawtext-1(可能需要翻墙)

libfreetype下载地址:https://www.freetype.org/download.html

可以直接利用yum命令安装:yum install  freetype-devel

libfontconfig下载地址:https://www.freedesktop.org/wiki/Software/fontconfig/

解压进入libfontconfig目录

./configure

make&& make install

3.下面就是编译ffmpeg了

ffmpeg下载地址:https://ffmpeg.org/download.html#get-sources

解压完进入ffmpeg目录

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

./configure --enable-shared --enable-gpl --enable-libx264 --enable-libfreetype --enable-libfontconfig --disable-vaapi --disable-libxcb --disable-libxcb-shm --disable-libxcb-xfixes --disable-libxcb-shape 

make

可能需要等待一段时间编译时间较长

编译完毕!

利用命令找到这些动态库就OK了

find -name "*.so*"

将头文件和动态库放到你得项目目录下就OK 了

---------------------------------------------------------------

--enable-gpl是与--enable-libx264搭配使用,--disable-vaapi --disable-libxcb --disable-libxcb-shm --disable-libxcb-xfixes --disable-libxcb-shape 是禁止连接硬编的库
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ffmpeg 编码 linux h264