按照 Gyan 解决方案中的指示问题,ffmpeg 可用于通过延时溶解过渡来交错两个音频/视频输入。例如,此命令将每个输入分为 6 秒的片段,并在两者之间引入平滑的交替 0.5 秒淡入/淡出:
ffmpeg -i input1.mkv -i input2.mkv -filter_complex "[0][1]blend=all_expr='if(mod(trunc(T/6),2),min(1,2*(T-6*trunc(T/6))),max(0,1-2*(T-6*trunc(T/6))))*A+if(mod(trunc(T/6),2),max(0,1-2*(T-6*trunc(T/6))),min(1,2*(T-6*trunc(T/6))))*B';[0]volume='if(mod(trunc(t/6),2),min(1,2*(t-6*trunc(t/6))),max(0,1-2*(t-6*trunc(t/6))))':eval=frame[a]; [1]volume='if(mod(trunc(t/6),2),max(0,1-2*(t-6*trunc(t/6))),min(1,2*(t-6*trunc(t/6))))':eval=frame[b];[a][b]amix" output.mkv
(在原始问题中,类似的命令采用更易于阅读的格式。)
6
我发现我可以通过更改上述命令中的变量来更改视频剪辑的持续时间。我不知道的是如何增加过渡效果的持续时间。有问题的命令不使用fade
视频过滤器,而是使用更迟钝的数学公式。
我已经阅读了手册,测试了命令中的许多变量,还询问了类似的问题几个月前。如何增加上述 ffmpeg-filter_complex
命令中多个视频剪辑之间的过渡效果的持续时间?