环境
- windows 10 64bit
- ffmpeg N-93125-gdbfd042983
前言
模糊是视频后期制作中的一项重要工作。我们可以使用 ffmpeg
的 boxblur
来进行视频模糊,而不是使用昂贵的专用商业软件。本文我们将使用 boxblur
的功能来进行视频的模糊处理。
boxblur的基本使用
在看完整的命令之前,先看看如何在复杂滤镜 filter_complex
中使用 boxblur
"[0:v]crop=400:400:300:350,boxblur=10[fg]; [0:v][fg]overlay=300:350[v]"
解释一下:
crop=400:400:300:350
表示400×400像素的区域,其左上角的坐标为(300, 350)
-
overlay=300:350
这个值决定了在crop
中overlay
的位置。除非是有特殊需求,一般都是设置为crop
中的最后2个坐标值,这样可以确保模糊效果位置处于crop
框 -
参数10代表的是模糊系数。当然你也可以单独设置
luma
、chroma
和alpha
。如果不设置的话,那么它的默认值是2
实操
ffmpeg -i test.mp4 -filter_complex "[0:v]crop=200:200:300:350,boxblur=10[fg]; [0:v][fg]overlay=300:350[v]" -map "[v]" output.mp4
下图是输出的样子,视频中有一块200×400的模糊处理后的区域
我们把上面的10改成50,看看效果
可以看到,这个数值越大,就越模糊
最后,我们再来看个实例,我们将视频中指定区域之外的部分进行模糊
ffmpeg -i test.mp4 -filter_complex "[0:v]boxblur=10[bg];[0:v]crop=200:200:300:350[fg];[bg][fg]overlay=300:350" -map 0:v output.mp4
最后生成的效果是这样的