如何使用FFMpeg通过交叉淡入过渡连接两个视频

如何使用FFMpeg通过交叉淡入过渡连接两个视频,ffmpeg,Ffmpeg,我已尝试此命令,但未生成预期结果 finalDuration = video1Duration + video2Duration - transitionDuration ffmpeg -i video1.mp4 -i video2.mp4 -filter_complex "color=black:1080x720:d={finalDuration}[base]; [0:v]setpts=PTS-STARTPTS[v0]; [1:v]format=yuva420p,fade=in:

我已尝试此命令,但未生成预期结果

finalDuration = video1Duration + video2Duration - transitionDuration

ffmpeg -i video1.mp4 -i video2.mp4 -filter_complex "color=black:1080x720:d={finalDuration}[base];  [0:v]setpts=PTS-STARTPTS[v0]; [1:v]format=yuva420p,fade=in:st=0:d={transitionDuration}:alpha=1,      setpts=PTS-STARTPTS+((1)/TB)[v1];  [base][v0]overlay[tmp];  [tmp][v1]overlay,format=yuva420p[fv]; [0:a][1:a]acrossfade=d={transitionDuration}[fa]" -map "[fv]" -map "[fa]" output.mp4
注意:变量显示在
{}
中。我们需要用实际值替换变量。

使用和过滤器。假设
input0.mp4
的持续时间为10秒,您希望淡入淡出持续时间为1秒:

ffmpeg -i input0.mp4 -i input1.mp4 -filter_complex "[0:v][1:v]xfade=transition=fade:duration=1:offset=9[v];[0:a][1:a]acrossfade=duration=1[a]" -map "[v]" -map "[a]" output.mp4
另请参见。

使用和过滤器。假设
input0.mp4
的持续时间为10秒,您希望淡入淡出持续时间为1秒:

ffmpeg -i input0.mp4 -i input1.mp4 -filter_complex "[0:v][1:v]xfade=transition=fade:duration=1:offset=9[v];[0:a][1:a]acrossfade=duration=1[a]" -map "[v]" -map "[a]" output.mp4
另见