FFmpeg:无法创建具有最大厚度的抽屉式过滤器

FFmpeg: Failed to create drawbox filter with max thickness

我已经从 FFmpeg 版本 1.2 切换了。到最后的 2.5 版本。在更改所有已弃用的方法后,我 运行 遇到了抽屉过滤器的问题。在 1.2 版中,我可以使用以下设置定义一个填充框(参见 FFmpeg Filter Documentation):

strFilterDesc += "drawbox=x=0:y="+height+":w="+width+":h=50:color=0xeeeeee@0.4:t=max,

当我启动应用程序时,收到以下错误:

[Parsed_drawbox_2 @ 0x79e9a0] [Eval @ 0x7fffb57f8e70] Undefined constant or missing '(' in 'max'
[Parsed_drawbox_2 @ 0x75f0a0] Error when evaluating the expression 'max'.
[Parsed_drawtext_1 @ 0x759be0] Failed to configure input pad on Parsed_drawbox_2

有人可以提示我这里做错了什么吗?即使使用文档示例,也会发生相同的错误。还有其他方法可以创建填充框吗?

编辑:

这里是stfFilterDesc的内容:

drawtext=fontfile=./fonts/truetype/freefont/HelveticaNeue.ttf: text='foo': x=5: y=5: shadowx=0: shadowy=0: fontsize=12: fontcolor=0xeeeeee@1.0: box=0: boxcolor=0xeeeeee@0.5, drawbox=x=0:y=490:w=960:h=50:color=0xeeeeee@0.4:t=max, drawtext=fontfile=./fonts/truetype/freefont/HelveticaNeue.ttf: text='foo': x=32:y=(h-text_h-25): fontsize=16: fontcolor=0x333333@1.0: box=0: boxcolor=0xeeeeee@0.4, drawtext=fontfile=./fonts/truetype/freefont/HelveticaNeue.ttf: text='foo': x=32:y=(h-text_h-10): fontsize=14: fontcolor=0x333333@1.0: box=0: boxcolor=0xeeeeee@0.4

您遇到了一个错误:#4332 – Expression 'max' no longer works with t option in drawbox

这已于今天(2015 年 3 月 2 日)通过提交 047fd98:

修复
commit 047fd986bf3641ad3dc137746097271c339ee5f0
Author: Michael Niedermayer
Date:   Mon Mar 2 02:32:55 2015 +0100

    avfilter/vf_drawbox: Fix handling of max values

    Fixes Ticket4332

    Signed-off-by: Michael Niedermayer

因此您需要compile or get a recent build to take advantage of this bug fix. The various static builds available via the FFmpeg download页面定期更新。