11——FFmpeg命令行实现视频抠图

2020-04-10 16:46:14 浏览数 (1)

哈喽,欢迎回来,上一讲我们讲了如何使用FFmpeg命令行实现多宫格的效果,本期我们趁热打铁,继续向前,来学习一下如何使用FFmpeg命令行实现视频抠图!闲言少叙,接下来我们步入正题。

一、前言

说到抠图,大家第一时间可能想到的是图片,想到的是强大的PS(Photoshop),对于视频而言,也可以实现抠图,使用FFmpeg命令行即可实现这一点。

二、命令

代码语言:javascript复制
ffmpeg -i in_1.mp4 -i in_3.mp4 -shortest -filter_complex "[1:v]chromakey=red:0.3:0.9[ckout];[0:v][ckout]overlay[out]" -map "[out]" output.mp4

三、参数解释

-i:指定输入视频文件名,注意抠图需要两个视频文件

-shortest: 表示在最短输入内编码

-filter_complex: 表示使用复杂滤镜

chromakey=red:0.3:0.9: chromakey是抠图时所使用的核心滤镜,其后参数用于抠图,感兴趣的朋友可以自行多学习chromakey色度滤镜

overlay: 抠图的视频与目的视频使用overlay滤镜结合

关于标签的使用同多宫格的描述

四、材料准备

两个视频文件,一个用作抠图后叠加的目标视频,另一个有比较明显的底色,我们在该视频抠图。笔者所测用于抠图的视频,是选了两张红底的人像照片做成的,目的为了演示效果更直观。如下图:

目标视频(in_1.mp4)

用于抠图视频(in_3.mp4)

五、实战视频

http://mpvideo.qpic.cn/tjg_3008399366_50000_ea1a8e709b5847ecb5f9ad21babff177.f10002.mp4?dis_k=714e3ffab98226f0693778a26c1e34fd&dis_t=1586508279

六、抠图合并后效果图

0 人点赞