使用ffmpeg在2个视频之间交叉淡入淡出

我建议这样做:

  • 创建黑色背景,其持续时间和分辨率与输出视频相同
  • 为每个视频添加Alpha通道
  • 为每个视频添加淡入淡出效果
  • 在每个带黑色背景的视频上使用叠加

因此,将交叉渐变添加到2个视频(5秒)的命令应该是:

ffmpeg -i 1.mp4 -i 2.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=960x720,trim=duration=9[over];\
[over][va0]overlay[over1];\
[over1][va1]overlay=format=yuv420[outv]" \
-vcodec libx264 -map [outv] out.mp4

这将在第1秒(d = 1)期间将第一个视频淡化为第4秒(st = 4),在1秒(d = 1)期间以0秒(st = 0)淡化第二个视频(d = 1)将显示时间向前移动到4秒(+ 4 / TB)。然后我们只剪了9秒的黑色,缩放它以输出视频大小并覆盖这些东西。

希望有所帮助。

作者:,ptQa

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章