ffmpeg实现视频模糊效果
环境windows 10 64bitffmpeg N-93125-gdbfd042983前言模糊是视频后期制作中的一项重要工作。我们可以使用ffmpeg的boxblur来进行视频模糊,而不是使用昂贵的专用商业软件。本文我们将使用boxblur的功能来进行视频的模糊处理。boxblur的基本使用在看完整的命令之前,先看看如何在复杂滤镜filter_complex中使用boxblur"[0:v]cro
环境
- 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表示400x400像素的区域,其左上角的坐标为(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
下图是输出的样子,视频中有一块200x400的模糊处理后的区域

我们把上面的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
最后生成的效果是这样的

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)