【问题标题】:Layer black & white video over background so black pixels are transparent in FFMPEG在背景上分层黑白视频,使黑色像素在 FFMPEG 中透明
【发布时间】:2018-02-04 13:20:11
【问题描述】:

我正在尝试在静态背景图像上混合包含黑白动画文本的视频。我可以成功地混合它们,但是无论我使用什么混合模式都无法获得我想要的效果。

我正在寻找一种类似于 Photoshop 的“添加”混合模式的效果,其中每个像素的颜色值相加在一起。这不会导致顶层(视频)的黑色像素发生变化,从而有效地使黑色背景显得透明。

这就是我想要实现的目标:

ffmpeg -i text.mp4 -loop 1 -i image.jpg \ -filter_complex 'blend=all_mode=addition' -t 1 result.mp4

我尝试了blend 滤镜的所有模式,但都没有产生这种效果。我认为 Addition 是可行的,但生成的视频带有粉红色调。也许颜色通道之间存在一些不匹配?

我怎样才能得到我想要的结果?

【问题讨论】:

    标签: ffmpeg


    【解决方案1】:

    如果不需要显示视频中的黑色像素,您可以使用

    ffmpeg -i text.mp4 -loop 1 -i image.jpg \
     -filter_complex '[0]split[m][a];[m][a]alphamerge[keyed]; \
                      [1][keyed]overlay=eof_action=endall' result.mp4
    

    alphamerge 过滤器将其第二个输入的灰度版本作为 alpha 通道添加到第一个。覆盖过滤器对其输入进行 alpha 混合。

    【讨论】:

      猜你喜欢
      • 2019-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-22
      • 2013-03-06
      • 1970-01-01
      相关资源
      最近更新 更多