在 FFmpeg 过滤器中使用时间或帧号表示静止图像

在 FFmpeg 过滤器中使用时间或帧号表示静止图像

a.jpg我正在尝试使用 FFmpeg 过滤器在图像之间进行过渡b.jpg。但 FFmpeg 似乎无法识别任何与静止图像相关的时间选项,我得到的帧数始终为零。

示例命令如下:

TIME=15 && ffmpeg -loop 1 -t ${TIME} -i a.jpg -loop 1 -t ${TIME} -i b.jpg -filter_complex "
[0:v]crop=w=(t)/${TIME}*iw:x=0[a_crop];
[1:v][a_crop]overlay[out]" -map "[out]" -t ${TIME} ab.mp4

输出:

Error when evaluating the expression '(t)/15*iw'
TIME=15 && ffmpeg -loop 1 -t ${TIME} -i a.jpg -loop 1 -t ${TIME} -i b.jpg -filter_complex "
[0:v]crop=w=((n+10)/60)/${TIME}*iw:x=0[a_crop];
[1:v][a_crop]overlay[out]" -map "[out]" -t ${TIME} ab.mp4

该命令可以工作,但视频没有移动,我怀疑 n 总是0

谢谢!

相关内容