我使用这个命令来裁剪,缩放,然后添加字幕作为覆盖
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如何设置字幕的字体大小/颜色?
发布于 2014-01-27 06:01:41
使用字幕有两种方法:硬字幕和软字幕。
Hardsub
subtitles视频过滤器可以用来硬分解或烧录字幕。这需要重新编码,并且字幕成为视频本身的一部分。
force_style选项
要自定义字幕,您可以使用subtitles过滤器中的force_style选项。示例使用字幕文件subs.srt,使字体大小为24,字体颜色为红色。
ffmpeg -i video.mp4 -vf "subtitles=subs.srt:force_style='Fontsize=24,PrimaryColour=&H0000ff&'" -c:a copy output.mp4force_style使用十六进制的SubStation Alpha (ASS) style fields.PrimaryColour,按蓝绿红的顺序排列。请注意,这与HTML颜色代码的顺序相反。颜色代码必须始终以&H开头并以&.结尾
宙斯盾
或者,您可以使用Aegisub创建字幕并设置字幕样式。另存为SubStation Alpha (ASS)格式,因为它可以支持字体大小,字体颜色,阴影,轮廓,缩放,角度等。
Softsubs
这些是文件中的附加流。播放器只需在回放时呈现它们。比硬替换更灵活,因为:
当然,有时如果设备或播放器无法使用软订阅,则需要硬订阅。
要使用stream copy模式将字幕多路复用为视频文件:
ffmpeg -i input.mkv -i subtitles.ass -codec copy -map 0 -map 1 output.mkv没有重新编码,因此整个过程将是快速的,质量和格式将得到保留。
使用SubStation Alpha (ASS)字幕将允许您随心所欲地设置字幕格式。这些可以使用Aegisub创建/转换。
另请参阅
subtitles video filter documentation发布于 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,同时保持视频的质量。我试过了,它起作用了。
发布于 2020-05-07 03:26:50
FFmpeg有时很好,但有些视频可能会变得模糊。我推荐与VLC播放器进行比较。
media>Convert/Save
我发现Profile Video for iPad HD/iPhone/PSP的默认设置非常好。或者我可以将Biterate从700kb/s减少到350kb/s,以使其更小。
https://stackoverflow.com/questions/21363334
复制相似问题