视频黑屏检测,时长检测 blackdetect

ffmpeg 的 blackdetect 滤镜实现对视频黑屏画面时间段的检测

1 参数简介

  • blackdetect filter :
    检查视频中纯黑色画面的时间段。在检查视频中的过渡片段、广告或者非法数据等黑屏画面时很有效。输出数据包含黑屏片段的起始点,以及黑屏时长,单位为秒。

  • black_min_duration, d:
    设置黑场时间阈值,只有黑场的连续时间大于门限值才认为是黑场视频。阈值大于等于0,默认2.0。

  • picture_black_ratio_th, pic_th:
    设置黑场的判断阈值,nb_black_pixels/nb_pixels(黑场像素/总像素),该值为百分比,大于等于此阈值认为此帧图片是黑场. 默认值0.98.

  • pixel_black_th, pix_th:
    设置黑场像素的判断阈值,默认值0.10。根据此阈值计算绝对阈值,低于绝对阈值的像素认为是黑场像素点。
    绝对阈值计算公式如下:
    absolute_threshold = luminance_minimum_value + pixel_black_th * luminance_range_size
    luminance_range_size and luminance_minimum_value 依赖输入视频的格式, 对于YUV full-range 其范围是 [0-255],对于YUV non full-range 其范围是 [16-235];

  • 例子:
    blackdetect=d=2:pix_th=0.00
    该命令设置黑色像素判断的阈值为0,检查黑屏时长不小于2s的片段。

2 参考命令

ffmpeg -loglevel info  -i ~/test.mp4  -vf blackdetect=d=0.5:pic_th=0.80  -f null -
ffmpeg -loglevel info  -i ~/test.mp4  -vf blackdetect=d=0.5:pix_th=0.40  -f null -

3 输出参考

Output #0, null, to 'pipe:':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.20.100
    Stream #0:0(und): Video: wrapped_avframe, yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc (default)
    Metadata:
      handler_name    : VideoHandler
      encoder         : Lavc58.35.100 wrapped_avframe
    Stream #0:1(und): Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      encoder         : Lavc58.35.100 pcm_s16le
[blackdetect @ 0x7fa311747180] black_start:0.08 black_end:1.04 black_duration:0.96
[blackdetect @ 0x7fa311747180] black_start:5.16 black_end:6.4 black_duration:1.24
[blackdetect @ 0x7fa311747180] black_start:13.48 black_end:14.16 black_duration:0.68
[blackdetect @ 0x7fa311747180] black_start:15.52 black_end:16.36 black_duration:0.84
[blackdetect @ 0x7fa311747180] black_start:17.32 black_end:18.12 black_duration:0.8
[blackdetect @ 0x7fa311747180] black_start:35.72 black_end:36.56 black_duration:0.84
[blackdetect @ 0x7fa311747180] black_start:43.2 black_end:44.92 black_duration:1.72
frame= 1122 fps=692 q=-0.0 Lsize=N/A time=00:00:44.96 bitrate=N/A speed=27.7x    
video:587kB audio:7740kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

可以输出检测到的黑屏开始时间、黑屏结束时间、黑屏持续时间

4 官方参考

http://ffmpeg.org/ffmpeg-all.html#blackdetect

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值