ffmpeg - 如何使用 FFMPEG 在叠加层中添加淡入效果?

标签 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' 输出.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' 输出.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 channel 上运行,但 JPEG 没有 Alpha,因此需要将图像转换为具有 Alpha 的像素格式。此外,FFmpeg 是一种基于时间的流处理器,单个图像被视为 25 fps 的一帧,因此持续 0.04 秒,因此我添加了一个循环来从中生成视频流,这是淡入淡出所需的生效。

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

关于ffmpeg - 如何使用 FFMPEG 在叠加层中添加淡入效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38633369/

相关文章:

c# - 使用 ffmpeg.autogen 将 HLS 视频源重新流式传输到 RTMP

css - 如何在叠加层上居中加载图像

javascript - jQuery fadeOut 一个 div,fadeIn 另一个在它的位置

javascript - 当您打开 Accordion 选项卡时,使背景图像淡入加载并消失

android - 如何在android中使用ffmpeg将wav文件转换为mp4?

audio - 用ffmpeg中的部分mp3替换mp4文件的音频

ffmpeg - 使用 ffmpeg 将两个 MP3 文件添加到一个 MP4 文件中

java - 免安装应用上的叠加权限

linux - 使用 ffmpeg 叠加黑线或为两个并排视频添加边框

javascript - 为 intl-tel-input 插件添加淡入淡出效果