我想对带有前 x 帧的视频的最后 x 帧应用交叉淡入淡出,以获得无缝循环。
我怎样才能做到这一点?
假设您的视频时长为 30 秒,而您的淡入淡出时长为 1 秒。你的命令是
ffmpeg -i video.mp4 -filter_complex
"[0]split[body][pre];
[pre]trim=duration=1,format=yuva420p,fade=d=1:alpha=1,setpts=PTS+(28/TB)[jt];
[body]trim=1,setpts=PTS-STARTPTS[main];
[main][jt]overlay" output.mp4
视频被分成两个相同的流。第一个被修剪到仅第一秒,添加了一个 Alpha 通道,然后褪色。第一个流上的最后一个过滤器将其延迟 28 秒,因为最终输出将修剪掉原始剪辑的第一秒并与最后一秒重叠。第二个流被修剪以开始,t=1
并且处理的第一个流覆盖在第二个流上。由于 Alpha 通道在第一个流中淡入淡出,因此它交叉淡入淡出。