编写 FFmpeg 脚本以在特定时间码将 y 坐标中的文本移动一定的增量

Scripting FFmpeg to move text in y co-ordinate by some delta at specific time-codes

我正在使用这样的基本 drawtext 命令

ffmpeg -i output.mp4 -vf \
'drawtext=textfile='textfile.txt':x=0:y=0 \
:fontsize=30:fontcolor=white:borderw=3 \
:bordercolor=black:box=0' output.mp4"

将固定文本放在位置 (x, y) = (0,0)

我想做的是在特定的时间代码将此文本在 y 平面上移动 10 个点。

at 00:00:10, y would be 0
at 00:00:11, y would be 10
at 00:00:43, y would be 20
...
...
at 00:10:44, y would be 30

因此 'y' 坐标在 'keytimes'

处固定增量为 10

有办法吗?

基本方法是使用一个表达式,

y='lte(t,10.99)*0+between(t,11,42.99)*10+between(t,43,643.99)*20+gte(t,644)*30'

每个子表达式都是 time-qualification * position 的形式,并且对于时间线的任何片段,只有一个时间限定的计算结果为 1。