使用 ffmpeg 从 mp4 转换为 avi 时如何获得最佳质量?

使用 ffmpeg 从 mp4 转换为 avi 时如何获得最佳质量?

当我使用这个时,质量看起来不错。

ffmpeg -same_quant -i video.mp4 video.avi

文档中ffmpeg写道:“请注意,这不是相同的质量。除非您知道需要它,否则不要使用此选项。”

我是否获得了-same_quant最好的质量,或者是否有一个选项可以提供与输入相同的质量并且更值得推荐?

答案1

(改编自上面的评论)

根据所使用的编解码器(某些编解码器与某些容器不兼容),您始终可以简单地复制流 ( -codec copy)。这是避免质量变化的最佳方法,因为您不需要重新编码流,只是将它们重新打包到不同的容器中。

处理音频/视频文件时,请务必记住容器大多数独立于所使用的编解码器。人们经常看到人们将文件称为“AVI 视频”或“MP4 视频”,但这些都是容器,并不能告诉我们播放器是否能够播放流,因为除了技术限制(例如,AVI 可能存在 h264 和 Ogg Vorbis 问题),您可以使用任何编解码器。

-same_quant似乎是告诉 ffmpeg 尝试实现类似质量的一种方法,但是一旦您重新编码视频(至少使用有损编解码器),您就无法获得相同的质量。如果您关心质量,一个好的经验法则是尽可能避免对流进行重新编码。

因此,为了使用 ffmpeg 复制流,您需要执行以下操作:

ffmpeg -i video.mp4 -codec copy video.avi

正如@Peter.O 提到的,选项顺序很重要,所以这就是-codec copy必须去的地方。您仍然可以保留-same_quant,但它不会有任何效果,因为您没有重新编码流。)

答案2

在 FreeBSD 8.2 下,我尝试了 -codec copy 但也收到了未知解码的消息。经过反复试验,我发现在 FreeBSD 下可以工作:

ffmpeg -i video.mp4 -vcodec copy video.avi

相关内容