我已经连接了9张图片,这些图片的尺寸完全相同,每张320x562。它们放在一个水平行中,这会产生一个2880x562的文件。
现在我想制作一个320x562的空白屏幕作为背景,并将这个大平面文件从右向左移动作为叠加以产生滑动效果。
这是我经过一些实验后使用的命令:
ffmpeg -loop 1 -i result.jpg -filter_complex "nullsrc=size=320x562 [background];[0:v] setpts=PTS-STARTPTS [catalog]; [background][catalog] overlay=shortest=1:x='if(gte(t,4)*lte(x, 2880), -(t-4)*165)'" -t 24 -y out.mp4
它将叠加图像与背景相同的位置作为起始点。
虽然它看起来正在做我想做的事情,但我无法理解用于计算叠加X
值的表达式。
我想使覆盖开始浮动,其中
t>4
和x<=2560
,所以即使t
增加,幻灯片应停止在覆盖的右上方位置与背景的右上方位置满足。时机似乎有效但位置限制没有。我怎样才能参考当前的X
?关于
-(t-4)*144
表达式的一部分有错误。总持续时间为24.叠加在第4秒后开始滑动。因此,视频应该9 * 320
在20秒内显示像素(2880)的滑动。但是由于2880/20的结果是给出144,使得叠加在大约22秒后耗尽,并且在此之后出现一些垃圾像素。在结束时,使叠加完全结束的最佳方法是什么?