Arn*_*aud 2 ffmpeg draw drawtext
drawtext 选项有一个“draw”表达式,指定是否应绘制文本。 http://www.ffmpeg.org/ffmpeg-filters.html#drawtext-1
我发现我们可以使用以下表达式在特定帧上、之前或之后进行书写:
:draw='eq(n,42)', :draw='lt(n,42)', :draw='gt(n,42)'
Run Code Online (Sandbox Code Playgroud)
您知道如何组合两个表达式来写入文本,例如在第 10 帧和第 42 帧之间的每一帧上?
我询问了 ffmpeg 并搜索了组合表达式的文档或示例。以下内容不起作用:
:draw='gt(n,10)&<(n,42)' -> crash
:draw='gt(n,10);lt(n,42)' -> only applies second expression
:draw='gt(n,10)':draw='lt(n,42)' -> only applies second expression
Run Code Online (Sandbox Code Playgroud)
我正在使用 ffmpeg 版本 0.8.6-4:0.8.6-0ubuntu0.12.04.1
提前致谢
好的,我刚刚在 ffmpeg 论坛上找到了答案,并得到了 ffmpeg 开发人员的帮助。
两种表达方式都适合我:
draw='gt(n,10)*lt(n,42)'
draw='if(gt(n,10),lt(n,42))'
Run Code Online (Sandbox Code Playgroud)
更多信息在这里:http://ffmpeg.org/ffmpeg-all.html#Expression-Evaluation