linux下FFmpeg安装流程.docx
《linux下FFmpeg安装流程.docx》由会员分享,可在线阅读,更多相关《linux下FFmpeg安装流程.docx(12页珍藏版)》请在冰豆网上搜索。
![linux下FFmpeg安装流程.docx](https://file1.bdocx.com/fileroot1/2023-1/9/84286c11-abe7-4365-ae7d-d37946ab4917/84286c11-abe7-4365-ae7d-d37946ab49171.gif)
linux下FFmpeg安装流程
通过svn下载:
从下载SVN客户端程序。
先装subversion,确保已经安装了apr和apr-util,在网站能下到
wgetzvxf
cd
./configure--with-apr=/usr/local/apr-httpd--with-apr-util=/usr/local/apr-util-httpd/ make;makeinstall
到此,我们就可以通过svn命令获取最新的ffmpeg了
svncheckoutffmpeg
/
你会发现在你所在的目录,自动出现一个ffmpeg的目录,就是你下载的源代码。
我们还不能这么快编译ffmpeg,应该如果要让ffmpeg支持更多格式的转换,还需做一些前期工作
2.支持mp3,linux当然是lame,下载解压
cd ./configure--enable-shared--prefix=/usr make;makeinstall
这里推荐尽量装在/usr下,默认是装在/usr/local下。
这样ffmpeg编译都能顺利的找到库文件
3.支持OggVorbis:
as4自带相应的rpm包,你可以安装一下如下rpm包
…
libvorbis,libvorbis-devel,libogg,libogg-devel
4.支持xvidx264,现在最流行的两种高质量的压缩格式
xvid的编译安装
wget tarzvxf ./configure--prefix=/usr make;makeinstall
x264的获取同样是采用svn方式
&
svncox264 cdx264 ./configure--prefix=/usr--enable-shared make;makeinstall
和dts编码的支持
as4系统似乎已经支持ac3编码,编译的时候只要加--enable-a52--enable-gpl参数就行
libdts编译参数
./configure--prefix=/usr make;makeinstall
aac格式支持,由于服务器还针对手机用户服务,所以,类似aac,mpg4铃声格式的支持,我们也得做。
这里我们安装faad2和faac就行
,
下载请到 FAAD2的编译
cdfaad2 autoreconf-vif ./configure--prefix=/usr--with-mp4v2--enable-shared make;makeinstall
faac的编译
cdfaac chmod+xbootstrap ./bootstrap ./configure--prefix=/usr--with-mp4v2--enable-shared make;makeinstall
7.支持3gp格式,这也是现在好多手机支持的格式,因为手机用户是我们的主要用户,所以也得支持编译
!
编译的时候加上--enable-amr_nb--enable-amr_wb参数就行,根据编译系统的提示,所以我们得下载一些编译3gp所需得文件。
wget...
解压以后把里面的文件都拷贝到libavcodec/amrwb_float
wget...
解压以后把里面的文件都拷贝到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-ffplaymake;makeinstall
具体查看./configure-help
补充1:
关于3gp的编译,如果大家要编译--enable-amr_nb-fixed,那就不能跟--enable-amr_nb同时编译,我不大清楚这两者到底有什么区别,似乎fixed是修正版,管他呢,编译的方法:
wget...
解压以后把里面的文件都拷贝到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
makeinstall
补充2:
有朋友说在当在cpu是x86的情况下,不能编译过去,我这里没发生过这情况,如果你真编译不过去,可以试着加上cpu=cpu
补充3:
?
对于rm、wmv可以用wmplayer提供的Mencoder来处理
下面的是运行./configure相关配置打印出的信息:
installprefix /usr/local
sourcepath /mntlignispower-of-two no
ARCH x86(generic)
big-endian no
yasm no
MMXenabled yes
MMX2enabled yes
3DNow!
enabled yes
3DNow!
extendedenabled yes
SSEenabled yes
SSSE3enabled yes
CMOVenabled yes
CMOVisfast yes
EBXavailable yes
EBPavailable yes
10operandssupported yes
gprofenabled no
debugsymbols yes
stripsymbols yes
optimizations yes
static yes
shared yes
postprocessingsupport no
softwarescalerenabled no
newfiltersupport no
filtersusinglavformat no
videohooking yes
Imlib2support no
FreeTypesupport yes
networksupport yes
IPv6support yes
threadingsupport no
SDLsupport yes
Sunmedialibsupport no
AVISynthenabled no
libamr-nbsupport no
libamr-wbsupport no
libdc1394support no
libdiracenabled no
libfaacenabled no
libfaadenabled no
libfaaddlopened no
libgsmenabled no
libmp3lameenabled no
libnutenabled no
libopenjpegenabled no
libschroedingerenabled no
libspeexenabled no
libtheoraenabled no
libvorbisenabled no
libx264enabled no
libxvidenabled no
vdpauenabled no
zlibenabled yes
bzlibenabled yes
Enableddecoders:
aac flashsv pcm_u16le
aasc flic pcm_u24be
adpcm_4xm flv pcm_u24le
adpcm_adx fourxm pcm_u32be
adpcm_ct fraps pcm_u32le
adpcm_ea gif pcm_u8
adpcm_ea_maxis_xah261 pcm_zork
adpcm_ea_r1 h263 pcx
adpcm_ea_r2 h263i png
adpcm_ea_r3 h264 ptx
adpcm_ea_xas huffyuv qcelp
adpcm_g726 idcin qdm2
adpcm_ima_amv imc qdraw
adpcm_ima_dk3 indeo2 qpeg
adpcm_ima_dk4 indeo3 qtrle
adpcm_ima_ea_eacsinterplay_dpcm ra_144
adpcm_ima_ea_seadinterplay_video ra_288
adpcm_ima_iss jpegls rawvideo
adpcm_ima_qt kmvc rl2
adpcm_ima_smjpegloco roq
adpcm_ima_wav mace3 roq_dpcm
adpcm_ima_ws mace6 rpza
adpcm_ms mdec rv10
adpcm_sbpro_2 mimic rv20
adpcm_sbpro_3 mjpeg rv30
adpcm_sbpro_4 mjpegb rv40
adpcm_swf mlp sgi
adpcm_thp mmvideo shorten
adpcm_xa motionpixels smackaud
adpcm_yamaha mp1 smacker
alac mp2 smc
amv mp3 snow
ape mp3adu sol_dpcm
asv1 mp3on4 sonic
asv2 mpc7 sp5x
atrac3 mpc8 sunrast
avs mpeg1video svq1
bethsoftvid mpeg2video svq3
bfi mpeg4 targa
bmp mpeg_xvmc theora
c93 mpegvideo thp
cavs msmpeg4v1 tiertexseqvideo
cinepak msmpeg4v2 tiff
cljr msmpeg4v3 truemotion1
cook msrle truemotion2
cscd msvideo1 truespeech
cyuv mszh tscc
dca nellymoser tta
dnxhd nuv txd
dsicinaudio pcm_alaw ulti
dsicinvideo pcm_dvd vb
dvbsub pcm_f32be vc1
dvdsub pcm_f32le vcr1
dvvideo pcm_f64be vmdaudio
dxa pcm_f64le vmdvideo
eacmv pcm_mulaw vmnc
eatgq pcm_s16be vorbis
eatgv pcm_s16le vp3
eatqi pcm_s16le_planarvp5
eightbps pcm_s24be vp6
eightsvx_exp pcm_s24daud vp6a
eightsvx_fib pcm_s24le vp6f
escape124 pcm_s32be vqa
ffv1 pcm_s32le wavpack
ffvhuff pcm_s8 wmav1
flac pcm_u16be wmav2
wmv1 ws_snd1 xsub
wmv2 xan_dpcm zlib
wmv3 xan_wc3 zmbv
wnv1 xl
Enabledencoders:
ac3 mp2 pcm_u32be
adpcm_adx mpeg1video pcm_u32le
adpcm_g726 mpeg2video pcm_u8
adpcm_ima_qt mpeg4 pcm_zork
adpcm_ima_wav msmpeg4v1 pgm
adpcm_ms msmpeg4v2 pgmyuv
adpcm_swf msmpeg4v3 png
adpcm_yamaha nellymoser ppm
alac pam qtrle
asv1 pbm rawvideo
asv2 pcm_alaw roq
bmp pcm_f32be roq_dpcm
dnxhd pcm_f32le rv10
dvbsub pcm_f64be rv20
dvdsub pcm_f64le sgi
dvvideo pcm_mulaw snow
ffv1 pcm_s16be sonic
ffvhuff pcm_s16le sonic_ls
flac pcm_s24be svq1
flashsv pcm_s24daud targa
flv pcm_s24le tiff
gif pcm_s32be vorbis
h261 pcm_s32le wmav1
h263 pcm_s8 wmav2
h263p pcm_u16be wmv1
huffyuv pcm_u16le wmv2
jpegls pcm_u24be zlib
ljpeg pcm_u24le zmbv
mjpeg
Enabledparsers:
aac dvdsub mpeg4video
ac3 h261 mpegaudio
cavsvideo h263 mpegvideo
dca h264 pnm
dirac mjpeg vc1
dnxhd mlp vp3
dvbsub
Enableddemuxers:
aac iss pcm_u16be
ac3 lmlm4 pcm_u16le
aiff m4v pcm_u24be
amr matroska pcm_u24le
apc mjpeg pcm_u32be
ape mlp pcm_u32le
asf mm pcm_u8
ass mmf pva
au mov r3d
avi mp3 rawvideo
avs mpc redir
bethsoftvid mpc8 rl2
bfi mpegps rm
c93 mpegts roq
daud mpegtsraw rpl
dirac mpegvideo rtsp
dnxhd msnwc_tcp sdp
dsicin mtv segafilm
dts mvi shorten
dv mxf siff
dxa nc smacker
ea nsv sol
ea_cdata nut str
eac3 nuv swf
ffm ogg thp
flac oma tiertexseq
flic pcm_alaw tta
flv pcm_f32be txd
fourxm pcm_f32le vc1
gsm pcm_f64be vc1t
gxf pcm_f64le vmd
h261 pcm_mulaw voc
h263 pcm_s16be wav
h264 pcm_s16le wc3
idcin pcm_s24be wsaud
iff pcm_s24le wsvqa
image2 pcm_s32be wv
image2pipe pcm_s32le xa
ingenient pcm_s8 yuv4mpegpipe
ipmovie
Enabledmuxers:
ac3 ipod pcm_f64le
adts m4v pcm_mulaw
aiff matroska pcm_s16be
amr matroska_audio pcm_s16le
asf mjpeg pcm_s24be
asf_stream mmf pcm_s24le
ass mov pcm_s32be
au mp2 pcm_s32le
avi mp3 pcm_s8
avm2 mp4 pcm_u16be
crc mpeg1system pcm_u16le
daud mpeg1vcd pcm_u24be
dirac mpeg1video pcm_u24le
dnxhd mpeg2dvd pcm_u32be
dts mpeg2svcd pcm_u32le
dv mpeg2video pcm_u8
eac3 mpeg2vob psp
ffm mpegts rawvideo
flac mpjpeg rm
flv mxf roq
framecrc mxf_d10 rtp
gif null swf
gxf nut tg2
h261 ogg tgp
h263 pcm_alaw vc1t
h264 pcm_f32be voc
image2 pcm_f32le wav
image2pipe pcm_f64be yuv4mpegpipe
Enabledprotocols:
file pipe tcp
gopher rtp udp
http
Enabledfilters:
crop
(
Enabledbsfs:
dump_extradata mov2textsub noise
h264_mp4toannexbmp3_header_compressremove_extradata
imx_dump_header mp3_header_decompresstext2movsub
mjpega_dump_header
Enabledindevs:
alsa oss v4l2
dv1394 v4l
Enabledoutdevs:
alsa oss
License:
LGPL
Creatingand...
[root@localhostsource_svn]#
[root@localhostsource_svn]#
[root@localhostsource_svn]#make
[root@localhostsource_svn]#
[root@localhostsource_svn]#
[root@localhostsource_svn]#makeinstall
现在通过包含FFmpeg的头文件,和使用上述三个lib文件进行链接,就能够编写具备FFmpeg功能的