在Ubuntu成功编译FFmpeg并生成ffplay


编译这个东西真的很纠结,也很辛苦啊,但总算成功了,相当高兴呵呵,下面的内容是参加一下网站上的博客,我根据我的实践补充一下:

ffmpeg 是很强大的编解码库,可以编解码视频和音频。通俗的说是可以做播放器。我的是Ubuntu Linux 11.04(我觉得Linux版本没有什么关系,只不过是SDL库对ffplay的生成很重要)

下面是安装步骤:

我们从官方下载 FFmpeg 0.8.7 "Love"版本: http://ffmpeg.org/releases/ffmpeg-0.8.7.tar.gz

(其他低于这个版本ffmpeg生成的ffplay视频音频不同步。)

然后按照以下步骤进行安装:

1、安装SDL库(不安装将没有ffplay)(如果自己去下载SDL源码然后make install安装的库,编译ffmpeg可以产生ffplay,但是产生的ffplay播放视频没有声音。而且不能播音频)。以及其他的一些库。

$sudo apt-get install build-essential subversion git-core checkinstall yasm texi2html libfaac-dev libfaad-dev libMP3lame-dev libsdl1.2-dev libtheora-dev libx11-dev libxvidcore4-dev zlib1g-dev

(subversion和git-core 是软件管理工具,安装了可以方便下载源码,他们就是对应的svn和git)

2、装x264(需要通过源码进行安装)

$git clone git://git.videolan.org/x264.git
$cd x264
$./configure
$make
$sudo make install

3、解压ffmpeg-0.8.7.tar.gz

$cd ffmpeg-0.8.7

$./configure --enable-memalign-hack --enable-static(如果不行试试$./configure --enable-memalign-hack --enable-ffplay)

遇到问题:

查看config.mak文件,找到 CONFIG_FFPLAY 一行,发现前面总是有!

结果make 怎么都出错,报告ffplay.c编译错误

解决:重装了SDL

Ubuntu的新得立已经包含SDL库,所以通过几个简单的命令就可以安装,比windows还傻瓜!

sudo apt-get install libsdl1.2-dev(比较大,10M左右)

附加包:

sudo apt-get install libsdl-image1.2-dev

sudo apt-get install libsdl-mixer1.2-dev

sudo apt-get install libsdl-ttf2.0-dev

sudo apt-get install libsdl-gfx1.2-dev

安装完成之后,在目录/usr/include中,就会有个SDL文件夹,里面包含了所需要的头文件。

4、编译

$make

$sudo make install

现在发现终于OK啦!

5、测试

$./ffplay hello.mpg

可以看到视频啵?可以听到声音啵?

嘿嘿,可以吧!

参考

相关内容