video - 如何使用 ffmpeg 或 imagemagick 将两个图像序列与 alpha channel 批量组合?

标签 video ffmpeg imagemagick png alpha

也欢迎使用其他工具或简单 API。

我有一系列带有 alpha 的 png,我想覆盖在几个视频之上。
使用 ffmpeg 会很棒,但使用 imagemagick 也是可以接受的。我可以提取视频中的所有帧并使用 imagemagick 批量混合每一帧然后重新编码(重新编码是可以接受的)。

最佳答案

ffmpeg例子。您提到了“两个序列”,因此此示例假设您有两组按顺序编号的图像:

ffmpeg -i input.mp4 -framerate 25 -i blue_%04d.png -framerate 25 -i red_%04d.png -filter_complex "[0][1]overlay=10:10:format=auto[bg];[bg][2]overlay=W-w-10:10:format=auto[v]" -map "[v]" -map 0:a? -c:a copy output.mp4

enter image description here
叠加展示位置示例。
  • 第一个图像序列(“blue”)将放置在左上角,内边距为 10 像素,第二个图像序列(“red”)位于右上角。如果你想要左下角:10:H-h-10 .如果你想要右下角:W-w-10:H-h-10 .
  • 此示例中的图像命名为 blue_0001.png , blue_0002.png , blue_0003.png等。“red”序列的模式相同。
  • image file demuxeroverlay filter了解更多信息。
  • 关于video - 如何使用 ffmpeg 或 imagemagick 将两个图像序列与 alpha channel 批量组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50263172/

    相关文章:

    html - 在 slider 中安装视频 (Bootstrap 4.0)

    android - Android 相机的 Mime 类型 PreviewFormat

    ffmpeg - 我正在使用 ffmpeg 使用过滤器图将图像覆盖在实时流之上,但是当输入分辨率发生变化时,覆盖消失

    image-processing - ImageMagick:将 AE 失真除以 fx 输出信息格式中的总像素

    ruby-on-rails - 用于调整大小的 ImageMagick 的替代方案

    php - 访问安装在 public_html 网络空间上方的 FFMPEG

    javascript - 是否可以每隔一段时间暂停视频,然后请求验证码继续播放?

    ffmpeg - 使用 ffmpeg/vlc 其他资源将多个公共(public)域直播保存到磁盘?

    java - 从命令行调用 ffmpeg 不会等到文件完全写入硬盘驱动器

    c - MagickCore 将图像数据写入标准输出而不是文件名