If statement 在drawtext(FFMPEG)中使用IF语句

If statement 在drawtext(FFMPEG)中使用IF语句,if-statement,ffmpeg,textbox,drawtext,If Statement,Ffmpeg,Textbox,Drawtext,我目前正尝试在带有FFMPEG的视频上实现一个计时器,因此它应该在00.00开始计时,在若干帧之后开始计时,在设定的帧数量之后再次停止计时。因此计时器的工作原理如下: 00:0000:0000.00(开始计时)00.0100.02[…]05.8805.89停止计时)05.8905.89 到目前为止,我已获得以下as(最小)命令: ffmpeg -i input.mp4 -filter_complex "[0:v]drawtext=fontfile='C\\:font.ttf': text='%

我目前正尝试在带有FFMPEG的视频上实现一个计时器,因此它应该在00.00开始计时,在若干帧之后开始计时,在设定的帧数量之后再次停止计时。因此计时器的工作原理如下:

00:00
00:00
00.00
(开始计时)
00.01
00.02
[…]
05.88
05.89
停止计时)
05.89
05.89

到目前为止,我已获得以下as(最小)命令:

ffmpeg -i input.mp4 
-filter_complex "[0:v]drawtext=fontfile='C\\:font.ttf':
text='%{eif\\:n/30\\:d\\:2}\\:%{eif\\:((mod(n,30))/30)*100\\:d\\:2}':
fontcolor=black:fontsize=55:x=(1705.5-(text_w/2)):y=(1000.5-(text_h/2)),format=yuv420p" 
-pix_fmt yuv420p -c:a copy out.mp4
filter_complex里面还有一些东西,所以我不能用
-vf
或类似的东西来代替它


谢谢你的帮助

假设您希望在
n=200开始计数,并在
n=700结束计数。然后我们将
min(max(n-200,0),700-200)
称为X

您的文本表达式现在变为

text='%{eif\\:X/30\\:d\\:2}\\:%{eif\\:((mod(X,30))/30)*100\\:d\\:2}'