If statement 在drawtext(FFMPEG)中使用IF语句
我目前正尝试在带有FFMPEG的视频上实现一个计时器,因此它应该在00.00开始计时,在若干帧之后开始计时,在设定的帧数量之后再次停止计时。因此计时器的工作原理如下: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='%
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}'