批量将视频从 avc1 转换为 xvid

批量将视频从 avc1 转换为 xvid

我需要一种方法来在 Ubuntu 10.04 中将 720p 视频文件从 avc1 批量转换为 xvid。我不太关心文件大小,但我希望尽可能保留图像质量。我相信音频编码为 aac,这对我来说没问题。

实现此目的的最佳和最简便方法是什么?我尝试使用 Handbrake。在第一次尝试时,我使用 ffmpeg 将其转换为 MPEG-4,但这只会给我一个质量极低的视频,文件大小是原来的两倍。现在尝试使用 h.264,所以我们会看看效果如何。但万一效果不太好,您推荐其他什么方法?

我本来想编写一个 bash 脚本来逐个重新编码这些文件,但问题是我对编解码器、容器和其他东西知之甚少,所以我不知道应该向 ffmpeg/mencoder 传递什么参数。

答案1

input=$1
output=${input/mkv/avi}
mencoder -vf harddup,crop=0:0:0:0,scale=576:-2,hqdn3d -sws 2 -sid 1001 -o $output -ovc xvid -xvidencopts bitrate=598:pass=1:max_bframes=2:bquant_ratio=162:bquant_offset=100:vhq=4:me_quality=6:chroma_me:chroma_opt:hq_ac:trellis:lumi_mask:autoaspect:bvhq=1:threads=2 -af volnorm=1 -oac copy $input

mencoder -vf harddup,crop=0:0:0:0,scale=576:-2,hqdn3d -sws 2 -sid 1001 -o $output -ovc xvid -xvidencopts bitrate=598:pass=2:max_bframes=2:bquant_ratio=162:bquant_offset=100:vhq=4:me_quality=6:chroma_me:chroma_opt:hq_ac:trellis:lumi_mask:autoaspect:bvhq=1:threads=2 -af volnorm=1 -oac copy $input

我编写了上述脚本,使用 mencoder 转换一些视频(mkv 容器中的 20 分钟 x264 视频转换为 avi 中的 2-pass xvid)。您可以在文件上试一试。说实话,我不记得从哪里获得了编码选项(可能是 mencoder 官方文档?)但它们在我的视频上运行良好,这就是我仍然保留该脚本的原因。

我建议使用比特率计算器并修改上面的比特率值,否则转换可能会很长,更重要的是结果不会接近您的预期。

顺便说一句,你说你现在正在尝试 h.264 - 你知道它与 xvid 有很大不同吗?考虑到两个大小相同的视频,h.264 的质量将高于 xvid,尽管后者需要一台性能较低的计算机才能解码,而不会出现卡顿、帧丢失等问题。

编辑:有关 xvid 编码的 mencoder 文档的链接:点击我!

相关内容