快速业务通道

Ubuntu 下编译ffmpeg和x264解编码器

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-11

Ubuntu(Linux)下编译ffmpeg(svn版)和x264(git版)解编码器

ffmpeg是一款多媒体视频和音频文件解码和编码的工具,用来提供众多的多媒体(主要指视频和音频)文件的播放和转换支持.x264是一个编解码H264视频格式的库文件,相比较xvid或者其它流行的编解码器转换效率和转换后的画面质量都更加优异.Avidemux, VLC Player, MEncoder, 和Handbrake中都可利用x264库文件.

尽管ffmpeg和x264存在于Ubuntu的软件仓库中,但是实际上通过Uuntu软件仓库apt-get方式安装的ffmpeg是不完整的的版本,仍需要我们通过自行编译才能提供对更多视频、音频格式(例如3gp)转换支持.

获取相应的依赖软件

1. 请确认在软件源中已经添加了相应的Universe和Multiverse软件源,目的是我们要通过软件仓库来解决x264和ffmpeg的依赖文件.

2. 接下来如果您之前安装了x264,libx264-dev和ffmpeg请先把它卸载,打开X终端或控制台运行下面的命令:

sudo apt-get purge ffmpeg x264 libx264-dev

下面的步骤我们会安装依赖软件及其它编译所需要的软件

对于Ubuntu的版本:Intrepid Ibex 8.10

命令:

sudo apt-get update
sudo apt-get install build-essential subversion git-core checkinstall yasm texi2html libfaad-dev libfaac-dev libmp3lame-dev libtheora-dev

对于Ubuntu的版本:Hardy Heron 8.04:

命令:

sudo apt-get update
sudo apt-get install build-essential subversion git-core checkinstall texi2html libfaad-dev libfaac-dev liblame-dev libtheora-dev

Intrepid Ibex 8.10 和 Hardy Heron 8.04都用到的依赖包:

libsdl1.2-dev: 运行 ffplay需要 拥有帝国一切,皆有可能。欢迎访问phome.net

libfaad-dev libfaac-dev libmp3lame-dev libtheora-dev libvorbis-dev libxvidcore4-dev libschroedinger-dev libspeex-dev libgsm1-dev: ffmpeg开发应用到的一些文件,其中一些已经在ffmpeg的源码中包含,如果系统中包含且版本太低,可能会导致安装失败(不常见).

3. 使用Ubuntu版本为Hardy Heron 8.04请注意下.请最好先安装yasm(一个汇编编译软器,和gcc类似).它可以优化x264的代码.当然即便没有yasm,也可以在编译过程中加入–disable-asm参数来编译,不过这样得到的x264运行效率会稍差一些.

好像在Ubuntu Hardy Heron 8.04软件仓库中的Yasm的版本是0.5.0,而最新版本的x264的汇编编译部分需要yasm的版本至少为0.6.1,否则在执行编译命令时会提示:Minimum version is yasm-0.6.1.这时我们可以通过执行:

命令:

cd ~/
wget http://www.tortall.net/projects/yasm/releases/yasm-0.7.2.tar.gz
tar xzvf yasm-0.7.2.tar.gz
cd yasm-0.7.2
./configure
make
sudo checkinstall

来自行下载并编译相应的软件

安装x264

4. 获取最新版本的x264并编译安装,我们在这里通过git命令获取:

cd ~/
git clone git://git.videolan.org/x264.git

开始编译并安装

cd x264
./configure --enable-shared
make
sudo checkinstall --fstrans=no --install=yes --pkgname=x264 --pkgversion "1:0.svn`date %Y%m%d`-0.0ubuntu1"
sudo ldconfig

更多编译参数请执行./configure –help查看...

安装ffmpeg

5. 通过svn命令获取最新版本的ffmpeg:

拥有帝国一切,皆有可能。欢迎访问phome.netsvn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg

开始编译并安装:

svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
cd ffmpeg
./configure --enable-gpl --enable-postproc --enable-pthreads --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libtheora --enable-libx264
make
sudo checkinstall --fstrans=no --install=yes --pkgname=ffmpeg --pkgversion "3:0.svn`date %Y%m%d`-12ubuntu3"

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号