gpt4 book ai didi

video - FFMPEG:更改过滤器可防止视频模糊

转载 作者:行者123 更新时间:2023-12-04 22:46:41 27 4
gpt4 key购买 nike

我是 FFMPEG 的新手,我已经工作了几天。我尝试了给出的代码
FFmpeg - Apply blur over face
.我有一个视频 208 X 208分辨率,我需要在视频上模糊一个矩形,具有一些宽度/高度和顶部/左侧偏移。以下代码成功模糊视频
ffmpeg -i test1.mov -filter_complex "[0:v]crop=10:10:1:1,boxblur=1[b0];[0:v][b0]overlay=10:10" intro-blur.movffmpeg -i test1.mov -filter_complex "[0:v]crop=50:50:1:1,boxblur=1[b0];[0:v][b0]overlay=10:10" intro-blur.mov
但以下不
ffmpeg -i test1.mov -filter_complex "[0:v]crop=5:5:1:1,boxblur=10[b0];[0:v][b0]overlay=10:10" intro-blur.movffmpeg -i test1.mov -filter_complex "[0:v]crop=10:10:1:1,boxblur=10[b0];[0:v][b0]overlay=10:10" intro-blur.movffmpeg -i test1.mov -filter_complex "[0:v]crop=20:20:1:1,boxblur=10[b0];[0:v][b0]overlay=10:10" intro-blur.mov
我想知道为什么会这样?不工作的代码有什么问题。

提前致谢。

最佳答案

boxblur 的文档说,

The radius value must be a non-negative number, and must not be greater than the value of the expression min(w,h)/2 for the luma and alpha planes, and of min(cw,ch)/2 for the chroma planes.





If not specified, chroma_radius and alpha_radius default to the corresponding value set for luma_radius.



所以,在 crop=20:20:1:1,boxblur=10
对于亮度平面条件,值 10应该等于或小于 min(20,20)/2 = 10 .经过

但由于您没有指定色度半径的值,它的计算结果为 20 .现在,大多数视频都是 YUV 4:2:0,即色度平面的宽度和高度是亮度平面的一半,所以在 crop=20:20:1:1,boxblur=10 ,

对于色度平面,值 10应该等于或小于 min(10,10)/2 = 5 .失败!

补救方法是要么确保半径值满足条件,要么在模糊之前插入格式过滤器。
crop=20:20:1:1,format=yuv444p,boxblur=10
您仍然必须确保模糊半径等于或小于裁剪区域最小尺寸的一半。

关于video - FFMPEG:更改过滤器可防止视频模糊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38300064/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com