我正在尝试使用 FFmpeg 来模糊视频的一部分(特别是为了模糊人脸)。
我一直在尝试使用时间线编辑和各种模糊过滤器的组合,但我找不到一种方法来只模糊视频的一部分。
我希望是这样的:
-vf boxblur=enable='between(t,10,100)':width=20:height=20:x=400:y=200
Run Code Online (Sandbox Code Playgroud)
凡width/height模糊盒的大小和x/y模糊箱的位置。
这样的事情可能吗?
llo*_*gan 49
可以对片段/部分应用时间和空间模糊 - 假设您要模糊的区域是静态位置。

原始的黑色实验室小狗图像。
您可以制作灰度蒙版图像以指示要模糊的区域。为便于使用,它应与要模糊的图像或视频的大小相同。
使用alphamerge、avgblur和overlay 的示例:
ffmpeg -i video.mp4 -i mask.png -filter_complex "[0:v][1:v]alphamerge,avgblur=10[alf];[0:v][alf]overlay[v]" -map "[v]" -map 0:a -c:v libx264 -c:a copy -movflags +faststart maskedblur.mp4
Run Code Online (Sandbox Code Playgroud)
白色区域是会发生模糊的地方,但这可以很容易地用negate过滤器逆转,例如:[1:v]negate[mask];[0:v][mask]alphamerge,avgblur=10[alf]...
您可以使用geq过滤器生成诸如渐变之类的蒙版。

ffmpeg -i input.mp4 -filter_complex "[0:v]crop=200:200:60:30,avgblur=10[fg];[0:v][fg]overlay=60:30[v]" -map "[v]" -map 0:a -c:v libx264 -c:a copy -movflags +faststart derpdogblur.mp4
Run Code Online (Sandbox Code Playgroud)
注:在覆盖x和y偏移号(60和30在本例中)必须作物偏移相匹配。
这个例子的作用:
x轴)60 像素,向下(y轴)30 像素。x和y参数覆盖模糊区域。ffmpeg -i input.mp4 -filter_complex "[0:v]crop=50:50:20:10,avgblur=10[b0];[0:v]crop=iw:30:(iw-ow)/2:ih-oh,avgblur=10[b1];[0:v]crop=100:100:120:80,avgblur=10[b2];[0:v][b0]overlay=20:10[ovr0];[ovr0][b1]overlay=(W-w)/2:H-h[ovr1];[ovr1][b2]overlay=120:80" -c:a copy -movflags +faststart output.mp4
Run Code Online (Sandbox Code Playgroud)
ffmpeg -i input.mp4 -filter_complex "[0:v]avgblur=10[bg];[0:v]crop=200:200:60:30[fg];[bg][fg]overlay=60:30" -c:a copy -movflags +faststart output.mp4
Run Code Online (Sandbox Code Playgroud)
音频正在被流复制(重新混合)。无需重新编码,因此速度快并保持质量。
模糊区域将具有硬边。
如果您想在一定时间内模糊,请使用avgblur 或叠加层上的enable选项。
有关其他模糊过滤器(boxblur、dblur、gblur、sab、smartblur、unsharp、yaepblur),请参阅FFmpeg 过滤器文档。
一些相关问题:如何模糊视频中的短场景以及如何添加像素化效果。
对于谁不知道如何指定持续时间,这是一个示例
ffmpeg -i derpdog.mp4 -filter_complex \
"[0:v]crop=200:100:60:30,boxblur=10:enable='between(t,60*2,60*2+10)'[fg]; \
[0:v][fg]overlay=60:30[v]" \
-map "[v]" -map 0:a -c:v libx264 -c:a copy -movflags +faststart derpdogblur.mp4
Run Code Online (Sandbox Code Playgroud)
模糊将出现在x=60、y=30、width=200从height=100到second=120second=130
| 归档时间: |
|
| 查看次数: |
26492 次 |
| 最近记录: |