FFmpeg:无法创建最大厚度的drawbox过滤器

时间:2015-02-25 10:09:34

标签: c++ ffmpeg

我已从FFmpeg版本1.2切换。到最后的2.5版本。更改所有弃用的方法后,我遇到了一个drawbox过滤器的问题。在版本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

1 个答案:

答案 0 :(得分:1)

您遇到了错误:#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

因此,您需要compileget a recent build才能利用此错误修复功能。通过FFmpeg download页面提供的各种静态版本会定期更新。