ffmpeg 给视频或者图片添加水印和马赛克的方法

可以使用 FFmpeg 给视频或图片添加水印和马赛克。以下是具体方法:

  1. 添加水印

如果需要给视频添加水印,可以使用 overlay 滤镜。该滤镜将两个输入叠加在一起,即将视频和水印画面结合在一起。以下是一个简单的例子:

ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:10" output.mp4

其中 -i input.mp4 表示指定输入文件,-i watermark.png 表示指定水印文件。filter_complex 是用于连接多个滤镜的语法,overlay=10:10 指定水印文件在视频画面上的位置,这里是相对于左上角偏移 10 个像素的位置。最后生成新的视频文件 output.mp4。

如果需要调整水印的大小、透明度等属性,可以加入不同的参数进行设置。比如:

ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=W-w-10:H-h-10:alpha=0.5" output.mp4

其中 WH 表示视频画面的宽度和高度,wh 分别表示水印图片的宽度和高度。alpha=0.5 表示设置水印透明度为 0.5。

如果需要给图片添加水印,可以使用类似的命令:

ffmpeg -i input.jpg -i watermark.png -filter_complex "overlay=10:10" output.jpg
  1. 添加马赛克

如果需要给视频或图片添加马赛克,可以使用 boxblur 滤镜。该滤镜将指定区域变成模糊效果,从而达到马赛克的效果。以下是一个简单的例子:

ffmpeg -i input.mp4 -filter_complex "[0:v]boxblur=10[blur];[blur]crop=200:200:300:300,boxblur=10[cropped];[0:v][cropped]overlay=300:300" output.mp4

其中 -i input.mp4 表示指定输入文件。[0:v]boxblur=10[blur] 表示对视频画面进行模糊处理,模糊半径为 10 像素,保存为一个中间变量 blur。[blur]crop=200:200:300:300,boxblur=10[cropped] 表示对模糊后的视频画面进行裁剪,只保留左上角起始坐标为 (300, 300),宽高为 200 的区域,并再次进行模糊处理,保存为一个中间变量 cropped。最后使用 overlay 滤镜将原始视频和裁剪后的带马赛克画面叠加在一起,生成新的视频文件 output.mp4。

如果需要调整马赛克的大小、位置、形状等属性,可以加入不同的参数进行设置。

如果视频中的水印和马赛克无法通过软件工具进行剔除,可以尝试使用 FFmpeg 或类似的工具,在视频上添加其他的图层来遮盖住这些区域。

以下是使用 FFmpeg 添加图层的方法:

  1. 准备好需要添加的图层,可以是一张图片、一段文字或另一个视频等。

  2. 在命令行中输入以下命令:

ffmpeg -i input.mp4 -i watermark.png -filter_complex "[0:v][1:v] overlay=x=W-w-10:y=10" -c:a copy output.mp4

其中,-i input.mp4 表示指定输入文件,-i watermark.png 表示指定需要添加的图层文件。[0:v][1:v] 表示将输入文件和图层文件作为滤镜链的两个输入,overlay=x=W-w-10:y=10 表示使用 overlay 滤镜将图层添加到视频画面的指定位置上,这里的 (x, y) 表示图层左上角相对于视频画面左上角的距离,Ww 分别表示视频画面和图层的宽度。-c:a copy 表示保留视频文件中的音频流。最后生成新的视频文件 output.mp4。

  1. 根据需要进行调整,比如调整图层大小、位置、透明度等,可以在命令中加入不同的参数进行设置。

请注意,添加图层也有可能影响视频的视觉效果,因此需要根据实际情况谨慎使用。 

猜你喜欢

转载自blog.csdn.net/huapeng_guo/article/details/130152259