如何使用ffmpeg在连接视频之间制作淡入/淡出效果

时间:2018-02-07 17:04:12

标签: video ffmpeg

我有三个视频,分为三个部分是开始然后主视频然后视频结束我将它们连接在一起我想在第一个视频结束时和开始时添加淡入/淡出效果第三个视频,所以它们与观众很好地分开。
我使用此代码通过将视频名称添加到文本文件

来将视频连接在一起
ffmpeg -f concat -i ffmpeg-sound.txt -c copy final_output.mp4

现在应该通过什么命令,所以我可以添加这个效果,因为我不擅长ffmgep。或者是否还有其他事情要遵循 提前致谢

1 个答案:

答案 0 :(得分:4)

使用fadeconcat过滤器。在这个例子中,每个输入都是30秒长,每个完整的淡入淡出都是4秒长。

ffmpeg -i in.mp4 -i main.mp4 -i out.mp4 -filter_complex \
  "[0:v]fade=type=out:duration=2:start_time=28,setpts=PTS-STARTPTS[v0]; \
   [1:v]fade=type=in:duration=2,fade=type=out:duration=2:start_time=28,setpts=PTS-STARTPTS[v1]; \
   [2:v]fade=type=in:duration=2,setpts=PTS-STARTPTS[v2]; \
   [v0][0:a][v1][1:a][v2][2:a]concat=n=3:v=1:a=1[v][a]" \
  -map "[v]" -map "[a]" output.mp4

这假设每个输入具有相同的参数(宽度,高度,蒸汽数量等)。如果没有,则添加各种过滤器,例如scale,以使每个输入符合一组公共参数。这个网站上有很多例子说明了如何做到这一点。