linux 下使用 ffmpeg 的命令
ffmpeg -i input.mp4 -vf "subtitles=input.srt:force_style='FontName=Source Han Sans SC,Fontsize=27,PrimaryColour=&H88FFFFFF&'" -c:a copy -preset fast -crf 22 output.mp4
一些坑:
srt 字幕文件要注意编码方式,直接下载网上的字幕,使用时老是加不上硬字幕,即使在 ffmpeg 加了“-sub_charenc GB18030”参数还是不行,最后把 srt 文件转成 GB18030 编码方式。
FontName 里的名字可以用"fc-list :lang=zh"或"fc-list"命令查看已安装的字体名字。
PrimaryColour=&H88FFFFFF&,88 是字幕透明度(00 到 FF),FFFFFF 字幕颜色。
如果不加 force_style 参数,可能字幕的大小会很少。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.