一种视频播放状态的监控方法和装置的制造方法
【技术领域】
[0001]本申请涉及视频监控技术领域,特别是涉及一种视频播放状态的监控方法和一种视频播放状态的监控装置。
【背景技术】
[0002]在视频监控中,需要定时检测监控中的视频的播放状态。传统视频播放状态检测方法是,为每个监控中的视频开启一个线程进行播放状态查询,每个线程按一定的间隔向服务器发起查询操作,每次查询使用xml_rpc(XML Remote Procedure Call,标准通用标记语言-远程过程调用)协议。假设一个线程每隔200ms发起一次查询,在监控256个视频的情况下,需要开启256个线程,每个线程资源默认占用IMB内存,而且每200ms需要512KB带宽,一秒需要2.5MB流量,相当于多播放一个标清视频的下载速度。传统视频播放状态检测方法网络资源占用高,内存资源消耗大,线程繁忙。
【发明内容】
[0003]鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种视频播放状态的监控方法和相应的一种视频播放状态的监控装置。
[0004]为了解决上述问题,本申请实施例公开了一种视频播放状态的监控方法,包括:
[0005]主进程生成针对一个或多个目标视频的当前播放状态的查询指令;
[0006]所述主进程将所述查询指令发送至服务器;
[0007]所述主进程针对所述查询指令,生成与所述一个或多个目标视频相应的一个或多个查询结果接收任务;
[0008]所述主进程将所述一个或多个查询结果接收任务分配给对应的一个或多个子进程;
[0009]所述主进程接收由所述一个或多个子进程返回的目标视频的当前播放状态;所述目标视频的当前播放状态为由子进程执行其对应的查询结果接收任务后,从服务器获得的相应的目标视频的当前播放状态。
[0010]优选的,所述主进程生成针对一个或多个目标视频的播放状态的查询指令的步骤包括:
[0011]所述主进程按照预设的各个视频对应的查询周期或指定的触发操作,发起对针对一个或多个目标视频当前播放状态的查询操作;
[0012]所述主进程获得所述查询操作所针对的一个或多个目标视频的标识信息;
[0013]所述主进程依据所述一个或多个目标视频的标识信息生成查询指令。
[0014]优选的,所述主进程将所述一个或多个查询结果接收任务分配给对应的一个或多个子进程的步骤包括:
[0015]所述主进程检测各个目标视频中,是否存在不具有上一次查询得到的在先播放状态的初次目标视频;
[0016]若存在一个或多个初次目标视频,则所述主进程新建一个或多个与所述一个或多个初次目标视频对应的子进程;
[0017]所述主进程将所述一个或多个初次目标视频对应的结果查询任务,分配给对应的子进程。
[0018]优选的,还包括:
[0019]所述主进程提取各个目标视频上一次查询得到的在先播放状态;
[0020]所述主进程依据所述各个目标视频对应的当前播放状态,以及在先播放状态,调整所述各个目标视频对应的查询周期。
[0021 ]优选的,所述主进程依据所述各个目标视频当前播放状态,以及在先播放状态,调整所述各个目标视频对应的查询周期的步骤包括:
[0022]若所述当前播放状态与所述在先播放状态相同,则所述主进程增大所述目标视频对应的查询周期;
[0023]若所述当前播放状态与所述在先播放状态不同,则所述主进程减少所述目标视频对应的查询周期。
[0024]优选的,所述主进程增大所述目标视频对应的查询周期的步骤包括:
[0025]所述主进程提取与所述目标视频对应的预置的一个或多个第一在先参照时间;
[0026]所述主进程将所述一个或多个第一在先参照时间中,最邻近的第一在先参照时间加上预设第一差值,得到第一当前参照时间;
[0027]所述主进程存储所述第一当前参照时间,作为下次调整查询周期时的最邻近的第一在先参照时间;
[0028]所述主进程计算所述一个或多个第一在先参照时间,以及,所述第一当前参照时间的平均值;
[0029]所述主进程将所述一个或多个第一在先参照时间,以及,所述第一当前参照时间的平均值作为所述目标视频对应的查询周期。
[0030]优选的,所述主进程减少所述目标视频对应的查询周期的步骤包括:
[0031 ]所述主进程提取与所述目标视频对应的预置的一个或多个第二在先参照时间;
[0032]所述主进程将所述一个或多个第二在先参照时间中,最邻近的第二在先参照时间减去预设第二差值,得到第二当前参照时间;
[0033]所述主进程存储所述第二当前参照时间,作为下次调整查询周期时的最邻近的第二在先参照时间;
[0034]所述主进程计算所述一个或多个第二在先参照时间,以及,所述第二当前参照时间的平均值;
[0035]所述主进程将所述一个或多个第二在先参照时间,以及,所述第二当前参照时间的平均值作为所述目标视频对应的查询周期。
[0036]同时,本申请还公开了一种视频播放状态的监控装置,包括:主进程模块;所述主进程模块进一步包括:
[0037]指令生成子模块,用于生成针对一个或多个目标视频的当前播放状态的查询指令;
[0038]发送子模块,用于将所述查询指令发送至服务器;
[0039]任务生成子模块,用于针对所述查询指令,生成与所述一个或多个目标视频相应的一个或多个查询结果接收任务;
[0040]分配子模块,用于将所述一个或多个查询结果接收任务分配给对应的一个或多个子进程;
[0041]接收子模块,用于接收由所述一个或多个子进程返回的目标视频的当前播放状态;所述目标视频的当前播放状态为由子进程执行其对应的查询结果接收任务后,从服务器获得的相应的目标视频的当前播放状态。
[0042]优选的,所述指令生成子模块进一步包括:
[0043]查询发起子模块,用于按照预设的各个视频对应的查询周期或指定的触发操作,发起对针对一个或多个目标视频当前播放状态的查询操作;
[0044]标识获取子模块,用于获得所述查询操作所针对的一个或多个目标视频的标识信息;
[0045]标识指令生成子模块,用于依据所述一个或多个目标视频的标识信息生成查询指令。
[0046]优选的,所述分配子模块进一步包括:
[0047]初次检测子模块,用于检测各个目标视频中,是否存在不具有上一次查询得到的在先播放状态的初次目标视频;
[0048]子进程建立模块,用于若存在一个或多个初次目标视频,则新建一个或多个与所述一个或多个初次目标视频对应的子进程;
[0049]初次分配子模块,用于将所述一个或多个初次目标视频对应的结果查询任务,分配给对应的子进程。
[0050]优选的,所述主进程模块还进一步包括:
[0051 ]在先状态提取子模块,用于提取各个目标视频上一次查询得到的在先播放状态;
[0052]周期调整子模块,用于依据所述各个目标视频对应的当前播放状态,以及在先播放状态,调整所述各个目标视频对应的查询周期。
[0053]优选的,所述周期调整子模块进一步包括:
[0054]周期增大子模块,用于若所述当前播放状态与所述在先播放状态相同,则增大所述目标视频对应的查询周期;
[0055]周期减少子模块,用于若所述当前播放状态与所述在先播放状态不同,则减少所述目标视频对应的查询周期。
[0056]优选的,所述周期增大子模块进一步包括:
[0057]第一在先参照时间提取子模块,用于提取与所述目标视频对应的预置的一个或多个第一在先参照时间;
[0058]第一当前参照时间计算子模块,用于将所述一个或多个第一在先参照时间中,最邻近的第一在先参照时间加上预设第一差值,得到第一当前参照时间;
[0059]第一存储子模块,用于存储所述第一当前参照时间,作为下次调整查询周期时的最邻近的第一在先参照时间;
[0060]第一平均值计算子模块,用于计算所述一个或多个第一在先参照时间,以及,所述第一当前参照时间的平均值;
[0061]第一周期确定子模块,用于将所述一个或多个第一在先参照时间,以及,所述第一当前参照时间的平均值作为所述目标视频对应的查询周期。
[0062]优选的,所述主进程减少所述目标视频对应的查询周期的步骤包括:
[0063]第二在先参照时间提取子模块,用于提取与所述目标视频对应的预置的一个或多个第二在先参照时间;
[0064]第二当前参照时间计算子模块,用于将所述一个或多个第二在先参照时间中,最邻近的第二在先参照时间减去预设第二差值,得到第二当前参照时间;
[0065]第二存储子模块,用于存储所述第二当前参照时间,作为下次调整查询周期时的最邻近的第二在先参照时间;
[0066]第二平均值计算子模块,用于计算所述一个或多个第二在先参照时间,以及,所述第二当前参照时间的平均值;
[0067]第二周期确定子模块,用于将所述一个或多个第二在先参照时间,以及,所述第二当前参照时间的平均值作为所述目标视频对应的查询周期。
[0068]本申请实施例包括以下优点:
[0069]本申请实施例中由一个主进程来向服务器发起对多个视频的播放状态进行检测的操作;并采用多个子进程来接收服务器,返回的各个视频的播放状态。同一时间需要检测的多个视频都采用一个主进程来处理,减少了计算机资源的占用。
[0070]通过依据视频的当前的播放状态,以及在先的播放状态,自动调整各个视频播放状态的查询周期,有效的利用计算