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
2 つの入力ビデオ ファイルを取得し、2 番目のビデオ ファイルを最初のビデオ ファイルの上に重ねます。7 秒後、2 番目の入力が右からスライドし、最初の入力を覆います。2 番目の入力の x 位置は画面外から始まり、0 になるまで減少します。前に述べたように、これが私が実現しようとしているアニメーション効果の後半部分です。
2 番目の入力が入力されると、最初の入力が左に押し出されるようにするにはどうすればよいでしょうか?
これは、反対方向に動くことを除けば、私が求めていた効果とほぼ同じです。 https://github.com/tanersener/ffmpeg-video-slideshow-scripts/raw/master/docs/transition_push_horizontal.gif