BlurMask Ffmpeg 中的无效半径值

Invalid radius value in BlurMask Ffmpeg

我正在使用 boxblur 滤镜使用裁剪库模糊视频的特定区域,当我触发命令时,有时效果很好,但有时却显示错误。 命令和错误如下:

ffmpeg -ss 00:00 -t 02:43 -i input.mp4 
-filter_complex crop=28:24:20:14,boxblur=25[fg];[0:v][fg]overlay=20:14,
-vcodec libx264 output.mp4

这是抛出错误 - Invalid luma_param radius value 25, must be >= 0 and <= 12

在这个命令中crop=...可以根据用户需要而变化,boxblur=25是静态的。 因此,如果错误与 boxblur 有关,那么问题是为什么有时它会起作用,或者如果这不是问题,那么问题和解决方案是什么?

boxblur 值必须小于或等于较小的输入尺寸(宽度或高度)除以 2。通过输入,我指的是给 boxblur 的输入:在您的情况下,它来自裁剪过滤器。因此,如果 crop=28:24 则 boxblur 最大值为 12。如果 crop=20:100 则 boxblur 最大值为 10。

解决方案是在裁剪前使用 boxblur:

ffmpeg -ss 00:00 -t 02:43 -i input.mp4 -filter_complex "boxblur=25,crop=28:24:20:14[fg];[0:v][fg]overlay=20:14" -c:v libx264 output.mp4