ffmpeg输出文件太大

时间:2015-12-31 13:09:44

标签: video ffmpeg

我想将字幕文件(.srt)刻录到mp4视频。我的命令是:

ffmpeg -i input.mp4 -c:v mpeg4 -q:v 1 -vf subtitles=input.srt out.mp4

它输出的视频质量很好,但其大小为1.12GB,而输入文件为213MB。

我认为问题是输出文件的kbps太高。输入文件的比特率是568 kb / s但是输出文件是3154 kb / s。

所以我想设置kps,现在这是我的代码:

ffmpeg -i input.mp4 -b:v 569k -minrate 568k -maxrate 570k -c:v mpeg4 -q:v 1 -vf subtitles=input.srt out.mp4

虽然输出文件变小(538MB),但视频质量很差(与输入文件比较)...... 那么如何使输出文件更小,质量更好?谢谢。

1 个答案:

答案 0 :(得分:6)

试试这个:

ffmpeg -i input.mp4 -c:v libx264 -crf 23 -vf subtitles=input.srt out.mp4

这使用x264库而不是mpeg4。它更新,压缩效果更好。您可以尝试将23传递给-crf选项。 Constant Rate Factor会在较低的值下提供更好的结果和更高的文件大小,在较高的值下使用较小的文件大小会产生较差的结果。尝试20到30之间的东西。

如果您确定要坚持使用mpeg4,this page会详细介绍这些选项并提供帮助。

如果你想让你的字幕更好看,可以看一下不同的options for subtitles,比如使用不同的字体。