您的位置:首页 > 其它

Ubuntu环境下安装FFMPEG+SDL

2016-06-22 18:02 357 查看
最近在学习FFMPEG的相关知识,在学习使用FFMPEG之前,系统环境得安装FFMPEG,对于视频相关的操作一般也需要安装SDL播放器。在我在Ubuntu12.04环境下安装FFMPEG的时候,百度一搜就各种资料。各种介绍什么安装FFMPEG之前要安装依赖库或者依赖平台,但是说为什么要依赖的介绍却很少,对了解的人来说可能一看就懂,但对我这种初入们的看起来就有点不解了。所以记录下我的搭建过程,希望对类似搭建环境得人有帮助。

1、软件卸载

如果你之前安装过ffmpeg或者x264或者因安装新的软件,而系统中支持此软件的依赖文件版本太低,都可以使用命令

sudo apt-get remove ffmpeg x264 yasm(此命令卸载了系统的ffmpeg、x264、yasm软件)。

进行软件卸载(要使用root权限)。

2、安装依赖包

当我们用ffmpeg去转码一些格式文件时,比如H264视频编码、mp3音频编码,会提示unknown encoder类似的字样,这是因为ffmpeg自身不带这种第三方编码库,需要我们自己去安装。对于不支持的情况,我们可以在ffmpeg源码中找到表现,在allcodecs.c文件中的

void avcodec_register_all(void)函数中有如下代码部分:



代码表示需要第三方库支持(external libraries),在途中我们可以看到MP3和H264这些编码器,ffmpeg都没有,需要我们自己安装。

通过以上我们要认识到一点ffmpeg不是支持所有的编解码功能,有些需要我们自己编译安装。

因为我使用到h264的编码,所以我需要在安装ffmpeg之前先安装x264的库。而在安装x264的时候,需要安装yasm软件,因为x264需要使用yasm来针对CPU架构进行优化,提高性能。

yasm安装:

sudo apt-get install yasm

或者使用wget命令去yasm源码路径去安装方法为



软件包版本号可根据需要选择。

x264安装

x264的安装我是从以下网址选择需要的版本安装的。
ftp://ftp.videolan.org/pub/x264/snapshots/
下的包为 last_x264.tar.bz2

然后执行如下操作



在编译为指定--prefix的时候,默认生成的库在/usr/local/lib目录下。

有关ffmpeg对X264编码部分的支持我们已经安装完毕。接下来我们准备安装ffmpeg。

在安装ffmpeg之前,我们得先安装SDL软件库,因为ffmpeg中的ffplay可执行程序依赖SDL软件包。

SDL安装如下:

去SDL官网下载最新源码,比如 SDL-x.x.x.tar.gz

然后解压

tar -zxvf SDL-x.x.x.tar.gz

cd SDL-x.x.x

./configure --prefix=/usr/local (指定/usr/local为安装目录)

make

sudo make install

另外,如果在configure阶段想根据需求配置更多选项,可通过./configure --help来enable或者disable选项。

FFMPEG安装

解下来就是安装ffmpeg软件包了。

ffmpeg软件包可以去官网直接下载tar.bz2包或者在系统中通过git命令去源码路径下载。

简单的三部操作如下:

tar -xjvf ffmpeg-x.x.x.tar.bz2

cd ffmpeg-x.x.x

./configure --prefix=/usr/local/ffmpeg --enable-gpl--enable-libx264 --enable-nonfree --enable-libfaac --enable-version3

make 

sudo make install

红色部分是我们使能ffmpeg支持h264的编码。

编译安装完以后,ffmpeg安装到配置时指定的/usr/local/ffmpeg目录



bin目录为可执行文件目录



lib目录为动态链接库目录



include是编程时用到的头文件

share目录应该是共享目录,这个理解不是太清楚。

到这里ffmpeg基本安装完毕了剩下的就是程序执行过程中对lib库依赖的问题了。

下面内容说的很好,我就直接引用了,但是我一般在编译的时候喜欢通过-L,-I来指定头文件和库路径。如有不对地方欢迎大家指正。



bz2  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息