我想在ffmpeg的文本中添加黑色描边。有可能吗?
-c:v libx264 -vf "hue=h=0, drawtext=fontfile=../bin/RobotoCondensed-Bold.ttf:text='Hello.':fontcolor=white: fontsize=158: x=0+(w-text_w)/2: y=50+(h-text_h-line_h)/2" -c:a copy -shortest -pix_fmt yuv420p ../bin/ENG_01.mov
答案 0 :(得分:3)
您可以使用drawtext更改参数来更改边框颜色和边框宽度
bordercolor=black:
borderw=5:
您的代码将显示
-c:v libx264 \
-vf "hue=h=0,\
drawtext=fontfile=../bin/RobotoCondensed-Bold.ttf:\
text='Hello.':\
bodercolor=white:\
borderw=5:\
fontcolor=white:\
fontsize=158:\
x=0+(w-text_w)/2: y=50+(h-text_h-line_h)/2"\
-c:a copy -shortest -pix_fmt yuv420p \
../bin/ENG_01.mov
答案 1 :(得分:1)
使用subtitles过滤器而不是drawtext来添加完整的笔划更加容易。
ffmpeg
将应用在ASS文件中设置的Outline
和OutlineColour
选项。或者,您可以在ffmpeg
命令中手动设置这些命令,这对于不支持笔触的其他字幕格式很有用:
ffmpeg -i input -filter_complex "subtitles=your_subtitles_file.srt:force_style='Outline=5,OutlineColour=&H000000&'" output
来自Advanced Substation Alpha Tags:
颜色代码以蓝色,绿色,红色的顺序以十六进制给出。注意 这是与HTML颜色代码相反的顺序。颜色代码必须 始终以
&H
开头并以&
结尾。默认OutlineColour
为 黑色(&H000000&
。
您可以在绘制文本过滤器中设置shadowcolor
,shadowx
和shadowy
选项以设置阴影。它不会完全包围文本,因此实际上不是笔画,但可能足够好。
ffmpeg -i input -filter_complex "drawtext=text='drawtext stroke':fontcolor=white:shadowcolor=black:shadowx=2:shadowy=2" output