07——FFmpeg去除水印

2020-04-10 17:03:23 浏览数 (1)

俗话说,来而不往非礼也!上一期我们讲了如何使用FFmpeg命令行为视频添加水印,这一期就讲一下如何使用FFmpeg命令行来去除水印(也就是添加水印的逆操作)。

请神容易送神难,加水印容易,去水印可就没那么简单了!那么,具体如何去水印呢,首先简单描述一下原理吧!

任意的视频水印在视频画面中都一个矩形区域,而一个矩形区域,可以用(x,y,w,h)四个值描述其具体位置,用(x, y)来描述水印矩形区域的左上角坐标,用(x, y)描述水印矩形区域的宽度和高度。

确定了水印的区域,FFmpeg通过滤镜,对该区域进行模糊操作,如此,便可以实现去除水印的效果!

好了,熟悉了原理,接下来看去除水印的具体流程:

一、FFmpeg去除水印命令行

ffmpeg -i test.mp4 -vf delogo=x=?:y=?:w=?:h=?:show=? out.mp4

二、命令行参数解释

-i: 输入视频的文件名,此处为test.mp4,实际使用时填写需要去除水印的视频文件名即可

-vf delogo: -vf delogo 表示使用ffmpeg中去水印的滤镜

x=?:y=?:w=?:h=?:show=? 表示delogo滤镜的参数,x,y,w,h在原理部分已经详述,show表示是否显示矩形框,如果为0表示不显示,如果为1表示显示,此时会在我们所选的区域显示一个绿色的矩形框,show的默认值为0。

注意:去水印的时候我们需要手动的根据视频的分辨率去确定一下进行滤镜操作的矩形区域,这个过程可能就需要我们去不断的尝试,以确定最佳的矩形区域范围。不过本例中,以上一讲添加的水印为例,故知道其位置为100:50:250:46,即该水印从视频画面的(100,50)坐标开始,水印的宽为250像素,高为46像素。

三、实战

使用命令行操作:

看下效果:

显示绿色边框的效果:

不显示绿色边框的效果:

0 人点赞