ffmpeg 给视频加硬字幕的命令

2019-10-19 23:58:04 +08:00
 aocif23

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 参数,可能字幕的大小会很少。

7418 次点击
所在节点    FFmpeg
1 条回复
acreti
2019-11-14 16:01:52 +08:00
可以先把 srt 通过 ffmpeg 转为 ass,ass 调整起来方便些

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/611035

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX