drawtext选项有一个'draw'表达式,指定是否应该绘制文本。 http://www.ffmpeg.org/ffmpeg-filters.html#drawtext-1
我发现我们可以使用以下表达式来写入特定帧之前,之后或之后:
:draw='eq(n,42)', :draw='lt(n,42)', :draw='gt(n,42)'
你知道如何组合两个表达式来写文本,例如,在帧之间的每一帧上 10和42?
我已经问过ffmpeg并搜索doc或者示例来组合表达式。以下不起作用:
: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
我正在使用ffmpeg版本0.8.6-4:0.8.6-0ubuntu0.12.04.1
提前致谢
答案 0 :(得分:2)
好的,我刚刚在ffmpeg论坛上找到了答案,并得到了ffmpeg dev的帮助。
这两个表达对我来说都很好:
draw='gt(n,10)*lt(n,42)'
draw='if(gt(n,10),lt(n,42))'
此处有更多信息:http://ffmpeg.org/ffmpeg-all.html#Expression-Evaluation