![如何使用 ffmpeg 为家庭影院/DVD 播放器编码 XviD?](https://linux22.com/image/1431470/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20ffmpeg%20%E4%B8%BA%E5%AE%B6%E5%BA%AD%E5%BD%B1%E9%99%A2%2FDVD%20%E6%92%AD%E6%94%BE%E5%99%A8%E7%BC%96%E7%A0%81%20XviD%EF%BC%9F.png)
我想转换一个文件,以便可以在仅支持 divx/xvid 的 DVD 播放器上播放。我尝试过:
ffmpeg.exe -y -i "in.mp4" -t 480.00 -vf scale=720:301,pad=720:576:0:137 -map 0:v:0 -map 0:1 -b:v 2500K -vcodec libxvid -aspect 1.25 -b:a:0 128K -ac:a:0 2 -ar:a:0 48000 -codec:a:0 libmp3lame "out.avi"
我想知道应该使用哪些选项才能使生成的文件也具有这些特征(尽可能接近“Divx Home Theater”配置文件):
Macroblocks: 40500 bps
VBV Buffer: 384kB
VBV Bitrate: 4854 kbps
B-Frame: 1
我的ffmpeg
构建信息是:
ffmpeg version 2.2.git built on Sep 28 2014 08:33:32 with gcc 4.6.2 (GCC)
我的操作系统是 Windows 7 x64
答案1
FFmpeg wiki 有一个关于此内容的页面:MPEG-4 编码指南。
长话短说:
ffmpeg -i input.avi -c:v mpeg4 -vtag xvid output.avi
当然,不同的设备有不同的支持级别。关于非常有限的设备的电子邮件交流需要代码将 MP4 转换为 DivX AVI 似乎指向较低级别的标准(如果您无法事先测试设备,请使用它):
ffmpeg -i input.mkv -sn -c:a libmp3lame -ar 48000 -ab 128k -ac 2 -c:v libxvid \
-crf 24 -vtag DIVX -vf scale=640:480 -aspect 4:3 -mbd rd -flags +mv4+aic \
-trellis 2 -cmp 2 -subcmp 2 -g 30 -vb 1500k output.avi
答案2
我个人使用这些选项:
ffmpeg -i INPUT_FILE -c:v libxvid -q:v 5 -q:a 5 OUTPUT_FILE.avi
我想强调的一点是 -q:v 5 选项至关重要。此选项设置视频的质量(1 = 最好,31 = 最差)。当省略此选项时,我得到了一个质量较差的兼容文件。