Sve*_*jic 1 text ffmpeg stroke
我想在 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
Run Code Online (Sandbox Code Playgroud)
您可以通过使用drawtext并添加这些参数来更改边框颜色和边框宽度
bordercolor=black:
borderw=5:
Run Code Online (Sandbox Code Playgroud)
你的代码看起来
-c:v libx264 \
-vf "hue=h=0,\
drawtext=fontfile=../bin/RobotoCondensed-Bold.ttf:\
text='Hello.':\
bordercolor=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
Run Code Online (Sandbox Code Playgroud)
ffmpeg将应用ASS 文件中设置的Outline和选项。OutlineColour或者您可以在命令中手动设置这些ffmpeg,这对于不支持笔画的其他字幕格式很有用:
ffmpeg -i input -filter_complex "subtitles=your_subtitles_file.srt:force_style='Outline=5,OutlineColour=&H000000&'" output
Run Code Online (Sandbox Code Playgroud)
颜色代码以十六进制形式按蓝绿红顺序给出。请注意,这与 HTML 颜色代码的顺序相反。颜色代码必须始终以 开头
&H和结尾&。默认OutlineColour为黑色 (&H000000&)。
使用borderw和bordercolor选项:
ffmpeg -i input -filter_complex "drawtext=text='drawtext stroke':fontsize=36:fontcolor=white:borderw=4:bordercolor=black:x=(w-text_w)/2:y=(h-text_h)/2" output
Run Code Online (Sandbox Code Playgroud)
bordercolor可以接受十六进制值,您还可以更改笔画不透明度,例如使用bordercolor=#ffcc00@0.5.
有关详细信息,请参阅绘图文本过滤器文档。