FFmpeg drawtext 的字体文件无法加载
FFmpeg drawtext's fontfile unable to load
我有这个 Parisienne 字体文件,我想使用该字体在 gif 上书写,但输出字体从来不是 Parisienne,它始终显示为正常 Arial
命令
ffmpeg -i C:\Users97\www\post2\css\back2.gif -vf "drawtext=fontfile='C\:\Windows\Fonts\2.ttf':text='Darbuka 70':fontcolor=#5c391685:fontsize=160::x=(w-text_w)/2:y=20" C:\Users97\www\post2\css\output.mp4
字体文件是这样的:
输出:
可能是因为没有足够的转义字符 (\
)。 FFmpeg 需要一个,shell 需要加倍。所以,试试
fontfile='C\\:/Windows/Fonts/2.ttf'
当我在 Python 中测试时,有四个 \
有效,但如果它没有 add/subtract 一次一对,看看哪个适合你。
最后,如果您想查看 fontfile
选项是否设置正确,请添加 -loglevel debug
选项并在日志中查找类似以下的行:
[Parsed_drawtext_2 @ 0000015e54962a80] Setting 'fontfile' to value 'C:/Windows/Fonts/2.ttf'
如果没有正确转义,您会看到如下日志:
[Parsed_drawtext_2 @ 000001c010782440] Setting 'fontfile' to value 'C'
[Parsed_drawtext_2 @ 000001c010782440] Setting 'text' to value '/Windows/Fonts/2.ttf'
P.S.,我作弊并使用 /
作为目录分隔符。如果你想使用 \
,同样的规则适用。每个 \
需要几个 \
。参见 documentation
我有这个 Parisienne 字体文件,我想使用该字体在 gif 上书写,但输出字体从来不是 Parisienne,它始终显示为正常 Arial
命令
ffmpeg -i C:\Users97\www\post2\css\back2.gif -vf "drawtext=fontfile='C\:\Windows\Fonts\2.ttf':text='Darbuka 70':fontcolor=#5c391685:fontsize=160::x=(w-text_w)/2:y=20" C:\Users97\www\post2\css\output.mp4
字体文件是这样的:
输出:
可能是因为没有足够的转义字符 (\
)。 FFmpeg 需要一个,shell 需要加倍。所以,试试
fontfile='C\\:/Windows/Fonts/2.ttf'
当我在 Python 中测试时,有四个 \
有效,但如果它没有 add/subtract 一次一对,看看哪个适合你。
最后,如果您想查看 fontfile
选项是否设置正确,请添加 -loglevel debug
选项并在日志中查找类似以下的行:
[Parsed_drawtext_2 @ 0000015e54962a80] Setting 'fontfile' to value 'C:/Windows/Fonts/2.ttf'
如果没有正确转义,您会看到如下日志:
[Parsed_drawtext_2 @ 000001c010782440] Setting 'fontfile' to value 'C'
[Parsed_drawtext_2 @ 000001c010782440] Setting 'text' to value '/Windows/Fonts/2.ttf'
P.S.,我作弊并使用 /
作为目录分隔符。如果你想使用 \
,同样的规则适用。每个 \
需要几个 \
。参见 documentation