对fluent-ffmpeg complexFilter drawtext的alpha支持?

时间:2017-10-24 00:25:28

标签: ffmpeg alpha drawtext fluent-ffmpeg

我可以在控制台中使用ffmpeg并获取文本淡入淡出,但我正在尝试使用alpha中的fluent-ffmpeg选项,并且失败了。

这有效:

ffmpeg -i testvideo.mp4 -filter_complex "[0:v]drawtext=fontfile=/<full-path>/Lato-Black.ttf:text='This is a test':fontsize=12:fontcolor=e82e2e:alpha='if(lt(t,1),0,if(lt(t,2),(t-1)/1,if(lt(t,4),1,if(lt(t,5),(1-(t-4))/1,0))))':x=(w-text_w)/2:y=(h-text_h)/2" outfile.mp4

在节点服务中使用时失败:

.complexFilter({
                filter: 'drawtext',
                options: {
                    fontfile: <font-path>
                    text: "This is a test",
                    fontsize: 18,
                    fontcolor: "ff0000",
                    alpha : if(lt(t,1),0,if(lt(t,2),(t-1)/1,if(lt(t,4),1,if(lt(t,5),(1-(t-4))/1,0)))),
                    x: 10,
                    y: 10
                }
            }, 'out')
  

fluent-ffmpeg失败:ffmpeg退出代码1:配置错误   复杂滤波器。参数无效

alpha不支持fluent-ffmpeg(我找不到任何相关文档),或者它是不同的关键字?

1 个答案:

答案 0 :(得分:0)

将表达式括在引号中:

alpha : "if(lt(t,1),0,if(lt(t,2),(t-1)/1,if(lt(t,4),1,if(lt(t,5),(1-(t-4))/1,0))))",

否则ffmpeg会认为第一个逗号(在"if(lt(t之后)结束过滤器参数。