FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,下面我们来给各位介绍在linux系统中ffmpeg安装配置步骤,有需要的可以和小编来看看具体步骤如下.
http://ffmpeg.org/download.html
windows版本比较容易.
Linux,安装环境CentOS,下载tar.bz2安装包.
- tar -xvf XX.tar.bz2
- yasm/nasm not found or too old. Use –disable-yasm for a crippled build.
- If you think configure made a mistake, make sure you are using the latest
- version from Git. If the latest version fails, report the problem to the
- ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
- Include the log file “config.log” produced by configure as this will help
- solve the problem.
- http://yasm.tortall.net/Download.html 下载yasm
- tar -zxvf yasm.tar.gz
- ./configure
- make
- make install
再来,ffmpeg下面 ./configure 安装完毕,发现无法将amr转成MP3.
- ./ffmpeg -i x.amr x.mp3
- ./configure –enable-libmp3lame
少这个libmp3lame:
- # wget http://downloads.sourceforge.net/lame/lame-3.97.tar.gz
- # tar xzf lame-3.97.tar.gz
- # cd lame-3.97
- # ./configure
- # make
- # make install
- ERROR: libmp3lame >= 3.98.3 not found
- http://downloads.sourceforge.net/lame/去这里找最新的版本,下载一个。
- 我下到的是lame-3.99.5.tar.gz
- # ./configure
- # make
- # make install
- ./ffmpeg -i x.amr x.mp3
- ffmpeg: error while loading shared libraries: libmp3lame.so.0: cannot open shared object file: No such file or directory
- 发生这个我们这样弄
编辑/etc/ld.so.conf文件加入如下内容:
/usr/local/lib
保存退出后执行ldconfig命令,大功告成,你缺少的库,可能都在下面了,FFmpeg软件只是个解码编码软件,如果支持多种格式必须先安装好对应的库,下面就说下我装的库:
1.安装faad2
- # wget http://downloads.sourceforge.net/faac/faad2-2.6.1.tar.gz
- # tar xvfz faad2-2.6.1.tar.gz
- # cd faad2
- # ./bootstrap
- # ./configure
- # make
- # make install
2.安装liba52
- # wget http://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz
- # tar xvfz a52dec-0.7.4.tar.gz
- # cd a52dec-0.7.4
- # ./configure
- # make
- # make install
3.安装libdirac
- # wget http://downloads.sourceforge.net/dirac/dirac-0.10.0.tar.gz
- # tar xvfz dirac-0.10.0.tar.gz
- # cd dirac-0.10.0
- # ./configure
- # make
- # make install
4.安装faac2
- # wget http://downloads.sourceforge.net/faac/faac-1.26.tar.gz
- # tar xvfz faac-1.26.tar.gz
- # cd faac
- # ./bootstrap
- # ./configure
- # make
- # make install
5.安装libamrnb
- # wget http://ftp.penguin.cz/pub/users/utx/amr/amrnb-7.0.0.2.tar.bz2
- # tar xvfj amrnb-7.0.0.2.tar.bz2
- # cd amrnb-7.0.0.2
- # ./configure
- # make
- # make install
6.安装libamrwb
- # wget http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.3.tar.bz2
- # tar xvfj amrwb-7.0.0.3.tar.bz2
- # cd amrwb-7.0.0.3
- # ./configure
- # make
- # make install
7.安装libmp3lame
- # wget http://downloads.sourceforge.net/lame/lame-3.97.tar.gz
- # tar xzf lame-3.97.tar.gz
- # cd lame-3.97
- # ./configure
- # make
- # make install
8.安装libx264
此软件包需要用git来获取,所以要先安装git:
- # wget http://kernel.org/pub/software/scm/git/git-1.6.2.tar.gz (地址要确认)
- # tar zxvf git-1.6.2.tar.gz
- # cd git-1.6.2
- # ./configure
- # make
- # make install
然后安装libx264.
- # /usr/local/bin/git clone git://git.videolan.org/x264.git x264
- # cd x264
- # ./configure –enable-pthread –enable-shared –disable-asm
- # make
- # make install
8.安装libnut,该软件需要用svn获取源代码,svn可以直接用yum install svn来装,先下载:
# svn co svn://svn.mplayerhq.hu/nut/src/trunk libnut
下载后代码保存在新建立的libnut目录下,对于64位Linux需要修改配置文件:
- # cd libnut
- # vi config.mak
在最后一个CFLAGS下一行增加:CFLAGS += -fPIC 然后编译安装:
- # make
- # make install
9.安装libogg
- # wget http://downloads.xiph.org/releases/ogg/libogg-1.1.3.tar.gz
- # tar xvf libogg-1.1.3.tar.gz
- # cd libogg-1.1.3
- # ./configure
- # make
- # make install
10.安装libtheora(svn获取)
- # svn co http://svn.xiph.org/trunk/theora theora
- # cd theora
- # ./autogen.sh
- # ./configure
- # make
- # make install
11.安装libvorbis
- # wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.2.0.tar.gz
- # tar xvfz libvorbis-1.2.0.tar.gz
- # cd libvorbis-1.2.0
- # ./configure
- # make
- # make install
12.安装libxvid
- # wget http://downloads.xvid.org/downloads/xvidcore-1.2.1.tar.gz
- # tar xvf xvidcore-1.2.1.tar.gz
- # cd xvidcore-1.2.1/build/generic
- # ./bootstrap.sh --Vevb.com
- # ./configure –disable-assembly
- # make
- # make install
上面的媒体支持库安装完后,可以设置下环境准备编译FFmpeg了.
13.修改环境变量
# vi /etc/ld.so.conf
在文件末增加一行:/usr/local/lib
然后生效之:# ldconfig
14.安装FFmpeg
可以通过svn获取,不过文件比较大,所以特别慢:
- # svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
- # cd ffmpeg
- //也可以自己下载:
- # http://www.ffmpeg.org/releases/ffmpeg-0.5.tar.bz2
- # bzip2 -d ffmpeg-0.5.tar.bz2
- # tar -xf ffmpeg-0.5.tar
- # cd ffmpeg-0.5
编译(64位系统需要设置PKG_CONFIG_PATH参数):
- # export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig CFLAGS=”-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
- # make install
14.可能出现的错误:
- /usr/include/linux/videodev.h:56: error: syntax error before “ulong”
- /usr/include/linux/videodev.h:72: error: syntax error before ‘}’ token
- libavdevice/v4l.c: In function `grab_read_header’:
- libavdevice/v4l.c:75: error: storage size of ‘tuner’ isn’t known
- libavdevice/v4l.c:133: error: invalid application of `sizeof’ to incomplete type `video_tuner’
- libavdevice/v4l.c:140: error: invalid application of `sizeof’ to incomplete type `video_tuner’
- libavdevice/v4l.c:75: warning: unused variable `tuner’
这可能是源代码videodev.h不是针对次版本Linux写的,标准C没有ulong类型,所以要改成unsigned long.
15.运行ffmpeg -formats,可能出的错误:
- ffmpeg: error while loading shared libraries:libavfilter.so.0: cannot open shared object file: No such file or directory
这事没有设置环境路径造成了,增加一个ffmpeg.conf配置文件:
- # cd /etc/ld.so.conf.d
- # vi ffmpeg.conf
- //在文件内写上:
- /usr/local/lib
- //然后确认生效:
- # ldconfig
新闻热点
疑难解答