首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ffmpeg视频过滤器中添加字幕字体大小

如何在ffmpeg视频过滤器中添加字幕字体大小
EN

Stack Overflow用户
提问于 2014-01-26 20:29:50
回答 3查看 43.2K关注 0票数 18

我使用这个命令来裁剪,缩放,然后添加字幕作为覆盖

代码语言:javascript
复制
ffmpeg -i input.avi  -vf "[in]crop=in_w:in_h-20:0:0 [crop]; [crop]scale=320:240 [scale];[scale]subtitles=srt.srt" -aspect 16:9 -vcodec libx264  -crf 23 oq.mp4

如何设置字幕的字体大小/颜色?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-01-27 06:01:41

使用字幕有两种方法:硬字幕和软字幕。

Hardsub

subtitles视频过滤器可以用来硬分解或烧录字幕。这需要重新编码,并且字幕成为视频本身的一部分。

force_style选项

要自定义字幕,您可以使用subtitles过滤器中的force_style选项。示例使用字幕文件subs.srt,使字体大小为24,字体颜色为红色。

代码语言:javascript
复制
ffmpeg -i video.mp4 -vf "subtitles=subs.srt:force_style='Fontsize=24,PrimaryColour=&H0000ff&'" -c:a copy output.mp4

  • force_style使用十六进制的SubStation Alpha (ASS) style fields.
  • PrimaryColour,按蓝绿红的顺序排列。请注意,这与HTML颜色代码的顺序相反。颜色代码必须始终以&H开头并以&.

结尾

宙斯盾

或者,您可以使用Aegisub创建字幕并设置字幕样式。另存为SubStation Alpha (ASS)格式,因为它可以支持字体大小,字体颜色,阴影,轮廓,缩放,角度等。

Softsubs

这些是文件中的附加流。播放器只需在回放时呈现它们。比硬替换更灵活,因为:

  • 你不需要重新编码视频。
  • 你可以有多个字幕(不同的语言)并在它们之间切换。
  • 你可以在playback.
  • They期间打开/关闭字幕。任何值得使用的播放器都可以调整大小。

当然,有时如果设备或播放器无法使用软订阅,则需要硬订阅。

要使用stream copy模式将字幕多路复用为视频文件:

代码语言:javascript
复制
ffmpeg -i input.mkv -i subtitles.ass -codec copy -map 0 -map 1 output.mkv

没有重新编码,因此整个过程将是快速的,质量和格式将得到保留。

使用SubStation Alpha (ASS)字幕将允许您随心所欲地设置字幕格式。这些可以使用Aegisub创建/转换。

另请参阅

票数 48
EN

Stack Overflow用户

发布于 2016-01-07 06:32:26

从文档中,您可以使用srt字幕文件,并通过放置用,分隔的ASS样式格式KEY=VALUE对来更改字体大小。所以,

ffmpeg -i input.mp4 -vf subtitles=sub.srt:force_style='FontName=DejaVu Serif,FontSize=24' -vcodec libx264 -acodec copy -q:v 0 -q:a 0 output.mp4

将把字幕与DejaVu字体和大小24,同时保持视频的质量。我试过了,它起作用了。

票数 11
EN

Stack Overflow用户

发布于 2020-05-07 03:26:50

FFmpeg有时很好,但有些视频可能会变得模糊。我推荐与VLC播放器进行比较。

media>Convert/Save

我发现Profile Video for iPad HD/iPhone/PSP的默认设置非常好。或者我可以将Biterate从700kb/s减少到350kb/s,以使其更小。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21363334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档