我正在逐渐掌握ffmpeg的视频转换,但卡住了。我在共享主机上。我可以用简单的代码转换,如 -
ffmpeg -i out.avi -acodec copy -vcodec copy output.mp4
我需要转换为html5视频格式,但每当我使用这样的代码时,我总会得到相同类型的错误'无法识别的选项c:v'或'无法识别的选项b'。我的ffmpeg版本太旧了吗?请帮忙。
exec("/usr/bin/ffmpeg -i input -c:v libx264 -preset slow -crf 18 -vf yadif -strict -2 output.mp4");
array(31) { [0]=> string(67) "FFmpeg version 0.6.5, Copyright (c) 2000-2010 the FFmpeg developers"
[1]=> string(74) " built on Jan 29 2012 23:55:02 with gcc 4.1.2 20080704 (Red Hat 4.1.2-51)"
[2]=> string(649) " configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64
--mandir=/usr/share/man --incdir=/usr/include --disable-avisynth --extra-cflags='-O2 -g -pipe
-Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64
-mtune=generic -fPIC' --enable-avfilter --enable-avfilter-lavf --enable-libdirac --enable-libfaac
--enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc
--enable-pthreads --enable-shared --enable-swscale --enable-vdpau --enable-version3 --enable-x11grab"
[3]=> string(35) " libavutil 50.15. 1 / 50.15. 1" [4]=> string(35) " libavcodec 52.72. 2 / 52.72. 2"
[5]=> string(35) " libavformat 52.64. 2 / 52.64. 2" [6]=> string(35) " libavdevice 52. 2. 0 / 52. 2. 0"
[7]=> string(35) " libavfilter 1.19. 0 / 1.19. 0" [8]=> string(35) " libswscale 0.11. 0 / 0.11. 0"
[9]=> string(35) " libpostproc 51. 2. 0 / 51. 2. 0" [10]=> string(72) "[flv @ 0xb278b0]Estimating
duration from bitrate, this may be inaccurate" [11]=> string(0) "" [12]=> string(99) "Seems stream 0
codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 25.00 (25/1)" [13]=> string(42)
"Input #0, flv, from 'destinationfile.flv':" [14]=> string(11) " Metadata:" [15]=> string(23) " duration :
6" [16]=> string(25) " width : 320" [17]=> string(25) " height : 240" [18]=> string(25) " videodatarate :
195" [19]=> string(24) " framerate : 25" [20]=> string(23) " videocodecid : 2" [21]=> string(24) "
audiodatarate : 31" [22]=> string(27) " audiosamplerate : 22050" [23]=> string(24) " audiosamplesize :
16" [24]=> string(27) " stereo : false" [25]=> string(23) " audiocodecid : 2" [26]=> string(28) "
filesize : 352720" [27]=> string(59) " Duration: 00:00:05.64, start: 0.000000, bitrate: 232 kb/s"
[28]=> string(79) " Stream #0.0: Video: flv, yuv420p, 320x240, 200 kb/s, 25 tbr, 1k tbn, 1k tbc"
[29]=> string(63) " Stream #0.1: Audio: mp3, 22050 Hz, 1 channels, s16, 32 kb/s" [30]=> string(25)
"Unrecognized option 'c:v'" }
答案 0 :(得分:2)
是的,这是FFmpeg 0.6.5(自2012年1月起),当前(2015年4月)版本为2.6.2,因此请更新版本。
答案 1 :(得分:0)
-c:v
与-vcodec
相同。但是,你应该升级。除了参数解析之外,还有很多变化。