1.本发明属于视频、声音、图像等非结构化数据的监控技术领域,尤其涉及一种远端大屏播放内容监控方法、系统、设备、介质及应用。
背景技术:2.目前,数字化时代,以大屏为主要载体的数据可视化需求日益增加。大屏幕给人以震撼的视觉冲击力,呈现更多的信息。很多企业通过大屏对外展示实力,对内暴露问题,形成你追我赶的工作局面;政府机构也常以大屏展示工作进展,并为市民提供信息。也有很多组织通过会议大屏分享关键指标,讨论经营管理问题。大屏也常被用来进行高效率的战略指挥和全局监控。与此同时对大屏播放内容的即时监管需求也成为重中之重。
3.现有技术一:cn201320255605.6无物理缝隙大屏幕。一种无物理缝隙大屏幕,其特征在于包括数字高清智能视频控制模块、高清大屏幕、及信号采集和传输部件;数字高清智能视频控制模块设有信号切换矩阵、多重高清画面分屏控制器、信号转换模块、信号输出模块;数字高清智能视频控制模块与高清大屏幕通过传输部件相连接;信号采集和传输系统由独立的信号源和各种传输线缆构成;数字高清智能视频控制模块连接有互联网、高清播放机、视频监控设备、移动存储设备、音响系统;数字高清智能视频控制模块内设有画面无缝处理模块。实现大屏幕显示系统的智能化控制和无缝高清显示。
4.现有技术二:cn201810722061.7一种大屏幕信息推送系统、大屏幕设备及方法。本发明公开了一种大屏幕信息推送系统、大屏幕设备及方法,其中,移动终端将其用户id转换成对应的音频文件;大屏幕设备将音频文件转换成对应的用户id;多屏互动服务器接收大屏幕设备上传的用户id,查询数据库保存的数据信息,按照预先设置的匹配策略匹配出用户id对应的用户信息内容或指令,并驱动大屏幕设备显示对应的信息或内容。移动终端预先注册于所述多屏互动服务器并获得一相应的用户id。通过本发明,当用户的移动终端接近某一大屏幕时,依据用户行为画像,透过多屏互动服务器回调显示用户有兴趣的内容,以此改变户外媒体呈现方式。
5.现有技术三:cn201810722524.x大屏幕展示信息的控制系统、方法及大屏幕展示信息系统。本发明提供了一种大屏幕展示信息的控制系统、方法及大屏幕展示信息系统,其中,控制终端接收待展示信息的信息名称;信息解析服务器接收控制终端发送的信息名称,将语音格式的信息名称解析为文本格式的信息名称;屏幕资源配置库接收信息解析服务器发送的文本格式的信息名称,根据文本格式的信息名称搜索到对应的待展示信息,并将待展示信息发送至websocket服务器;websocket服务器将待展示信息发送至大屏电脑,以使大屏幕展示待展示信息。用户能够对大屏幕展示信息进行远程无线控制,操作方式灵活快捷,摆脱了固定地点的束缚,减少了服务器资源消耗,缓解了现有的控制方式存在操作地点固定、操作方式单一、服务器资源消耗大的技术问题。
6.现有技术四:cn201810410730.7一种大屏广播控制方法及系统。本发明公开了一种大屏广播控制方法,应用于大屏,包括:接收服务器发送的大屏广播消息;解析所述大屏
广播消息,判断所述大屏广播消息是否发送给本机;若是,则根据所述大屏广播消息获取大屏控制命令;执行所述大屏控制命令,实现对所述大屏的控制。本发明所述大屏广播控制方法及系统,通过移动控制终端的远程操作,实现了大屏与移动显示终端的同步显示,操作方便;教师不局限在讲台上,增加了在授课时与学生的互动,提高了授课效果,适用于不同的教学场景。
7.现有大屏内容播控通常有以下几种方式:
8.(1)播放内容存放在移动存储设备(例如:u盘)中,接入大屏进行播放。
9.(2)播放内容存放在大屏(带存储功能)本地,由大屏自带软件进行播控。
10.(3)播放内容存放在控制电脑本地,和大屏通过网线、hdmi等连接由电脑中的播控软件进行大屏播放内容控制。
11.(4)播放内容存放在远端播控系统,通过特定通信协议与专有大屏进行对接,由远端播控系统进行大屏播放内容控制。
12.在以上大屏播控方式下,如果要对大屏内容做实时监控,并对播放内容与预期设定做差异对比提供及时告警联动是非常困难的。容易想到的方式有:
13.在每个播放大屏前布置摄像头,摄像头对准播放屏,实时将监控画面回传到监控端。
14.大屏设备或者播控设备实时将大屏播放内容码流回传到监控端。
15.待监控端拿到视频码流后,通过ai算法实时对播放内容进行监控。这种方式虽然能够实现,但是付出的代价和成本巨大,几乎无法落地,除了需要消耗巨大的带宽外,更需要为每块屏配置摄像头,配置ai服务器等,因此寻求一种带宽占用低,且简单易用,落地成本低,易操作的方法是解决此类问题的关键所在。
16.通过上述分析,现有技术存在的问题及缺陷为:现有远程大屏监控带宽占用率高的;大屏监控对屏前摄像头的依赖,大屏播放时内容无法实现即时监控及告警。
17.解决以上问题及缺陷的难度为:对数据的分析需要依赖ai能力;对网络带宽的要求比较高。
18.解决以上问题及缺陷的意义为:不需要依赖复杂的ai计算能力;不需要依赖较高的带宽开销。
技术实现要素:19.针对现有技术存在的问题,本发明提供了一种远端大屏播放内容监控方法、系统、设备、介质及应用。
20.本发明是这样实现的,一种远端大屏播放内容监控方法,所述监控方法包括:
21.对播放的资源在服务端预先进行逐帧拆解,计算出各帧的指纹并存储;
22.在播放时,客户端提取当前播放帧,并采用和服务端相同的算法计算指纹后,上送到服务端进行比对,如果存在排除时间偏差,则证明播放资源是预期的;
23.客户端或大屏或者大屏播控设备周期性采集当前正在播放的数据,并将采集的数据上报到服务端;
24.服务端对上报数据进行拆解后,对上报的数据与预先设定的数据进行比对。
25.进一步,所述正在播放的数据包括资源的名称、当前设备时间、播放到第几帧和当
前帧指纹(客户端指纹算法需和服务端指纹算法保持一致)。
26.进一步,所述将采集的数据上报到服务端之前需要进行:
27.服务端或监控端对播放资源的码流以帧为单位进行离散;对离散的每个结果采用某种指纹算法计算出指纹;将每一帧和对应的指纹存储在哈希表中;
28.所述服务端对上报数据进行拆解,并从哈希表中查找上报帧;如果不存在,则说明大屏播放的内容不是预期内容;否则和预期播放时间进行比对,若在偏差允许范围,说明播放正常。
29.进一步,所述远端大屏播放内容监控方法的服务端收到客户端上送的报文后,拆解出视频文件名称,通过该名称找到对应的指纹哈希表h;
30.若h为空,则说明客户端播放的不是预期的;若h不为空,从h中找到客户端指纹对应的帧下标x,该值为客户端播放到第几帧;
31.若x为空,则认为客户端播放的视频不是预期的;若x不为空,假设时间偏差预设值为δ,x为第几帧,β为该视频每秒多少帧,t为服务端预置的当前视频开始播放的时间(精确到秒),l为客户端当前帧播放的时间(精确到秒),根据如下计算公式判断,
32.l-δ≤(x/β+1+t)≤l+δ
33.若符合计算公式,则说明播放符合预期。
34.进一步,所述远端大屏播放内容监控方法包括以下步骤:
35.(1)开始;
36.(2)根据客户端信息,拆解客户端报文获取视频名称;
37.(3)根据视频名称,判断是否存在对应的哈希表;若存在对应的哈希表,则执行步骤(4);若不存在对应的哈希表,则进行异常播放,并执行步骤(7);
38.(4)判断是否找到对应的帧下标;若找到对应的帧下标,则执行步骤(5);若没有找到对应的帧下标,则进行异常播放,并执行步骤(7);
39.(5)判断是否符合偏差;若符合偏差,则执行步骤(6);若不符合偏差,则进行异常播放,并执行步骤(7);
40.(6)正常播放;
41.(7)结束。
42.本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述远端大屏播放内容监控方法。
43.本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述远端大屏播放内容监控方法。
44.本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述远端大屏播放内容监控方法。
45.本发明的另一目的在于提供一种实现所述远端大屏播放内容监控方法的远端大屏播放内容监控系统,所述远端大屏播放内容监控系统包括:
46.码流离散处理模块,用于实现服务端对播放资源的码流以帧为单位进行离散;
47.指纹计算模块,用于对离散的每个结果采用某种指纹算法计算出指纹;
48.指纹存储模块,用于将每一帧和对应的指纹存储在哈希表中;
49.信息采集模块,用于实现客户端或者大屏播控设备周期性采集当前正在播放资源的名称、当前设备时间、播放到第几帧和当前帧指纹,并上报到服务端;
50.数据拆解处理模块,用于实现服务端对上报数据进行拆解,并从哈希表中查找上报帧,如果不存在,则说明大屏播放的内容不是预期内容,否则和预期播放时间进行比对,若在偏差允许范围,说明播放正常。
51.本发明的另一目的在于提供一种如所述远端大屏播放内容监控方法在非结构化数据监控中的应用,所述非结构化数据包括视频、声音和图像。
52.结合上述的所有技术方案,本发明所具备的优点及积极效果为:
53.本发明提供了一种低带宽占用率的远端大屏播放内容监控方法,该方法能够即时监测出当前某块大屏是否在指定的时间播放指定的内容,通过该方法不仅可以大幅降低远程大屏监控带宽占用率高的问题,同时还能解决大屏监控对屏前摄像头的依赖,并通过简单传统算法解决大屏播放时内容即时监控及告警问题。
54.本发明的客户端采集的某一帧码流可以被压缩到值非常小的指纹,根据指纹算法,只要输入的消息不同,对其进行摘要以后产生的摘要消息也必不相同;但相同的输入必会产生相同的输出。因此对于同一资源文件,播放的每一帧只要客户端和服务端采用相同的算法,那么指纹值肯定是一致的,且通过网络传输的都是指纹信息,其远远小于原始帧数据。服务端只需要对比远端上送的指纹和服务端是否一致即可判断播放内容是否符合预期。
55.本发明大幅降低了带宽占用,算法简单,无ai算法和gpu依赖。与现有的ai方式对比数据的获取代价比较大,无异于做一个完整的项目了,从逻辑上推理来看,本发明降低带宽依赖和无需ai资源消耗是确定的。
附图说明
56.图1是本发明实施例提供的远端大屏播放内容监控方法流程图。
57.图2是本发明实施例提供的远端大屏播放内容监控系统的结构示意图;
58.图2中:1、码流离散处理模块;2、指纹计算模块;3、指纹存储模块;4、信息采集模块;5、数据拆解处理模块。
59.图3是本发明实施例提供的远端大屏播放内容监控方法的实现流程图。
60.图4是本发明实施例提供的视频文件离散后的指纹存储格式示意图。
61.图5是本发明实施例提供的客户端上报数据示意图。
具体实施方式
62.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
63.针对现有技术存在的问题,本发明提供了一种远端大屏播放内容监控方法、系统、设备、介质及应用,下面结合附图对本发明作详细的描述。
64.如图1所示,本发明提供的远端大屏播放内容监控方法包括以下步骤:
65.s101:服务端或监控端对播放资源的码流以帧为单位进行离散;
66.s102:对离散的每个结果采用某种指纹算法计算出指纹;
67.s103:将每一帧(可以是相对时间)和对应的指纹存储在哈希表中;
68.s104:客户端或大屏或者大屏播控设备周期性采集当前正在播放资源的名称、当前设备时间、播放到第几帧和当前帧指纹或需和服务端算法一致,并上报到服务端;
69.s105:服务端对上报数据进行拆解,并从哈希表中查找上报帧(服务端预先对播放的资源进行逐帧拆解,计算指纹并存储),如果不存在,则说明大屏播放的内容不是预期内容,否则和预期播放时间进行比对,若在偏差允许范围,说明播放正常。
70.本发明提供的远端大屏播放内容监控方法业内的普通技术人员还可以采用其他的步骤实施,图1的本发明提供的远端大屏播放内容监控方法仅仅是一个具体实施例而已。
71.如图2所示,本发明提供的远端大屏播放内容监控系统包括:
72.码流离散处理模块1,用于实现服务端对播放资源的码流以帧为单位进行离散;
73.指纹计算模块2,用于对离散的每个结果采用某种指纹算法计算出指纹;
74.指纹存储模块3,用于将每一帧和对应的指纹存储在哈希表中;
75.信息采集模块4,用于实现客户端或者大屏播控设备周期性采集当前正在播放资源的名称、当前设备时间、播放到第几帧和当前帧指纹,并上报到服务端;
76.数据拆解处理模块5,用于实现服务端对上报数据进行拆解,并从哈希表中查找上报帧,如果不存在,则说明大屏播放的内容不是预期内容,否则和预期播放时间进行比对,若在偏差允许范围,说明播放正常。
77.下面结合附图对本发明的技术方案作进一步的描述。
78.如图3所示,本发明提供的远端大屏播放内容监控方法具体包括以下步骤:
79.(1)开始;
80.(2)根据客户端信息,拆解客户端报文获取视频名称;
81.(3)根据视频名称,判断是否存在对应的哈希表;若存在对应的哈希表,则执行步骤(4);若不存在对应的哈希表,则进行异常播放,并执行步骤(7);
82.(4)判断是否找到对应的帧下标;若找到对应的帧下标,则执行步骤(5);若没有找到对应的帧下标,则进行异常播放,并执行步骤(7);
83.(5)判断是否符合偏差;若符合偏差,则执行步骤(6);若不符合偏差,则进行异常播放,并执行步骤(7);
84.(6)正常播放;
85.(7)结束。
86.本发明提供的远端大屏播放内容监控方法客户端或大屏或者大屏播控设备周期性采集当前正在播放资源的名称、当前设备时间、播放到第几帧和当前帧指纹或需和服务端算法一致,并上报到服务端;服务端对上报数据进行拆解,并从哈希表(可以是其它数据查找算法,不局限于哈希表)中查找上报帧。
87.本发明的目的是监控当前大屏展示的内容是否符合预期设定,而现有技术二的专利目的旨在在大屏上展示预期的内容,这两者有本质上区别。至于本发明中提到的哈希表中查找上报帧,只是信息鉴别和查找的一种具体手段,当然这种手段可以有多种,不仅仅局限于这一种。
88.本发明提供的客户端或大屏或者大屏播控设备周期性采集当前正在播放资源的
名称、当前设备时间、播放到第几帧和当前帧指纹或需和服务端算法一致,并上报到服务端之前需要:
89.服务端或监控端对播放资源的码流以帧为单位进行离散;
90.对离散的每个结果采用某种指纹算法计算出指纹;
91.将每一帧和对应的指纹存储在哈希表中(可以是其它数据查找算法,不局限于哈希表)。
92.本发明提供的远端大屏播放内容监控方法客户端和服务端时间需要保持基本一致或设置适当的时间偏差。客户端和服务端指纹算法需要绝对一致。客户端能够按照服务端要求提供准确数据。
93.假设有一视频文件a.mp4,服务端设定规则要求设备d,从时间t开始播放,允许时间偏差为δ,视频总长度为60秒,每秒60帧,则该视频文件离散后的指纹存储格式如图4所示。
94.客户端上报数据包含如图5所示。
95.服务端收到客户端上送的报文后,拆解出视频文件名称,通过该名称找到对应的指纹哈希表h;若h为空,则说明客户端播放的不是预期的,从h中找到客户端指纹对应的帧下标x;如果x为空,则认为客户端播放的视频不是预期的,假设拆解出来的指纹采集时间为l;若l-δ≤(x/60+1+t)≤l+δ,则说明播放正常。
96.以下是本发明实施例的具体应用案例。
97.假设我们需要在远程大屏(设备id为:dp01)上播放一段视频a.mp4,该视频时长为10分钟,要求在2021年12月12日8:00开始播放,8:10分结束,允许的时间偏差为正负5秒钟。
98.1.服务端初始化
99.首先对a.mp4视频文件进行离散,假设视频为每秒60帧,则根据视频时长10分钟计算,该视频文件的总帧数为10*60*60=36000帧。
100.针对每一帧码流进行指纹计算,(md5(第一帧的码流))=第一帧指纹fg_1,这里指纹算法采用md5,(md5(第二帧的码流))=第二帧指纹fg_2。
101.离散之后的数据用json格式可表示如下:
[0102][0103]
2.客户端发送心跳
[0104]
客户端大屏dp01收到了播放文件a.mp4和播放开始时间,并且每5s向服务端发送一次播放内容心跳。
[0105]
客户端按照指定时间在2021-12-12 08:00开始进行a.mp4视频文件播放,并向服务端发送心跳,心跳内容按照json格式可表示如下:
[0106][0107][0108]
3.服务端判定
[0109]
当服务端收到客户端心跳后进行报文拆解,从deviceid和sname两个字段得知是dp01设备正在播放a.mp4视频,同时根据time字段得知当前发送的播放指纹时间点位为2021-12-12 08:03。
[0110]
服务端使用上一步提取到的信息在服务端初始化好的信息中进行查找,发现deviceid和sname能够同时匹配。
[0111]
进一步从fg字段提取到当期播放指纹为fg_1,并通过fg_1在source字段中进行查找,发现其对应的值为1,结合服务端规定的播放开始时间2021-12-1208:00,两者叠加后计算出服务端要求客户端播放该帧的时间为2021-12-1208:01。
[0112]
此时客户端time字段显示该帧在大屏上的播放时间是2021-12-12 08:03,与服务端要求的2021-12-12 08:01相差2秒钟,在服务端要求的5秒钟偏差之内,因此服务端判定
当前大屏播放内容符合预先设置的预期。
[0113]
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
[0114]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。