一种基于nvr的多路录像同步回放控制方法和装置的制造方法
【技术领域】
[0001]本发明属于视频播放领域,尤其涉及一种基于NVR的多路录像同步回放控制方法和装置。
【背景技术】
[0002]高清监控管理及存储业务的更高要求使网络视频录像机(Network VideoRecorder,简写为:NVR)逐渐成为高清时代的主流监控存储设备。
[0003]NVR是一类视频录像设备,其最主要的功能是通过网络接收高清数字视频码流,或者自身模拟视频码流,并进行存储、管理,从而实现网络化带来的分布式架构优势。同时嵌入式NVR又具有硬件解码功能,用户可以通过嵌入式NVR自带的图形用户界面(GraphicalUser Interface,简写为:GUI),又称图形用户接口,是指采用图形方式显示的计算机操作用户界面,与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受)进行各种配置、实时视频浏览、录像检索及回放等功能。但在实际的应用环境中,由于受到网络环境和网络摄像机的系统时间改变等因素的影响,导致存储的原始视频数据的时间戳不连续,这样在GUI中回放录像时很难保证录像回放的流畅性和同步性。
【发明内容】
[0004]本发明实施例的目的在于提供一种基于NVR的多路录像同步回放控制方法,以解决现有技术由于受到网络环境和网络摄像机的系统时间改变等因素的影响,导致存储的原始视频数据的时间戳不连续的问题。
[0005]本发明实施例一方面提供一种基于NVR的多路录像同步回放控制方法,主NVR设备在接收到来自各通道的视频流时,在存储的视频包的包头开辟4字节保存主NVR设备的接收时间,所述方法包括以下步骤:
[0006]获取同步播放多个通道的视频的播放请求,所述播放请求中携带所要播放的各通道标识和所要播放的起止时间;根据所述各通道标识,获取所述各通道的视频帧;解析所述各通道的视频帧的包头,根据所述包头所携带的主NVR设备的接收时间和所述播放的起止时间,确认所要播放的视频帧;播放所述视频帧。
[0007]本发明实施例另一方面提供一种基于NVR的多路录像同步回放控制装置,所述装置包括处理模块,存储模块、显示模块和网络接口模块,具体包括:
[0008]网络接口模块,用于接收来自各通道设备的视频帧;存储模块,用于存储网络接口模块接收到的视频帧;I/o模块,用于接收用户输入的同步播放多个通道的NVR视频的播放请求,所述播放请求中携带所要播放的各通道标识和所要播放的起止时间;处理模块,用于获取I/O模块转发的播放请求;根据所述各通道标识,获取所述各通道的视频帧;解析所述各通道的视频帧的包头,根据所述包头所携带的主NVR设备的接收时间和所述播放的起止时间,确认所要播放的视频帧;显示模块,用于播放所述视频帧。
[0009]本发明实施例提供的一种基于NVR的多路录像同步回放控制方法和装置的有益效果包括:通过主NVR设备在接收各通道视频帧时,在视频帧的包头添加以自身系统时间为依据的接收时间,并在同步播放时,以所述在包头增加的接收时间作为计算同步播放的时间,从而保证了各通道视频帧的同步播放,避免了因个别接入主NVR设备的装置自身的系统时间的不准确造成的同步播放时的卡顿问题。
【附图说明】
[0010]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0011]图1是本发明实施例提供的一种基于NVR的多路录像同步回放控制方法的流程图;
[0012]图2是本发明实施例提供的一种基于NVR的多路录像同步回放控制装置的结构示意图;
[0013]图3是本发明实施例提供的一种基于NVR的多路录像同步回放控制装置的结构示意图;
[0014]图4是本发明实施例提供的一种基于NVR的多路录像同步回放控制方法的流程图;
[0015]图5是本发明实施例提供的一种基于NVR的多路录像同步回放控制方法的流程图。
【具体实施方式】
[0016]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0017]为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0018]实施例一
[0019]如图1所示为本发明实施例提供的一种基于NVR的多路录像同步回放控制方法的流程图,其中,在主NVR设备在接收到来自各通道的视频流时,在存储的视频包的包头开辟4字节保存主NVR设备的接收时间;由图1可知,本发明提供的一种基于NVR的多路录像同步回放控制方法的实施例包括:
[0020]在步骤201中,获取同步播放多个通道的视频的播放请求,所述播放请求中携带所要播放的各通道标识和所要播放的起止时间。
[0021]在步骤202中,根据所述各通道标识,获取所述各通道的视频帧。
[0022]在步骤203中,解析所述各通道的视频帧的包头,根据所述包头所携带的主NVR设备的接收时间和所述播放的起止时间,确认各通道所要播放的第一帧视频帧。
[0023]在步骤204中,播放所述各通道的第一帧视频帧。
[0024]本实施例通过在主NVR设备在接收各通道视频帧时,在帧的包头添加以自身系统时间为依据的接收时间,并在同步播放时,以所述在包头增加的接收时间作为计算同步播放的时间,从而保证了各通道视频帧的同步播放,避免了因个别接入主NVR设备的装置自身的系统时间的不准确造成的同步播放时的卡顿问题。
[0025]结合本实施例存在一种可行的实现方式,其中,所述根据所述包头所携带的主NVR设备的接收时间和所述播放的起止时间,确认各通道所要播放的第一帧视频帧,具体包括:
[0026]遍历各通道待回放帧数据的包头携带的接收时间,将其中接收时间和起始时间相差最小的通道A中的视频帧作为参考帧1 ;判断其他各通道视频中包头携带的接收时间,和所述参考帧1包头携带接收时间相比较,是否存在相同的;若存在则和所述参考帧同步播放,若没有则寻找各通道中视频帧所携带的接收时间和所述参考帧所携带的接收时间最接近的视频帧;确认各通道上最接近的视频帧和所述参考帧1中接收时间差值在预设阈值内,则和所述参考帧同步播放。
[0027]结合本实施例存在一种可行的实现方式,其中,在确认通道B中视频帧和所述参考帧中接收时间最小差值大于所述预设阈值时,所述方法还包括:
[0028]暂停通道B中视频帧的播放,并根据所述最小差值大小,确定所述通道B中视频帧暂停播放的时间。
[0029]在新确定出来的参考帧和所述通道B等待播放的视频帧中所携带的接收时间差值在预设阈值内时,结束暂停并继续播放通道B的视频帧。
[0030]其中,通道A和通道B仅仅是为了描述方便,用于和其他通道的描述区别开来,并没有特殊的限定含义。
[0031]结合本实施例存在一种可行的实现方式,其中,在按照所述播放的起止时间,同步播放完通道A和其他各通道的第一帧视频帧后,所述方法还包括:
[0032]以参考帧1的下一帧时间为依据,将第一个检索到与所述下一帧时间相同的视频帧或者检索到最接近所述下一帧时间的视频帧作为参考帧Ii视频帧;其他通道的视频帧以所述参考帧Ii的时间为依据,同步播放其他通道的视频帧包头携带的接收时间与所述参考帧Ii携带的接收时间差值在预设阈值内的视频帧。
[0033]所述参考帧1的下一帧时间,是由主NVR装置根据当前播放了的参考帧的接收时间推出来的。在实际视频流中,连续的视频流中,其视频帧与视频帧之间的时间是固定的,因此,主NVR装置通过参考帧1中的接收时间就能推测下一帧的理论时间(即所述参考帧1的下一帧时间)。
[0034]结合本实施例存在一种可行的实现方式,其中,同步播放其他通道的视频帧包头携带的接收时间与所述参考帧Ii携带的接收时间差值在预设阈值内的视频帧,还包括:
[0035]其他通道的视频帧包头携带的接收时间比所述参考帧Il携带的接收时间大,并且差值超过所述阈值时,则按照两者的时间差值减速播放;其他通道的视频帧包头携带的接收时间比所述参考帧Ii携带的接收时间小,并且差值超过所述阈值时,则按照两者的时间差值加速播放。直到该通道下一帧待