FFmpeg 使用以前的文本大小

FFmpeg use previous text size

画好文字后,我想用geq把方框的角做成圆角。 目前,我只是想在文本周围画一个框,看看我是否可以将文本尺寸用于后续过滤器

ffplay -f lavfi -i color=black:600x200 \
-vf "drawtext=text='my text':fontsize=84:fontcolor=white:x=0:y=0:box=1:boxcolor=cyan,\
drawbox=0:0:200:60:red"

我试过使用 text_wtext_h 但没用

ffplay -f lavfi -i color=black:600x200 \
-vf "drawtext=text='my text':fontsize=84:fontcolor=white:x=0:y=0:box=1:boxcolor=cyan,\
drawbox=0:0:text_w:text_h:red"

错误

Error when evaluating the expression 'text_w'.

我需要文本大小来应用圆角矩形,我也需要它用于我想在文本后覆盖图标的其他情况

可以用FFmpeg完成吗?

我找到了解决方法

在调试模式下绘制文本

ffmpeg -loglevel debug -f lavfi -i color=black:100x100 -frames:v 1 \
-vf "drawtext=text='my text':fontsize=36:fontcolor=white:x=0:y=0:box=1:boxcolor=cyan" \
-f null -

它将输出类似这样的内容,我可以在其他地方解析和使用

[Parsed_drawtext_0 @ 0x7fc1c3704c00] n:0 t:0.000000 text_w:138 text_h:33 x:0 y:0