如何使用FFMPEG在叠加层中添加淡入淡出?

时间:2016-07-28 10:10:58

标签: ffmpeg overlay fadein fadeout

我想知道如何在-filter_complex'overlay'中添加“淡入”选项。

基本叠加

ffmpeg -i movie.mp4 -i image.jpg -c:v libx264 -filter_complex 'overlay=x=main_w-overlay_w-100:y=main_h-overlay_h-100' output.mp4

image.jpg fade = in应该像filter_complex一样吗?

ffmpeg -i movie.mp4 -i image.jpg -c:v libx264 -filter_complex 'fade=in:st=0:d=5:alpha=1, overlay=x=main_w-overlay_w-100:y=main_h-overlay_h-100' output.mp4

非常感谢您在构建-filter_complex参数方面提供的帮助!

1 个答案:

答案 0 :(得分:5)

使用

ffmpeg -i movie.mp4 -loop 1 -i image.jpg -filter_complex
      "[1]format=yuva420p,fade=in:st=0:d=5:alpha=1[i];
       [0][i]overlay=W-w-100:H-h-100:shortest=1"
-c:v libx264 output.mp4

您的淡入淡出过滤器设置为在Alpha通道上运行,但JPEG没有alpha,因此需要将图像转换为像素格式。此外,FFmpeg是一个基于时间的流处理器,单个图像被视为一帧25 fps,因此持续0.04秒,所以我添加了一个循环来生成一个视频流,这是淡入淡出所需要的生效。

叠加滤波器接收两个输入,因此我为显式路由分配了所有焊盘。由于图像无限循环,因此添加最短时间以在主视频结束时停止叠加。

相关问题