我正在尝试使用 ffmpeg 中的 drawtext 过滤器向视频添加文本,但根据帧大小,文本可能太大(部分文本甚至不在视频帧中)或太小(几乎无法阅读)。有没有办法让文本自动调整大小以完美适应帧?
我现在只使用将文本放在顶部中间:
ffmpeg -i input.jpg -vf "drawtext=font='Impact': text='Test Text': fontcolor=white: borderw=3: fontsize-75: x=(w-tw)/2:y=h/12-th/2" output.jpg
在此先感谢所有提供帮助的人。
答案1
使用字幕过滤器. 字体大小将自动缩放以适合图像。
制作
subtitles.srt
:1 00:00:00,000 --> 00:00:05,000 Text Text
编码:
ffmpeg -i input.jpg -vf "subtitles=subtitles.srt:force_style='Fontname=Impact,Fontsize=75,Alignment=6'" -frames:v 1 -q:v 3 output.jpg