ubuntu16.04配置x264的ffmpeg编译环境
近期在做有关ffmpeg库搭配x264的编码实验,配置环境搞了很长时间(Ubuntu小白&C++小白),时间长到被老师骂了不知道多少次。通过不懈的努力(被骂到再不弄好就要被退学),终于把环境搭好。其实就是这么简单的几个步骤,耗费近半年时间(当然同时也有其他的一些事情比较占(zhao)时(jie)间(kou),好不容易配成了,赶紧把步骤和心得记下来,以免过几天换新的设备测试时又忘掉。。。。。。
配置ubuntu基本环境
基于「我刚刚安装好Ubuntu16.04,什么东西都没装过什么都没改过我什么都不会」的假设,安装必要的软件源与环境。
- 软件包升级
sudo apt-get upgrade
sudo apt-get update
- 安装git
sudo apt-get install git
安装ffmpeg开发库
- 使用git用ffmpeg官方获取source的镜像。
git clone https://git.ffmpeg.org/ffmpeg.git
该步骤会将所有的官方源文件下载到~/ffmpeg
路径下。
- 安装x264、yasm的依赖库
ffmpeg的源是不含x264、yasm等编解码必要库的。如果需要其他库,也可在此步骤中进行相应的下载。
sudo apt-get install libx264-dev libfaac-dev yasm
- 配置ffmpeg安装选项
打开最基本的的选项。其他为默认。具体可以输出./configure --help
查看相关帮助。
注意:如果需要更改安装库文件和头文件的路径,需要打开参数--prefix=【在这里输入你要改的路径,默认为/usr/local】
./configure --enable-shared --enable-libx264 --enable-gpl --enable-threads
- 编译ffmpeg
make -j8
sudo make install
遇到的一些bug的解决办法
- 解决了一个遇到的动态链接库丢失的问题
Export LD_LIBRARY_PATH=【刚才自己改的路径】/lib「默认为/usr/local/lib」)
- 解决编译错误
/usr/bin/ld: cannot find -lz
:缺少zlib-dev包,安装补全即可。参考文献
apt-get install zlib1g-dev
测试
下载雷霄骅大神的最简单的ffmpeg编码器进行测试。(累了,明天再更
写完了才发现了这篇重要参考,前人做过相同的工作。以前也应该看到过这篇,但是不敢确定方法是否正确而不敢下手。普天之下,并无新事。