ffmpeg输出文件太大

Pag*_*vid 3 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
Run Code Online (Sandbox Code Playgroud)

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

Whi*_*ger 6

试试这个:

ffmpeg -i input.mp4 -c:v libx264 -crf 23 -vf subtitles=input.srt out.mp4
Run Code Online (Sandbox Code Playgroud)

这使用x264库而不是mpeg4.它更新,压缩效果更好.您可以尝试使用传递给该-crf选项的23 .在恒定速率因子会在更高的价值提供更好的结果,并在较低的值较高的文件大小和更小的文件大小较差的结果.尝试20到30之间的东西.

如果您确定要坚持使用mpeg4,那么此页面会详细介绍这些选项并提供帮助.

如果您想让字幕看起来更好,请查看字幕的不同选项,例如使用不同的字体.