可能重复:
将 AVI 转换为 MP4,保持相同的质量
我想将大量 wmv、mpg 和 avi 文件(音频和视频编码不同)转换为具有同等质量的 mp4/x264/aac。我使用以下命令进行了一些测试:
ffmpeg.exe -i "test.avi" -c:v libx264 -c:a libvo_aacenc "test.mp4"
(如您所见,我省略了指定音频和视频的比特率和质量的选项)
使用此命令,FFmpeg 会自动保留视频尺寸,但我仍然不确定当省略比特率时它会如何处理它们?在将视频转换为不同的格式和编解码器时,保持视频质量的最佳方法是什么?
我使用的是 64 位 Windows 7 和 ffmpeg-20121230-git-518239c-win64-shared
答案1
FFmpeg-crf
默认将该选项设置为 23。
尝试:
ffmpeg.exe -i "test.avi" -c:v libx264 -crf 20 -c:a aac -strict -2 "test.mp4"
这慢性肾衰竭选项设置编码质量。比特率将根据需要变化,以提供整个视频的一致质量。51 表示最差,0 表示最好 — 无损。
我倾向于将所有编码设置为 20,这恰好是 Handbrake 的默认值,我对质量很满意。我建议尝试使用该值来找到您可以接受的质量级别。
您可能想要使用-ss
和-t
选项来创建简短的测试编码。-ss
是开始时间和-t
是持续时间——均以秒为单位。您可能不需要对整个视频进行编码来确定什么是可以接受的。
要创建从视频第 1 分钟开始的 1 分钟剪辑:
ffmpeg.exe -i "test.avi" -c:v libx264 -crf 20 -c:a aac -strict -2 -ss 60 -t 60 "test.mp4"