ffmpeg实现视频马赛克特效

ffmpeg实现视频马赛克特效

boxblur实现

对区域图层做模糊效果后再叠加到原来的图层上

ffmpeg -t 10 -i input.mp4 -filter_complex “[0:v]crop=w=100:h=100:x=300:y=300,boxblur=luma_radius=25:luma_power=2[boxblur];[0:v][boxblur]overlay=300:300[vout]” -map “[vout]” -map 0:a -c:v libx264 -crf 28 -preset veryfast -c:a copy -movflags +faststart output.mp4 -y

ffmpeg -t 10 -i input.mp4  -filter_complex  "[0:v]crop=w=100:h=100:x=300:y=300,boxblur=luma_radius=25:luma_power=2[boxblur];[0:v][boxblur]overlay=300:300[vout]" -map "[vout]" -map 0:a -c:v libx264 -crf 28 -preset veryfast -c:a copy -movflags +faststart output.mp4 -y 

boxblur的值范围为[0,25]模糊像素
chroma_param radius value must be >= 0 and <= 25
boxblur的用法参考:
http://ffmpeg.org/ffmpeg-filters.html#boxblur

ffmpeg -t 10 -i input.mp4 -filter_complex “[0:v]split[blurin][originalin];[blurin]crop=w=100:h=100:x=300:y=300,boxblur=luma_radius=5:luma_power=5[blurout];[originalin][blurout]overlay=x=300:y=300[vout]” -map “[vout]” -map 0:a -c:v libx264 -crf 28 -preset veryfast -c:a copy -movflags +faststart output.mp4 -y

ffmpeg -t 10 -i input.mp4 -filter_complex "[0:v]split[blurin][originalin];[blurin]crop=w=100:h=100:x=300:y=300,boxblur=luma_radius=5:luma_power=5[blurout];[originalin][blurout]overlay=x=300:y=300[vout]" -map "[vout]" -map 0:a -c:v libx264 -crf 28 -preset veryfast -c:a copy -movflags +faststart output.mp4 -y 

这种方式与上面一样,只是通过split把源分为2个,打上标签后一个做模糊再overlay。

delogo实现

ffmpeg -t 10 -i input.mp4 -filter_complex “delogo=x=300:y=300:w=100:h=100” -c:v libx264 -crf 28 -preset veryfast -c:a copy -movflags +faststart output.mp4 -y

ffmpeg -t 10 -i input.mp4 -filter_complex "delogo=x=300:y=300:w=100:h=100" -c:v libx264 -crf 28 -preset veryfast -c:a copy -movflags +faststart output.mp4 -y  

通过周围的像素做插值计算实现。

overlay叠加半透明图片

在视频的上面叠加一个半透明的图片实现
ffmpeg -i input.mp4 -i other.png -filter_complex “overlay=x=(main_w-overlay_w)/2:y=(main_h-overlay_h)/2” -c:v libx264 -crf 28 -preset veryfast -c:a copy -movflags +faststart output.mp4 -y

ffmpeg -i input.mp4 -i other.png -filter_complex "overlay=x=(main_w-overlay_w)/2:y=(main_h-overlay_h)/2" -c:v libx264 -crf 28 -preset veryfast -c:a copy -movflags +faststart output.mp4 -y
总结

个人感觉 deloge实现的效果比较好,推荐

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值