欢迎访问我的网站,希望内容对您有用,感兴趣的可以加入我们的社群。

使用 ffmpeg 进行视频模糊处理

ffmpeg 迷途小书童 4年前 (2021-07-09) 3657次浏览 0个评论

环境

  • windows 10 64bit
  • ffmpeg N-93125-gdbfd042983

前言

模糊是视频后期制作中的一项重要工作。我们可以使用 ffmpegboxblur 来进行视频模糊,而不是使用昂贵的专用商业软件。本文我们将使用 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)

ffmpeg boxblur

  • overlay=300:350 这个值决定了在 cropoverlay 的位置。除非是有特殊需求,一般都是设置为 crop 中的最后2个坐标值,这样可以确保模糊效果位置处于 crop

  • 参数10代表的是模糊系数。当然你也可以单独设置 lumachromaalpha。如果不设置的话,那么它的默认值是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的模糊处理后的区域

ffmpeg boxblur

我们把上面的10改成50,看看效果

ffmpeg boxblur

可以看到,这个数值越大,就越模糊

最后,我们再来看个实例,我们将视频中指定区域之外的部分进行模糊

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

最后生成的效果是这样的

ffmpeg boxblur

喜欢 (0)

您必须 登录 才能发表评论!