Şu anda bu sorudan iki videoyu çaprazlamak için komutu kullanıyorum:
ffmpeg kullanarak 2 video arasındaki geçiş
Benim emrim:
ffmpeg -i firstVideo.mp4 -i secondVideo.mp4 -f lavfi -i color=black - filter_complex \
"[0:v]format=pix_fmts=yuva420p,fade=t=out:st=4:d=1:alpha=1,setpts=PTS-STARTPTS[va0];\
[1:v]format=pix_fmts=yuva420p,fade=t=in:st=0:d=1:alpha=1,setpts=PTS-STARTPTS+4/TB[va1];\
[2:v]scale=640x360,trim=duration=9[over];\
[over][va0]overlay[over1];\
[over1][va1]overlay=format=yuv420[outv]" \
-vcodec libx264 -map [outv] output.mp4
Bu crossfade animasyonu iyi çalışıyor, çünkü videoyu istenen 640x360 yerine 480x360'a daraltıyor. Meta bilgi yanlış bir şekilde boyutların 640x360 olduğunu gösterecektir, ancak olmadıklarından eminim.
Her iki giriş videosunun da tam olarak 640x360 olduğundan eminim.
Küçülmenin piksel biçiminden kaynaklandığını tahmin ediyorum yuva420p
, ama başka hangi seçeneklere sahip olduğumdan emin değilim. Piksel biçimini değiştirmeyi denedim ama şu ana kadar hiçbir şey işe yaramadı.
Yukarıda verilen komut hatasız çalışır.