ffmpeg如何复用同一boxblur滤镜同时对视频多个区域做模糊处理
双区域模糊实现方法
你可以直接在filter_complex参数中按顺序定义多个模糊片段,依次叠加即可,FFmpeg支持在滤镜链中任意次调用同一个滤镜,不需要额外配置。
以下是双区域模糊的示例命令,你只需要修改第二个区域的crop和overlay参数为你实际需要的坐标和尺寸即可:
$ ffmpeg -i ACCT.mp4 \ -filter_complex "[0v]crop=850:100:140:175,boxblur=10[fg1]; \ [0v]crop=你的区域2宽度:你的区域2高度:你的区域2x坐标:你的区域2y坐标,boxblur=10[fg2]; \ [0v][fg1]overlay=140:175[tmp]; \ [tmp][fg2]overlay=你的区域2x坐标:你的区域2y坐标[v]" \ -map "[v]" \ blurredVideo.mp4
命令逻辑说明
- 先对第一个目标区域做裁剪+模糊处理,输出标记为
fg1 - 再对第二个目标区域做裁剪+模糊处理,直接复用同一个
boxblur滤镜即可,输出标记为fg2 - 将
fg1叠加到原视频上,得到中间视频流tmp - 将
fg2叠加到中间视频流tmp上,得到最终输出视频流v
如果需要模糊更多区域,只需要按照上述规则新增对应的裁剪+模糊步骤,生成新的片段标记后依次叠加到上一步的中间流上即可,所有模糊区域都可以复用同一个boxblur滤镜配置。
内容的提问来源于stack exchange,提问作者Faxopita
相关产品推荐
相关产品推荐

