尝试转换视频时无法识别选项“b:v”

尝试转换视频时无法识别选项“b:v”

b:v当我尝试转换视频时,出现“无法识别的选项”错误。我使用的是 FFmpeg 版本 SVN-r26402。

这是我的错误日志:

Raw Conversion Log
Started on 2014-06-29 00:02:02 - 2014 Jun 29 

Checking File .... 
File : /home//public_html/files/conversion_queue/1403982097308ac.mov 
File Exists : Yes 

Preparing file...
format : mov,mp4,m4a,3gp,3g2,mj2 
duration : 8.2 
size : 11501692 
bitrate : 10958 
video_width : 1920 
video_height : 1080 
video_wh_ratio : 1.77777777778 
video_codec : h264 
video_rate : 30.1219512195 
video_bitrate : 10695 
video_color : N/A 
audio_codec : aac 
audio_bitrate : 255 
audio_rate : 44100 
audio_channels : stereo 
path : /home//public_html/files/conversion_queue/1403982097308ac.mov 

Converting Video 
Conversion Command : /usr/local/bin/ffmpeg -i /home//public_html/files/conversion_queue/1403982097308ac.mov -f mp4 -vcodec flv -r 25 -b:v 300000 -s 854x480 -aspect 1.77777777778 -padcolor 000000 -padtop 0 -padbottom 0 -padleft 0 -padright 0 -acodec libmp3lame -ab 128000 -ar 22050 /home/sillysto/public_html/files/videos/1403982097308ac-sd.mp4 2> /home/sillysto/public_html/files/temp/1403982122311e9.tmp 

转换详细信息

FFmpeg version SVN-r26402, Copyright (c) 2000-2011 the FFmpeg developers
built on Jun 25 2014 09:39:25 with gcc 4.4.7 20120313 (Red Hat 4.4.7-4)
configuration: 
libavutil 50.36. 0 / 50.36. 0
libavcore 0.16. 1 / 0.16. 1
libavcodec 52.108. 0 / 52.108. 0
libavformat 52.93. 0 / 52.93. 0
libavdevice 52. 2. 3 / 52. 2. 3
libavfilter 1.74. 0 / 1.74. 0
libswscale 0.12. 0 / 0.12. 0

Seems stream 0 codec frame rate differs from container frame rate: 1200.00 (1200/1) -> 30.00 (30/1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home//public_html/files/conversion_queue/1403982097308ac.mov':
Metadata:
major_brand : qt 
minor_version : 0
compatible_brands: qt 
creation_time : 2014-06-15 15:36:26
Duration: 00:00:08.28, start: 0.000000, bitrate: 11099 kb/s
Stream #0.0(und): Video: h264, yuv420p, 1920x1080, 10908 kb/s, 30 fps, 30 tbr, 600 tbn, 1200 tbc
Metadata:
creation_time : 2014-06-15 15:36:26
Stream #0.1(und): Audio: aac, 44100 Hz, stereo, s16, 258 kb/s
Metadata:
creation_time : 2014-06-15 15:36:26
Unrecognized option 'b:v'
Failed to stat file /home//public_html/files/videos/1403982097308ac-sd.mp4!
Failed to stat file /home//public_html/files/videos/1403982097308ac-sd.mp4!


Unknown file details - Unable to get output video details using FFMPEG 


Time Took : 0.0831 seconds 

conversion_status : failed 

答案1

您的 ffmpeg 版本已过时。您有两个选择:

新版本将其b:v视为一个选项。


另外,你应该更新你的命令。这是旧的命令:

ffmpeg -i input.mp4 -f mp4 -vcodec flv -r 25 -b:v 300000 \
-s 854x480 -aspect 1.77777777778 \
-padcolor 000000 -padtop 0 -padbottom 0 -padleft 0 -padright 0 \
-acodec libmp3lame -ab 128000 -ar 22050 output.mp4

首先,您不需要-f mp4。我也不确定您是否真的想要 FLV 作为视频编解码器。这非常低效。您可能需要 MPEG-4 Part II 或 MPEG-4 AVC 视频。后者提供更好的质量,并且与 HTML5 和当今大多数设备兼容。MP3 音频也可以转换为 AAC 音频。

我们选择-c:v libx264x264 编码器,并使用恒定速率因子设置质量。23 是默认值,合理的值在 18 到 28 之间。值越小,质量越好。-b:v 500k例如,您也可以使用 来设置恒定比特率。x264 编码指南为您提供更多详细信息。

此外,-pad*选项已被删除,你必须使用过滤pad。这个-aspect选项对我来说似乎没有必要。

ffmpeg -i input.mp4 -c:v libx264 -r 25 -crf 23 \
-s 854x480 \
-vf "pad=width=1920:height=1080:x=0:y=0:color=black" \
-c:a aac -strict experimental -b:a 192k -ar 22050 output.mp4

如果您需要与没有太多处理能力的设备兼容,请添加-profile:v baseline为选项。

相关内容