如何使用家庭影院/DVD 播放器的 ffmpeg 编码 XviD?

poq*_*vid 3 home-theater ffmpeg mpeg4 xvid conversion

我想转换一个文件,这样我就可以在我的 DVD 播放器中播放它,该播放器仅适用于 divx/xvid。我试过 :

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"
Run Code Online (Sandbox Code Playgroud)

我想知道我应该使用哪些选项来使生成的文件也具有这些特征(尽可能接近“Divx 家庭影院”配置文件):

Macroblocks: 40500 bps
VBV Buffer: 384kB
VBV Bitrate: 4854 kbps
B-Frame: 1
Run Code Online (Sandbox Code Playgroud)

我的ffmpeg构建信息是:

ffmpeg version 2.2.git built on Sep 28 2014 08:33:32 with gcc 4.6.2 (GCC)
Run Code Online (Sandbox Code Playgroud)

我的操作系统也是 Windows 7 x64

Cap*_*iel 5

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
Run Code Online (Sandbox Code Playgroud)


小智 5

我个人使用这些选项:

ffmpeg -i INPUT_FILE -c:v libxvid -q:v 5 -q:a 5 OUTPUT_FILE.avi
Run Code Online (Sandbox Code Playgroud)

我想强调的一点是选项 -q:v 5 至关重要。此选项设置视频的质量(1 = 最好,31 = 较差)。当省略此选项时,我得到的兼容文件质量很差。