如何使用 ffmpeg 将 rmvb 转换为具有相同质量的 mp4?

How to convert rmvb to mp4 with same quality by using ffmpeg?

我找到了一个可以使用ffmpeg命令将rmvb转换为mp4的批处理文件,但是转换后文件大小变得非常大(700mb变成3gb),所以我可以在下面的脚本中更改一些东西来使文件大小变小并保持不变质量?

FOR /F "tokens=*" %%G IN ('dir /b *.rmvb') DO ffmpeg -i "%%G" -vcodec mpeg4 -qscale:v 2 -acodec aac "%%~nG.mp4"

还有为什么我总是收到这条消息?剧本有问题吗?

您可以将 for 循环简化为:

for %%G in (*.rmvb) do ffmpeg -i "%%~G" -c:v h264 -c:a aac "%%~nG.mp4"

这将转换为 h264 视频和 aac 音频。这些编解码器目前比较常见。

视频默认为 CRF 23,而音频应默认为 128k

这应该提供合理的质量,大约是 9300k 图像中显示的比特率的十分之一,可能低于 1000k

时长错误有时会发生,而且看起来可能很多,但最终视频可能仍与原始视频一样好。