如何使用 FFMPEG 将一个视频推送出去,同时将另一个视频推送出去?

如何使用 FFMPEG 将一个视频推送出去,同时将另一个视频推送出去?

我正在尝试实现一种滑动动画效果,其中ffmpeg当前输入被推到左侧,而下一个输入从右侧拉入屏幕。

到目前为止我有这个命令,它使用 overlay过滤器实现了后期的效果。

ffmpeg -y -i /tmp/temp_videos/0000.mp4 -itsoffset 5 -i /tmp/temp_videos/0001.mp4 -filter_complex "[0:v]setpts=PTS-STARTPTS[v0]; \
[1:v]setpts=PTS-STARTPTS+7/TB[v1]; \
[v0][v1]overlay=x='if(gte(w-(t-7)*2000,0),w-(t-7)*2000,0)':y=0[out]" -map '[out]' -y test.mp4

它需要两个输入视频文件,并将第二个视频文件叠加在第一个视频文件之上。7 秒后,第二个输入从右侧滑入,覆盖第一个输入。第二个输入的 x 位置从屏幕外开始减小,直到变为 0。就像我说的,这是我试图实现的动画效果的后半部分。

我怎样才能使第一个输入在第二个输入进入时被推到左边?

这几乎正​​是我想要的效果,只是方向相反: https://github.com/tanersener/ffmpeg-video-slideshow-scripts/raw/master/docs/transition_push_horizo​​ntal.gif

相关内容