`
weiyuhu
  • 浏览: 231405 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

linux下安装ffmpeg过程

阅读更多
最近互联网视频共享的网站很火,公司也想搞类似的网站,初步是用fms+ffmpeg形式

fms负责在线录制,播放,ffmpeg则在后台处理上传的资源转换成一定的格式。

为了让ffmpeg支持的格式尽量多,所以特把我的编译笔记分享一下

环境:redhat as4

1。首先获取ffmpeg

很多人找不到怎么下载,其实之前ffmpeg可以通过cvs下载,不过最近他已经换成了更加强大的svn

如何使用SVN我这里不再介绍,网上还有大量的安装和使用的文章可以借鉴,这里简单罗列几个SVN辅助的软件:

SubVersion,从 http://subversion.tigris.org/ 下载,支持linux,我们这里就装这个

TortoiseSVN,从 http://tortoisesvn.tigris.org/ 下载,是很不错的SVN客户端程序,为windows外壳程序集成到windows资源管理器和文件管理系统的Subversion客户端,用起来很方便,commit动作变得就像Winrar右键压缩一样方便。


ok,那我们先装subversion,记住最好之前装过apr和apr-util,在apache.org网站能下到

wget http://subversion.tigris.org/downloads/subversion-1.3.2.tar.gz
tar zvxf subversion-1.3.2.tar.gz
cd subversion-1.3.2
./configure --with-apr=/usr/local/apr-httpd --with-apr-util=/usr/local/apr-util-httpd/
make
make install


到此,我们就可以通过svn命令获取最新的ffmpeg了

svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

你会发现在你所在的目录,自动出现一个ffmpeg的目录,就是你下载的源代码。


我们还不能这么快编译ffmpeg,应该如果要让ffmpeg支持更多格式的转换,还需做一些前期工作


2.支持mp3,linux当然是lame,下载解压

cd lame-3.96.1
./configure --enable-shared --prefix=/usr
这里推荐尽量装在/usr下,默认是装在/usr/local下。这样ffmpeg编译都能顺利的找到库文件

//3以后的都没安装成功,不知是否系统不同的原因
3.支持Ogg Vorbis:
as4自带相应的rpm包,你可以安装一下如下rpm包
libvorbis, libvorbis-devel,libogg, libogg-devel


4.支持xvid x264,现在最流行的两种高质量的压缩格式
xvid的编译安装
wget http://downloads.xvid.org/downloads/xvidcore-1.1.0.tar.gz
tar zvxf xvidcore-1.1.0.tar.gz
./configure --prefix=/usr
make
make install

x264的获取同样是采用svn方式,看来svn取代cvs不远了
svn co svn://svn.videolan.org/x264/trunk x264
cd x264
./configure --prefix=/usr --enable-shared
make
make install


5.AC3和dts编码的支持
as4系统似乎已经支持ac3编码,编译的时候只要加--enable-a52 --enable-gpl参数就行

libdts编译参数
./configure --prefix=/usr
make
make install


6.mpg4 aac格式支持,由于服务器还针对手机用户服务,所以,类似aac,mpg4铃声格式的支持,我们也得做。这里我们安装faad2和faac就行
下载请到http://www.audiocoding.com/modules/mydownloads/

FAAD2的编译
cd faad2
autoreconf -vif
./configure --prefix=/usr --with-mp4v2 --enable-shared
make
make install

faac的编译
cd faac
chmod +x bootstrap
./bootstrap
./configure --prefix=/usr --with-mp4v2 --enable-shared
make
make install


7.支持3gp格式,这也是现在好多手机支持的格式,因为手机用户是我们的主要用户,所以也得支持编译

编译的时候加上--enable-amr_nb --enable-amr_wb参数就行,根据编译系统的提示,所以我们得下载一

些编译3gp所需得文件。

wget http://www.3gpp.org/ftp/Specs/ar ... 6.204/26204-510.zip
解压以后把里面的文件都拷贝到libavcodec/amrwb_float

wget http://www.3gpp.org/ftp/Specs/ar ... 6.104/26104-510.zip
解压以后把里面的文件都拷贝到libavcodec/amr_float


好了,基本ffmpeg支持的格式,我们基本都做好前期准备了,下面是ffmpeg的编译


./configure --prefix=/usr --enable-gpl --enable-shared --enable-mp3lame --enable-amr_nb --enable-amr_wb --enable-amr_if2 --enable-libogg --enable-vorbis --enable-xvid --enable-a52 --enable-a52bin --enable-faadbin --enable-dts --enable-pp --enable-faad --enable-faac --enable-x264 --enable-pthreads --disable-ffserver --disable-ffplay
make
make install

补充1:
关于3gp的编译,如果大家要编译--enable-amr_nb-fixed,那就不能跟--enable-amr_nb同时编译,我不大清楚这两者到底有什么区别,似乎fixed是修正版,管他呢,编译的方法:
wget http://www.3gpp.org/ftp/Specs/ar ... 6.073/26073-510.zip
解压以后把里面的文件都拷贝到libavcodec/amr目录下

修改libavcodec/amr/makefile 找到CFLAGS = -Wall -pedantic-errors -I. $(CFLAGS_$(MODE)) -D$(VAD) 换成CFLAGS = -Wall -I. $(CFLAGS_$(MODE)) -D$(VAD) -DMMS_IO

整体编译参数就是
./configure --prefix=/usr --enable-gpl --enable-shared --enable-mp3lame --enable-amr_nb-fixed --enable-amr_wb --enable-amr_if2 --enable-libogg --enable-vorbis --enable-xvid --enable-a52 --enable-a52bin --enable-dts --enable-pp --enable-faad --enable-faadbin --enable-faac --enable-x264 --enable-pthreads --disable-ffserver --disable-ffplay
make
make install

补充2:
有朋友说在当在cpu是x86的情况下,不能编译过去,我这里没发生过这情况,如果你真编译不过去,可以试着加上cpu=cpu

ok,一个强大的ffmpeg编译好了,不过目前管方的ffmpeg还不支持wma9和rmvb,不过网上有很多解决方法,大家去自己找找。


我的编译的环境suse
1.tar zxvf lame-3.97b2.tar.gz
2.cd lame-3.97
3./configure
4 make
5 make install
6 cd ffmpeg
7 ./configure --enable-mp3lame --enable-small
8. make
9 make install

编译后的运行:
./ffmpeg -i "**/**.avi" -y -f image2 -t 0.001 -s 300*200 "**/test.jpg"

./ffmpeg -i "**/**.avi" -y -ab 56 -ar 22050 -b 500 -r 15 -s 320*240 "**/test.flv"

./fmpeg -i "**/**.avi" "**/test.mpg"
分享到:
评论

相关推荐

    linux下安装FFMPEG全纪录

    在linux下编译安装FFMPEG全过程(图文)

    Linux下FFmpeg的安装包

    这是我在Centos6.5上安装FFmpeg的过程讲解和配置信息,已经在Cengtos6.5上成功安装使用

    FFmpeg在Linux下安装编译过程.pdf

    linux服务器上安装ffmpeg教程,PDF文件版本,流程简单便捷

    Linux系统中安装FFmpeg过程记录-附件资源

    Linux系统中安装FFmpeg过程记录-附件资源

    linux下shell自动编译安装git下载的ffmpeg源码

    ffmpeg官网上的doc帮助更新很快,但是实际放出的编译好的release并不支持,我就是在实际运用ffmpeg编码为hls过程中遇到问题,帮助中说支持生成key,结果不支持。问了stackfollow后才知道doc更新比release快。为此我...

    Linux-OpenCV-FFmpeg-OpenGL-配置-安装-part1

    是Linux上安装FFmpeg、Opencv、OpenGL的批处理(只是简单地将多条命令放到一起而已,有些依赖可能会随着时间的推移而有更新版本,如果安装过程中出现任何错误,可以根据提示单独下载更新的依赖。)祝Linux学习愉快!

    从ffmpeg中抽取的h264解码器,可用于Linux和windows

    该资源是从ffmpeg中抽取的h264解码器,是一个vc工程文件,但同样经过修改后可以在Linux下运行,修改过程只需要对每个.c文件进行编译即可

    ffmpeg-2.4.3.tar.bz2

    linux 下安装ffmpeg ffmpeg包 同时可查阅本人博客 “Linux 下完整安装ffmpeg(包括各种解码器)”,提供linux下ffmpeg的安装步骤以及安装过程中出现的问题处理记录。

    ffmpeg编译过程出错总结.zip_ffmpeg_ffmpeg 编译_ffmpeg编译总结

    在linux下编译ffmpeg,总结ffmpeg本地编译过程出现的错误

    安装opencv所需文件(xvid,x264,ffmpeg等)

    对于linux下使用opencv不像windows那么方便,尤其整个安装过程,更甚者对于linux下opencv安装过程中要包含进去视频开发部分对于初学者来说是比较困难的。 这里是安装linux下opencv,并要使opencv包含视频开发(如使用...

    ffmpeg-static:适用于Mac OSX,Linux和Windows的ffmpeg静态二进制文件

    注意:在安装过程中,它将从下载相应的ffmpeg二进制文件。 FFmpeg二进制发行版的使用和分发受其各自的许可证管辖。 电子及其他跨平台包装工具 由于ffmpeg-static将下载特定于操作系统/平台的二进制文件,因此您需要...

    FFMPEG在arm-linux平台上的应用,有一个捕捉webcam摄像视频的例程代码

    整个过程比较耗时, 工作量巨大。为减小移植工作量, 可引人f f m p e g 音视频 开发包, 在开发包基础上进行开发可以免去第一阶段工 作, 并减少部分第二阶段的工作。f f mp e g是一个优秀的 音视频解决方案, 在此...

    使用FFmpeg将RGB格式图片或视频转换为YUV格式

    VC2008项目打包,使用FFmpeg版本为2.2.2 win32bit /* *将RGB转换为YUV420P * *码术 codemanship ...*微信公众号: codemanship *本程序实现了RGB像素数据转换为...*通过学习本例子可以了解FFmpeg的图片格式转换的过程。 */

    CentOS 5.3安装ffmpeg备忘录

    包含CentOS5.3环境下编译FFmepg开源项目的过程记录与依赖的源码包。FFmpeg 是一个用来记录,转换,流媒体audio和video的开源库,在Linux下开发,但可以在许多操作系统下编译,包括Windows 。

    FFmpeg各个平台动态库

    1.本资源为交叉编译后的文件,不包含编译过程 2.包含 安卓端,Linux_x86端 aarch64 端的资源、 3.都是动态库

    node-ffmpeg-installer:FFmpeg的与平台无关的二进制安装程序,用于节点项目

    节点ffmpeg安装程序 独立于平台的二进制安装程序,用于节点项目... 另请参见下面的“安装过程中的警告”。 安装 npm install --save @ffmpeg-installer/ffmpeg 用法示例 const ffmpeg = require ( '@ffmpeg-installer/f

    amrnb-11.0.0.0.tar.bz2

    linux 下安装ffmpeg 所需解码器包 同时可查阅本人博客 “Linux 下完整安装ffmpeg(包括各种解码器)”,提供linux下ffmpeg的安装步骤以及安装过程中出现的问题处理记录。

    last_x264.tar.bz2

    linux 下安装ffmpeg 所需解码器包 同时可查阅本人博客 “Linux 下完整安装ffmpeg(包括各种解码器)”,提供linux下ffmpeg的安装步骤以及安装过程中出现的问题处理记录。

    libdca-0.0.2.tar.gz

    linux 下安装ffmpeg 所需解码器包 同时可查阅本人博客 “Linux 下完整安装ffmpeg(包括各种解码器)”,提供linux下ffmpeg的安装步骤以及安装过程中出现的问题处理记录。

Global site tag (gtag.js) - Google Analytics