如何使用 FFMPEG 在叠加层内添加淡入淡出?
How to add a fade in within overlay with FFMPEG ?
我想知道如何在 -filter_complex 'overlay' 中添加选项 "fade in"。
基本叠加层
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 参数构建方面的帮助!
使用
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,因此需要将图像转换为具有 alpha 的像素格式。此外,FFmpeg 是一种基于时间的流处理器,单个图像被视为 25 fps 的一帧,因此持续 0.04 秒,因此我添加了一个循环以从中生成视频流,这是淡入淡出所需的生效。
覆盖过滤器接受两个输入,所以我将所有焊盘分配给显式路由。由于图像无限循环,添加最短的图像以在主视频结束时停止叠加。
我想知道如何在 -filter_complex 'overlay' 中添加选项 "fade in"。
基本叠加层
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 参数构建方面的帮助!
使用
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,因此需要将图像转换为具有 alpha 的像素格式。此外,FFmpeg 是一种基于时间的流处理器,单个图像被视为 25 fps 的一帧,因此持续 0.04 秒,因此我添加了一个循环以从中生成视频流,这是淡入淡出所需的生效。
覆盖过滤器接受两个输入,所以我将所有焊盘分配给显式路由。由于图像无限循环,添加最短的图像以在主视频结束时停止叠加。