我试图将包含黑白动画文字的视频混合到静态背景图像上。我可以成功地混合它们,但无论我使用什么混合模式,我都无法获得我想要的效果。
我正在寻找类似于Photoshop的效果'添加'混合模式,其中每个像素的颜色值加在一起。这导致顶层(视频)具有黑色像素的位置没有变化,从而有效地使黑色背景显得透明。
ffmpeg -i text.mp4 -loop 1 -i image.jpg \
-filter_complex 'blend=all_mode=addition' -t 1 result.mp4
我尝试了blend
过滤器的所有模式,但它们都没有产生这种效果。我认为Addition是可以工作的,但结果视频有粉红色调。也许颜色通道之间存在一些不匹配?
我怎样才能得到我正在寻找的结果?
答案 0 :(得分:2)
如果无需显示视频中的黑色像素,则可以使用
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过滤器将其第二个输入的灰度版本添加为第1个alpha通道。叠加过滤器对其输入进行alpha混合。