如何用FFmpeg为叠加视频1.mp4添加蒙版并解决色损问题
FFmpeg 视频叠加带蒙版解决方案
直接用alphamerge结合negate滤镜替代chromakey,避免颜色丢失问题,命令如下:
ffmpeg -i 2.mp4 -i 1.mp4 -i mask.png -filter_complex "[2:v]negate[inv_mask];[1:v][inv_mask]alphamerge[overlay_vid];[0:v][overlay_vid]overlay" -an output.mp4
命令拆解:
-i 2.mp4:指定底层视频文件-i 1.mp4:指定需要叠加的上层视频文件-i mask.png:指定蒙版图片文件[2:v]negate[inv_mask]:对蒙版执行颜色反转,适配后续透明通道合并的逻辑(解决原chromakey导致的颜色丢失问题)[1:v][inv_mask]alphamerge[overlay_vid]:将反转后的蒙版与上层视频合并,生成带透明通道的叠加层视频[0:v][overlay_vid]overlay:把处理好的叠加层视频覆盖到底层视频上-an:禁用音频输出,符合需求
如果你的蒙版本身是白色区域为透明、黑色区域为不透明,可以去掉negate滤镜,直接使用[2:v]format=rgba[mask];[1:v][mask]alphamerge[overlay_vid]替换对应滤镜段即可。
内容的提问来源于stack exchange,提问作者Talha Khalid
相关产品推荐
相关产品推荐

