我正在使用drawtext在一个动画GIF上打印一些文本。
一切都正常,但我无法指定边框并使文本包装。
我现在用的是:
ffmpeg -i image.gif -filter_complex "drawtext=textfile=text.txt:x=main_w/2 - text_w/2:y=main_h/2 - text_h/2:fontfile=Roboto-Regular.ttf:fontsize=24:fontcolor=000000" image_out.gif有什么方法来包装文字吗?
发布于 2017-05-01 00:04:46
您可以使用FFmpeg 字幕过滤器自动包装单词,并将文本放在中间。
有许多字幕格式,但是这个答案有关于ASS和SRT字幕的例子。ASS支持更多的格式化选项,但SRT是一种更简单的格式,可以在字幕筛选器中使用force_style选项进行修改。

驴字幕
用阿吉苏布制作你的字幕。单击看起来像粉红色"S“的按钮,打开”样式管理器“。点击编辑。选择对齐值5。将字幕文件保存为ASS格式。
ffmpeg示例:
ffmpeg -i input -filter_complex subtitles=subs.srt -c:a copy outputSRT字幕
SRT比ASS更简单,但缺乏功能,因此您可能需要在字幕筛选器中使用force_style选项。您可以使用文本编辑器制作这些字幕。示例SRT文件:
1
00:00:00,000 --> 00:00:05,000
Text with
manual line break
and with automatic word wrapping of long lines.
2
00:00:07,000 --> 00:00:10,000
Another line. Displays during 7-10 seconds.ffmpeg示例:
ffmpeg -i input -filter_complex "subtitles=subs.srt:force_style='Alignment=10,Fontsize=24'" -c:a copy outputforce_style选项,请参阅ASS文件内容中的Styles部分,并参考驴标签。Alignment使用的是遗留行位置号,但上面的ASS示例使用现代的"numpad“数字系统。https://stackoverflow.com/questions/43711117
复制相似问题