在ubuntu中安装ffmpeg,实现对3gp格式的支持
由于项目中需要实现将上传视频格式转为flv和3gp。这几天研究在linux系统下安装ffmpeg,和实现对3gp格式的支持。
实验所用的系统是ubuntu 8.04
首先是ffmpeg在linux系统下的安装,首先需要获得ffmpeg的源码,我是通过svn的方式下载的,首先需要的系统中安装svn,可以参考marshal的帖子:http://bbs.easymorse.com/viewthread.php?tid=115&extra=page%3D1
首先先获得编译ffmpeg所必须的一些文件:
在ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
下载最新版本,解压,编译,安装,详细参考
https://bugs.launchpad.net/medibuntu/+bug/225060
然后checkout ffmpeg的最后版本:
Code编译:
Code基本的ffmpeg安装就算完成了,下面是增加对3gp格式的支持:
首先:
wget http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-510.zip
解压以后把里面的26204-510_ANSI-C_source_code.zip解压后的文件都拷贝到libavcodec/amrwb_float
wget http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-510.zip
解压以后把里面的26104-510_ANSI_C_source_code.zip解压后的文件都拷贝到libavcodec/amr_float
下载amr-wb包,解压,编译,安装:
Code这里增加了--enable-libamr_nb --enable-libamr_wb --enable-nonfree三个属性,网上很多文章都是说增加--enable-amr_nb --enable-amr_wb
结果加了后编译不认识这两个属性,查了很久,在一篇文章中提交,这两个命令改为--enable-libamr-nb --enable-libamr-wb ,结果编译安装都没问题,就是转换不成3gp格式的,我再查。。。正确等命令应该是--enable-libamr_nb --enable-libamr_wb 。
重新编译安装成功后,可以通过命令尝试一下将视频格式转成3gp的了:
实验所用的系统是ubuntu 8.04
首先是ffmpeg在linux系统下的安装,首先需要获得ffmpeg的源码,我是通过svn的方式下载的,首先需要的系统中安装svn,可以参考marshal的帖子:http://bbs.easymorse.com/viewthread.php?tid=115&extra=page%3D1
首先先获得编译ffmpeg所必须的一些文件:
sudo apt-get install liba52-dev libdts-dev libgsm1-dev libvorbis-dev libxvidcore4 libxvidcore-dev libdc1394-dev libfaac-dev liblame-dev libx264-dev libfaad2-dev libtheora-dev libsdl1.2-dev
这里获得的libx264-dev的版本可能不对,直接使用的话在后边的编译中会报关于libavcodec/libx264.c这个文件的错误,解决办法是在ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
下载最新版本,解压,编译,安装,详细参考
https://bugs.launchpad.net/medibuntu/+bug/225060
然后checkout ffmpeg的最后版本:
svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
cd ffmpeg
接着配置cd ffmpeg
make
安装:sudo make install
如果以上命令都没问题的话就可以测试一下了:export LD_LIBRARY_PATH=/usr/local/lib/
ffmpeg -version
安装成功的话会出现以下ffmpeg的信息(以下是我机器上的显示信息):ffmpeg -version
首先:
wget http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-510.zip
解压以后把里面的26204-510_ANSI-C_source_code.zip解压后的文件都拷贝到libavcodec/amrwb_float
wget http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-510.zip
解压以后把里面的26104-510_ANSI_C_source_code.zip解压后的文件都拷贝到libavcodec/amr_float
下载amr-wb包,解压,编译,安装:
wget http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.1.tar.bz2
tar jxvf amrwb-7.0.0.1.tar.bz2
cd amrwb-7.0.0.1
./configure --prefix=/usr/local
make
sudo make install
下载amr-nb包,解压,编译,安装:tar jxvf amrwb-7.0.0.1.tar.bz2
cd amrwb-7.0.0.1
./configure --prefix=/usr/local
make
sudo make install
wget http://ftp.penguin.cz/pub/users/utx/amr/amrnb-6.1.0.4.tar.bz2
tar jxvf amrnb-6.1.0.4.tar.bz2
cd amrnb-6.1.0.4
./configure --prefix=/usr/local
make
sudo make install
然后重新编译tar jxvf amrnb-6.1.0.4.tar.bz2
cd amrnb-6.1.0.4
./configure --prefix=/usr/local
make
sudo make install
结果加了后编译不认识这两个属性,查了很久,在一篇文章中提交,这两个命令改为--enable-libamr-nb --enable-libamr-wb ,结果编译安装都没问题,就是转换不成3gp格式的,我再查。。。正确等命令应该是--enable-libamr_nb --enable-libamr_wb 。
重新编译安装成功后,可以通过命令尝试一下将视频格式转成3gp的了:
ffmpeg -y -i 2.flv -ac 1 -acodec libamr_nb -ar 8000 -s 176x144 -b 128 -r 15 test.3gp
浙公网安备 33010602011771号