FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,下面我们来给各位介绍在linux系统中ffmpeg安装配置步骤,有需要的可以和小编来看看具体步骤如下.
http://ffmpeg.org/download.html
windows版本比较容易.
Linux,安装环境CentOS,下载tar.bz2安装包.
- tar-xvfXX.tar.bz2
- yasm/nasmnotfoundortooold.Use–disable-yasmforacrippledbuild.
- Ifyouthinkconfiguremadeamistake,makesureyouareusingthelatest
- versionfromGit.Ifthelatestversionfails,reporttheproblemtothe
- ffmpeg-user@ffmpeg.orgmailinglistorIRC#ffmpegonirc.freenode.net.
- Includethelogfile“config.log”producedbyconfigureasthiswillhelp
- solvetheproblem.
- http://yasm.tortall.net/Download.html下载yasm
- tar-zxvfyasm.tar.gz
- ./configure
- make
- makeinstall
再来,ffmpeg下面 ./configure 安装完毕,发现无法将amr转成MP3.
- ./ffmpeg-ix.amrx.mp3
- ./configure–enable-libmp3lame
少这个libmp3lame:
- #wgethttp://downloads.sourceforge.net/lame/lame-3.97.tar.gz
- #tarxzflame-3.97.tar.gz
- #cdlame-3.97
- #./configure
- #make
- #makeinstall
- ERROR:libmp3lame>=3.98.3notfound
- http://downloads.sourceforge.net/lame/去这里找最新的版本,下载一个。
- 我下到的是lame-3.99.5.tar.gz
- #./configure
- #make
- #makeinstall
- ./ffmpeg-ix.amrx.mp3
- ffmpeg:errorwhileloadingsharedlibraries:libmp3lame.so.0:cannotopensharedobjectfile:Nosuchfileordirectory
- 发生这个我们这样弄
编辑/etc/ld.so.conf文件加入如下内容:
/usr/local/lib
保存退出后执行ldconfig命令,大功告成,你缺少的库,可能都在下面了,FFmpeg软件只是个解码编码软件,如果支持多种格式必须先安装好对应的库,下面就说下我装的库:
1.安装faad2
- #wgethttp://downloads.sourceforge.net/faac/faad2-2.6.1.tar.gz
- #tarxvfzfaad2-2.6.1.tar.gz
- #cdfaad2
- #./bootstrap
- #./configure
- #make
- #makeinstall
2.安装liba52
- #wgethttp://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz
- #tarxvfza52dec-0.7.4.tar.gz
- #cda52dec-0.7.4
- #./configure
- #make
- #makeinstall
3.安装libdirac
- #wgethttp://downloads.sourceforge.net/dirac/dirac-0.10.0.tar.gz
- #tarxvfzdirac-0.10.0.tar.gz
- #cddirac-0.10.0
- #./configure
- #make
- #makeinstall
4.安装faac2
- #wgethttp://downloads.sourceforge.net/faac/faac-1.26.tar.gz
- #tarxvfzfaac-1.26.tar.gz
- #cdfaac
- #./bootstrap
- #./configure
- #make
- #makeinstall
5.安装libamrnb
- #wgethttp://ftp.penguin.cz/pub/users/utx/amr/amrnb-7.0.0.2.tar.bz2
- #tarxvfjamrnb-7.0.0.2.tar.bz2
- #cdamrnb-7.0.0.2
- #./configure
- #make
- #makeinstall
6.安装libamrwb
- #wgethttp://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.3.tar.bz2
- #tarxvfjamrwb-7.0.0.3.tar.bz2
- #cdamrwb-7.0.0.3
- #./configure
- #make
- #makeinstall
7.安装libmp3lame
- #wgethttp://downloads.sourceforge.net/lame/lame-3.97.tar.gz
- #tarxzflame-3.97.tar.gz
- #cdlame-3.97
- #./configure
- #make
- #makeinstall
8.安装libx264
此软件包需要用git来获取,所以要先安装git:
- #wgethttp://kernel.org/pub/software/scm/git/git-1.6.2.tar.gz(地址要确认)
- #tarzxvfgit-1.6.2.tar.gz
- #cdgit-1.6.2
- #./configure
- #make
- #makeinstall
然后安装libx264.
- #/usr/local/bin/gitclonegit://git.videolan.org/x264.gitx264
- #cdx264
- #./configure–enable-pthread–enable-shared–disable-asm
- #make
- #makeinstall
8.安装libnut,该软件需要用svn获取源代码,svn可以直接用yum install svn来装,先下载:
# svn co svn://svn.mplayerhq.hu/nut/src/trunk libnut
下载后代码保存在新建立的libnut目录下,对于64位Linux需要修改配置文件:
- #cdlibnut
- #viconfig.mak
在最后一个CFLAGS下一行增加:CFLAGS += -fPIC 然后编译安装:
- #make
- #makeinstall
9.安装libogg
- #wgethttp://downloads.xiph.org/releases/ogg/libogg-1.1.3.tar.gz
- #tarxvflibogg-1.1.3.tar.gz
- #cdlibogg-1.1.3
- #./configure
- #make
- #makeinstall
10.安装libtheora(svn获取)
- #svncohttp://svn.xiph.org/trunk/theoratheora
- #cdtheora
- #./autogen.sh
- #./configure
- #make
- #makeinstall
11.安装libvorbis
- #wgethttp://downloads.xiph.org/releases/vorbis/libvorbis-1.2.0.tar.gz
- #tarxvfzlibvorbis-1.2.0.tar.gz
- #cdlibvorbis-1.2.0
- #./configure
- #make
- #makeinstall
12.安装libxvid
- #wgethttp://downloads.xvid.org/downloads/xvidcore-1.2.1.tar.gz
- #tarxvfxvidcore-1.2.1.tar.gz
- #cdxvidcore-1.2.1/build/generic
- #./bootstrap.sh--phpfensi.com
- #./configure–disable-assembly
- #make
- #makeinstall
上面的媒体支持库安装完后,可以设置下环境准备编译FFmpeg了.
13.修改环境变量
# vi /etc/ld.so.conf
在文件末增加一行:/usr/local/lib
然后生效之:# ldconfig
14.安装FFmpeg
可以通过svn获取,不过文件比较大,所以特别慢:
- #svncheckoutsvn://svn.mplayerhq.hu/ffmpeg/trunkffmpeg
- #cdffmpeg
- //也可以自己下载:
- #http://www.ffmpeg.org/releases/ffmpeg-0.5.tar.bz2
- #bzip2-dffmpeg-0.5.tar.bz2
- #tar-xfffmpeg-0.5.tar
- #cdffmpeg-0.5
编译(64位系统需要设置PKG_CONFIG_PATH参数):
- #exportPKG_CONFIG_PATH=/usr/local/lib/pkgconfigCFLAGS=”-fPIC-m64″
- #./configure–enable-shared\
- –enable-gpl\
- –enable-nonfree\
- –enable-postproc\
- –enable-avfilter\
- –enable-avfilter-lavf\
- –enable-pthreads\
- –enable-libamr-nb\
- –enable-libamr-wb\
- –enable-libdirac\
- –enable-libfaac\
- –enable-libfaad\
- –enable-libfaadbin\
- –enable-libmp3lame\
- –enable-libnut\
- –enable-libtheora\
- –enable-libvorbis\
- –enable-libx264\
- –enable-libxvid\
- –enable-decoder=libx264\
- –enable-encoder=libx264
- #make
- #makeinstall
14.可能出现的错误:
- /usr/include/linux/videodev.h:56:error:syntaxerrorbefore“ulong”
- /usr/include/linux/videodev.h:72:error:syntaxerrorbefore‘}’token
- libavdevice/v4l.c:Infunction`grab_read_header’:
- libavdevice/v4l.c:75:error:storagesizeof‘tuner’isn’tknown
- libavdevice/v4l.c:133:error:invalidapplicationof`sizeof’toincompletetype`video_tuner’
- libavdevice/v4l.c:140:error:invalidapplicationof`sizeof’toincompletetype`video_tuner’
- libavdevice/v4l.c:75:warning:unusedvariable`tuner’
这可能是源代码videodev.h不是针对次版本Linux写的,标准C没有ulong类型,所以要改成unsigned long.
15.运行ffmpeg -formats,可能出的错误:
- ffmpeg:errorwhileloadingsharedlibraries:libavfilter.so.0:cannotopensharedobjectfile:Nosuchfileordirectory
这事没有设置环境路径造成了,增加一个ffmpeg.conf配置文件:
- #cd/etc/ld.so.conf.d
- #viffmpeg.conf
- //在文件内写上:
- /usr/local/lib
- //然后确认生效:
- #ldconfig