我想将字幕文件(.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),但视频的质量很糟糕(与输入文件比较)......那么如何使输出文件更小,质量更好?谢谢.
试试这个:
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,那么此页面会详细介绍这些选项并提供帮助.
如果您想让字幕看起来更好,请查看字幕的不同选项,例如使用不同的字体.