编译ffmpeg(一)

自己编译ffmpeg也是一件烦心事  当你知道基本的流程以后就知道是有多简单。当你啥也不知道的时候,看着网上乱七八糟的博客,心里头那个气愤啊。(明明就是按照这个步骤来的,为什么他可以我就不可以)


刚毕业有一个后台项目 ,只是依赖ffmpeg的一个小功能。需要在linux系统上定制编译一个2.6版本的, 而且当时编译的时候 , 也是一脸闷逼(别人说啥  做啥)都没有一个体系,对他的理解完全就是0。当时对编译、汇编什么的都没有什么见解,只能按部就班的按照文档来操作,感觉就像个傻子。

所以现在就来自己编译   把里面的问题都来踩一遍
我们其实可以看看官方wiki的编译指导( https://trac.ffmpeg.org/wiki/CompilationGuide )——此页面包含一个资源列表,描述从零开始编译ffmpeg所需的必要步骤。
其中官网有一篇泛型编译指南   里面讲解的东西还是比较受用的   有兴趣的可以看看( https://trac.ffmpeg.org/wiki/CompilationGuide/Generic
我们还可以看一个参考资源( https://www.ffmpeg.org/platform.html
里面有很多平台的编译指导  
我们就分平台来试,一个是Windows  一个是linux

我们就先来说linux平台:
我们官网wiki上的指导主要分了两个支路来进行描述,但是大致的过程是一样的(命令不同而已)
其实在这个平台  编译是最简单的了
但是最简单的东西  你要是啥也不懂  那也是一头蒙
在开头  我们需要知道的就是编译  与 汇编
编译器的话  我们需要注意gcc4.2算是比较老了  为了稳妥起见  最好是升级
汇编器  我们也是需要的
然后就是  我们为什么自己编译ffmpeg   无外乎就是让他定制化  让他的功能更加符合我们的要求  这就需要安装必要的组件  
所以自己编译ffmpeg的时候   必须先将编译  汇编这两个弄好  再把需要的组件安装好  再来编译ffmpeg
我们需要的组件如果在源里面没有安装包  那就自己编译   还需要让系统找到你安装的目录     之后  我们就需要去了解ffmpeg如何去知道要什么组价了   其实就是之前的configure命令了
我自己在编译3.4.1版本的时候   ./configure --help  将显示输出的信息  做了一个记录(ffmpeg_configure_help)
我之前自己编译出现了一个问题:(自己忘了安装汇编器了)
我们在安装好需要的组件以后就开始编译ffmpeg   其实我们也可以在安装好ffmpeg后  再来升级添加一些其他的组件  在我们的编译指导的页面里也有说明
这样看来  linux平台的ffmpeg编译确实是很简单(对于里边的基本功不太懂的就要去看看了)
我下面就把我自己编译的过程贴一下(我是为了视频解码播放而编译的  里面牵涉到了x264以及SDL)

1.软件环境
操作系统环境:centos7
ffmpeg源码:  github上的master版本
x264源码: x264-20180201版本
SDL源码: SDL1.2
Yasm源码: yasm1.3.0
2.编译与安装
设置环境变量:(可以在/root/.bashrc脚本中设置,重启有效)
export PATH="$PATH:/usr/local/bin:/usr/local/yasm/bin:/usr/local/SDL/bin:/usr/local/x264/bin"
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
export C_INCLUDE_PATH="$C_INCLUDE_PATH:/usr/local/SDL/include/SDL:/usr/local/x264/include"
export LD_LIBRARY_PATH="/usr/local/lib:/usr/local/SDL/lib:/usr/local/x264/lib:$LD_LIBRARY_PATH"
2.1 yasm安装
./configure --prefix=/usr/local/yasm
make
make install
2.2 SDL安装
./configure --prefix=/usr/local/SDL
make
make install
2.3 x264安装
./configure --enable-shared --disable-asm --prefix=/usr/local/x264 
make 
make install
2.4 ffmpeg安装
./configure --enable-shared --disable-static --enable-libx264 --enable-gpl --prefix=/usr/local/ffmpeg-master
make
make install
3.安装好的库lib和头文件路径include
/usr/local/yasm
/usr/local/x264
/usr/local/SDL
/usr/local/ffmpeg-master
4. 补充.几个解码库路径:

猜你喜欢

转载自blog.csdn.net/cyq129445/article/details/80884832