博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
视频黑屏检测,时长检测 blackdetect
阅读量:4199 次
发布时间:2019-05-26

本文共 2239 字,大约阅读时间需要 7 分钟。

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.72frame= 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://bgfli.baihongyu.com/

你可能感兴趣的文章
开源测试研究方案泡汤了
查看>>
晒一下我培训的课程——应用系统性能测试规划、实施与分析
查看>>
自动化测试框架之控制界面的关键
查看>>
自动化测试框架指南
查看>>
利用 STAF 实现程序更新包的自动部署测试
查看>>
软件安全性测试转载自小龙虾博客
查看>>
周末参加“北京干部管理职业技术学院”关于高职课程改革的专家讨论会
查看>>
软件测试框架介绍
查看>>
软件自动化测试框架的发展
查看>>
nginx反向代理的缓存
查看>>
基于Keepalived+Haproxy+Varnish+LNMP企业级架构
查看>>
实现haproxy+LNMT负载均衡架构
查看>>
常感冒的小朋友的应对
查看>>
centos单机安装Hadoop2.6
查看>>
centos单机安装Spark1.4.0
查看>>
java - 日期相减、四舍五入
查看>>
java - mysql连接
查看>>
java - properties read write
查看>>
折腾sparkR
查看>>
Install Python 2/3 on CentOS 6.5 Server
查看>>