一种视频流解码方法及解码设备与流程

文档序号:15568519发布日期:2018-09-29 03:54阅读:153来源:国知局

本发明涉及通信技术领域,特别涉及一种视频流解码方法及解码设备。



背景技术:

目前,监控中心可以通过解码设备对外部的监控设备所采集的视频图像进行解码,以显示在屏幕上,使得能够查看到这些监控设备所处位置的当前状态。但目前由于解码设备的数量有限,或者监控中心所能进行显示的屏幕的数量有限,而监控设备数量远大于解码设备的数量或者屏幕的数量,因而目前较为常用的解决方法是,请参见图1,一个监控设备通过一个视频通道与解码设备进行连接,即监控设备1利用视频通道1通过交换机与解码设备相连,监控设备2利用视频通道2通过交换机与解码设备相连,监控设备3和监控设备4类似,不再赘述。解码设备可以轮询这多个监控设备采集的图像,例如对每个视频通道传输的视频流解码30秒,当30秒时间到时则对下一个视频通道的视频流进行解码。但是目前的在进行轮询切换时,通常先停止视频通道的视频流的接收和解码,再向下一个视频通道连接的监控设备请求视频流,在接收到视频流之后进行解码。但是通过这种方式,停止当前的视频流到开始下一个视频流的解码,这之前显然存在一个时间差,那么在这个时间差对应的时间内,解码设备并未有图像输出,这样在屏幕上显示的视频显然就不连贯,用户体验显然不佳。



技术实现要素:

本发明实施例提供一种视频流解码方法及解码设备,用于在解码当前的视频流的同时,提前获取下一个视频流,提升显示视频播放的流畅度。

第一方面,提供一种视频流解码方法,该方法包括:

解码设备确定向第一监控设备发送第一请求,到所述第一监控设备发送的第一个视频帧接收完成所需的视频流请求时间;所述解码设备通过第n视频通道与所述第一监控设备进行通信,所述第一请求用于请求所述第一监控设备向所述解码设备发送码流编码信息和视频流数据;在第(n-1)视频通道传输的视频流解码结束前的第一时刻,所述解码设备向第一监控设备发送第一请求;其中,所述第一时刻能够通过所述第(n-1)视频通道传输的视频流的解码结束时刻与所述视频流请求时间进行确定;在所述第(n-1)视频通道传输的视频流解码结束时,所述解码设备对所述第n视频通道传输的视频流进行解码。

在该方法中,首先可以确定从第一请求发出到第一个视频帧接收完成所需要的时间,这样,则可以控制在当前的视频流解码结束前发送视频流请求的时间,以使得在当前的视频流解码结束时刚好能够接收到下一个视频流,或者下一个视频流的接收时刻与当前的视频流解码结束时刻较为接近,这样,既能够提前获取视频流,减少画面终止到开启的时间差,使得画面更加连贯,还能够避免过早的获取下一个视频流的数据,进而减少网络资源的浪费。

可选的,若所述解码设备在所述第(n-1)视频通道传输的视频流解码结束之前,已接收到所述第一监控设备发送的视频流,则所述方法还包括:

所述解码设备确定向所述第一监控设备发送强制关键(i)帧(frame)请求,到所述与强制关键帧请求对应的关键帧接收完成所需的强制关键帧请求时间;所述视频流请求时间大于所述强制关键帧请求时间;所述强制关键帧请求用于指示所述第一监控设备在接收所述强制关键帧请求后,直接向所述解码设备发送关键帧;在所述第(n-1)视频通道传输的视频流解码结束前的第二时刻,所述解码设备向所述第一监控设备发送所述强制关键帧请求;其中,所述第二时刻能够通过所述第(n-1)视频通道传输的视频流的解码结束时刻与所述强制关键帧请求时间进行确定。

在该方法中,可以提前确定从强制i帧请求发出到对应的关键帧接收完成所需要的时间,这样,若是下一个视频流在当前的视频流解码结束之前提前到达,解码设备还可以给提前向监控设备发送强制i帧命令,使监控设备尽快发送i帧,这样在解码下一视频通道的视频流时,i帧时间与当前时间差距不会太大,从而提高解码实时性。

可选的,若所述解码设备在所述第(n-1)视频通道传输的视频流解码结束之前,已接收到所述第一监控设备发送的视频流,则所述方法还包括:

若所述解码设备确定所述第一监控设备发送的下一个关键帧的接收时刻,在所述第(n-1)视频通道传输的视频流的解码结束时刻之后,且所述解码设备确定当前已缓存的关键帧的接收时刻,与所述第(n-1)视频通道传输的视频流的解码结束时刻之间的时间差大于预设时间阈值,则所述解码设备向所述第一监控设备发送所述强制关键帧请求;或者,

若所述解码设备确定所述第一监控设备发送的下一个关键帧的接收时刻,在所述第(n-1)视频通道传输的视频流的解码结束时刻之前,且所述解码设备确定所述下一个关键帧的接收时刻,与所述第(n-1)视频通道传输的视频流的解码结束时刻之间的时间差大于所述预设时间阈值,则所述解码设备向所述第一监控设备发送强制关键帧请求。

在发送强制i帧请求之前,还可以判断当前缓存的i帧或者下一个i帧的接收时间与当前视频流的解码结束时刻的时间差是否过大,若是时间差较大,则发送强制i帧请求,这样,监控设备在收到请求后则会立即发送i帧,这样在解码下一视频通道的视频流时,i帧的接收时间与解码结束时刻差距不会太大,从而提高解码实时性。

可选的,所述解码设备确定向第一监控设备发送强制关键帧请求,到与所述强制关键帧请求对应的关键帧接收完成所需的强制关键帧请求时间,包括:

所述解码设备在每一次轮询至所述第n视频通道时,确定所述强制关键帧请求时间;以及所述解码设备将新确定的所述强制关键帧请求时间与之前已确定的所述强制关键帧请求时间进行比较,并将比较得到的较大值确定为最终的所述强制关键帧请求时间。

对于一个视频通道,在该视频通道的每一次轮询过程中,都可以进行强制i帧请求时间的确定,并基于新确定的时间对原有的强制i帧请求时间进行更新,以减小在网络发生变化或者其他变化时,强制i帧请求时间可能会随之变化,使得强制i帧请求时间不准确的可能性,这样,预测的强制i帧请求的发送时刻更加准确,从而进一步提高解码的实时性。

第二方面,提供一种解码设备,包括:

确定单元,用于确定向第一监控设备发送第一请求,到所述第一监控设备发送的第一个视频帧接收完成所需的视频流请求时间;所述解码设备通过第n视频通道与所述第一监控设备进行通信,所述第一请求用于请求所述第一监控设备向所述解码设备发送码流编码信息和视频流数据;

发送单元,用于在第(n-1)视频通道传输的视频流解码结束前的第一时刻,向第一监控设备发送第一请求;其中,所述第一时刻能够通过所述第(n-1)视频通道传输的视频流的解码结束时刻与所述视频流请求时间进行确定;

解码单元,用于在所述第(n-1)视频通道传输的视频流解码结束时,所述解码设备对所述第n视频通道传输的视频流进行解码。

可选的,若所述解码设备在所述第(n-1)视频通道传输的视频流解码结束之前,已接收到所述第一监控设备发送的视频流;

则所述确定单元,还用于确定向所述第一监控设备发送强制关键帧请求,到所述与强制关键帧请求对应的关键帧接收完成所需的强制关键帧请求时间;所述视频流请求时间大于所述强制关键帧请求时间;所述强制关键帧请求用于指示所述第一监控设备在接收所述强制关键帧请求后,直接向所述解码设备发送关键帧;

所述发送单元,还用于在所述第(n-1)视频通道传输的视频流解码结束前的第二时刻,向所述第一监控设备发送所述强制关键帧请求;其中,所述第二时刻能够通过所述第(n-1)视频通道传输的视频流的解码结束时刻与所述强制关键帧请求时间进行确定。

可选的,若所述解码设备在所述第(n-1)视频通道传输的视频流解码结束之前,已接收到所述第一监控设备发送的视频流,

则所述发送单元,还用于若所述确定单元确定所述第一监控设备发送的下一个关键帧的接收时刻,在所述第(n-1)视频通道传输的视频流的解码结束时刻之后,且所述解码设备确定当前已缓存的关键帧的接收时刻,与所述第(n-1)视频通道传输的视频流的解码结束时刻之间的时间差大于预设时间阈值,则向所述第一监控设备发送所述强制关键帧请求;或者,

所述发送单元,还用于若所述确定单元确定所述第一监控设备发送的下一个关键帧的接收时刻,在所述第(n-1)视频通道传输的视频流的解码结束时刻之前,且所述解码设备确定所述下一个关键帧的接收时刻,与所述第(n-1)视频通道传输的视频流的解码结束时刻之间的时间差大于所述预设时间阈值,则向所述第一监控设备发送强制关键帧请求。

可选的,所述确定单元具体用于:

在每一次轮询至所述第n视频通道时,确定所述强制关键帧请求时间;以及将新确定的所述强制关键帧请求时间与之前已确定的所述强制关键帧请求时间进行比较,并将比较得到的较大值确定为最终的所述强制关键帧请求时间。

第三方面,提供一种计算机装置,所述装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如第一方面提供的方法的步骤。

第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面提供的方法的步骤。

在本发明实施例中,首先可以确定从第一请求发出到第一个视频帧接收完成所需要的视频流请求时间,进而可以确定提前多久请求下一个视频流较为合适,即可以根据视频流请求时间确定请求下一个视频流的第一时刻,这样,可以使得在当前的视频流解码结束时刚好能够接收到下一个视频流,或者下一个视频流的接收时刻与当前的视频流解码结束时刻较为接近,既能够提前获取视频流,减少画面终止到开启的时间差,使得画面更加连贯,还能够避免过早的获取下一个视频流的数据,进而减少网络资源的浪费。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术的解码设备与多个监控设备的连接示意图;

图2为本发明实施例提供的视频流解码方法的流程示意图;

图3为本发明实施例提供的解码设备的一种结构示意图;

图4为本发明实施例提供的计算机装置的一种结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

下面介绍本发明实施例的技术背景。

目前,在进行轮询切换时,通常需要先停止视频通道的视频流的接收和解码,再向下一个视频通道连接的监控设备请求视频流,在接收到视频流之后进行解码。但是这种方式,停止当前的视频流到开始下一个视频流的解码,这之前显然存在一个时间差,在这个时间差过程中,解码设备并未有图像输出,这样在屏幕上显示的图像显然就不连贯,用户体验显然不佳。

鉴于此,本发明实施例提供一种视频流解码方法,在该方法中,可以确定从第一请求发出到第一个视频帧接收完成所需要的视频流请求时间,进而可以确定提前多久请求下一个视频流较为合适,即可以根据视频流请求时间确定请求下一个视频流的第一时刻,这样,可以使得在当前的视频流解码结束时刚好能够接收到下一个视频流,或者下一个视频流的接收时刻与当前的视频流解码结束时刻较为接近,既能够提前获取视频流,减少画面终止到开启的时间差,使得画面更加连贯,还能够避免过早的获取下一个视频流的数据,进而减少网络资源的浪费。

下面结合附图介绍本发明实施例提供的技术方案。

请参见图2,本发明一实施例提供一种视频流解码方法,该方法的流程描述如下。

s201:解码设备开始执行轮询功能。

s202:解码设备统计第一视频通道的视频流请求时间。

本发明实施例中,在解码设备轮询的过程中,解码设备可以统计每个视频通道的视频流解码时间,其中,视频流解码请求时间即是指解码设备向视频通道连接的监控设备发送第一请求,到该监控设备发送的第一个视频帧接收完成所需的时间。

具体的,第一请求用于请求该监控设备向解码设备发送自身的码流编码信息和视频流数据。第一请求还可以包括两个子请求,即视频流子请求和码流编码信息子请求,其中,视频流子请求即是用于请求监控设备向解码设备发送视频流数据;码流编码信息子请求即是用于请求监控设备将自身的码流编码信息发送给解码设备,码流编码信息例如可以是视频流的编码方式和视频流的两个i帧之间的间隔时间等等,当然,也可能是其他可能的编码参数,本发明实施例对此不做限制。

在实际应用中,视频流子请求和码流编码信息子请求可以是解码设备同时发送给监控设备,也可以是先后顺序发送。例如,解码设备可以先将码流编码信息子请求发送给监控设备,再将视频流子请求发送给监控设备;或者,解码设备可以先将视频流子请求发送给监控设备,再将码流编码信息子请求发送给监控设备。

为了得到第一视频通道的视频流请求时间,解码设备可以先向第一视频通道连接的监控设备发送第一请求,并记录下当前的时刻。当该监控设备收到第一请求之后,则会对第一请求进行响应,进而将自身的码流编码信息和视频流数据发送给解码设备。解码设备在接收到该监控设备发送的视频流数据且在第一个视频帧完整接收之时,再次记录当下前的时刻,两次记录的时刻之间的时间差即为该次统计的视频流请求时间。

具体的,若是解码设备先将码流编码信息子请求发送给监控设备,那么视频流请求时间则是发送码流编码信息子请求的时刻,到第一个视频帧完整接收的时刻之间的时间差;或者,若是解码设备先将视频流子请求发送给监控设备,那么视频流请求时间则是发送视频流子请求的时刻,到第一个视频帧完整接收的时刻之间的时间差。

s203:解码设备统计第一视频通道的强制i帧请求时间。

本发明实施例中,解码设备在接收到第一视频通道连接的监控设备发送的视频流之后,则会对该视频流开始解码,在解码过程中,在可以统计该视频通道的强制i帧请求时间。

具体的,解码设备可以在对一个画面组(groupofpictures,gop)的解码过程中,向通过第一视频通道连接的监控设备发送强制i帧请求,并记录当前的时刻。其中,强制i帧请求用于指示该监控设备在接收到该强制i帧请求之后,立即向解码设备发送i帧。例如,监控设备的i帧间隔为30秒,假设距离监控设备发送下一个i帧还需要20秒,那么解码设备向监控设备发送强制i帧请求,且监控设备接收到该强制i帧请求之后,监控设备则不会等待20秒到达,而是直接向解码设备发送i帧。

当解码设备接收到与强制i帧请求对应的i帧,也就是在发送强制i帧请求之后,监控设备发送的下一个i帧之后,解码设备记录当前的时刻,这两次记录的时刻之间的时间差即为该次统计的强制i帧请求时间。

s204:解码设备确定是否已经统计下一个视频通道的视频流请求时间和强制i帧请求时间。

s205:若s204的确定结果为否,则解码设备统计第二视频通道的视频流请求时间。

本发明实施例中,解码设备在对第一视频通道传输的视频流解码完成之前,就可以提前请求第二视频通道的视频流,这样,在第对第一视频通道传输的视频流解码完成时,则可以直接对第二视频通道的视频流进行解码,而无需等待第二视频通道的视频流的到来,减少等待时间,使得显示画面更为流畅。

具体的,在解码设备第一次对第二视频通道的视频流进行解码时,也就是解码设备还未对第二视频通道的视频流请求时间进行统计之前,解码设备无法知道需要提前多久时间发送第一请求合适,因此在第一次解码到第二视频通道的视频流时,解码设备可以在第一视频通道传输的视频流解码完成之前的第一预设时间时,向第二视频通道连接的监控设备发送第一请求。其中,第一预设时间可以为根据经验设置的值,例如可以设置第一预设时间为5秒,那么假设第一视频通道的解码总时间为30秒,那么在第25秒时解码设备则可以向第二视频通道连接的监控设备发送第一请求。

具体的,对于第二视频通道的视频流请求时间的统计与第一视频通道类似,因此对于第二视频通道的视频流请求时间的统计可以参考对第一视频通道部分的描述,在此不再赘述。

s206:解码设备统计第二视频通道的强制i帧请求时间。

本发明实施例中,在解码设备提前向第二视频通道连接的监控设备发送第一请求之后,且解码设备对第一视频通道的视频流解码完成时,由于网络或者其他可能的因素的影响,第二视频通道的视频流有可能还未到达。其中,这里所说的视频流未到达是指第一个能够解码的视频帧未到达,例如i帧,由于i帧通常为第一个帧,因此实质上也可以认为是第一个视频帧。对于此种情况,解码设备获取强制i帧请求时间的方式与第一视频通道类似,因此在这种情况时,第二视频通道的强制i帧请求时间的统计可以参考对第一视频通道部分的描述,在此不再赘述。

具体的,在解码设备第一次对第二视频通道的视频流进行解码时,也就是解码设备还未对第二视频通道的强制i帧请求时间进行统计之前,解码设备无法知道需要提前多久时间发送强制i帧请求合适,因此解码设备可以在第一视频通道传输的视频流解码完成之前的第二预设时间时,向第二视频通道连接的监控设备发送强制i帧请求。其中,第二预设时间可以为根据经验设置的值,且通常来讲,对于同一个视频通道,发送强制i帧请求的时刻在发送第一请求的时刻之后。

本发明实施例中,在解码设备对第一视频通道的视频流解码完成之前,第二视频通道的视频流可能已经到达。在第二视频通道的视频流提前到达时,解码设备不会立即对第二视频通道的视频帧进行解码,而是在一个i帧到达之后,陆续缓存该关键帧相应的gop的数据,等到下一个i帧到达之时,则将之前缓存的gop的数据清除,而将新接收到的i帧相应的gop的数据进行缓存,当第一视频通道的视频流解码完成之时,则直接从缓存中的i帧开始进行解码。

但是,在实际应用中,有可能缓存的i帧的接收时间与实际开始对该i帧进行解码的时间差相差较大,也就是缓存的i帧已经是较久之前的视频帧,若是从该i帧开始解码,则会使得解码得到的视频延迟较大。因此,若是解码设备确定缓存的i帧的下一个i帧会在解码设备第一视频通道的视频流解码结束之后到达,则解码设备可以判断缓存的i帧与第一视频通道的视频流的解码结束时刻之间的时间差是否大于预设时间阈值,若是确定结果为是,则解码设备提前向第二视频通道连接的监控设备发送强制i帧请求,使得监控设备立即向解码设备发送i帧,那么解码设备则可以从接收到的这个i帧开始解码,以提升解码的实时性。

或者,当前已经缓存了一个i帧,解码设备根据获取的视频流的编码信息预测下一个i帧的到达时间,且确定下一个i帧会在第一视频通道的视频流解码结束之前到达,则解码设备可以还可以判断下一个i帧的接收时刻与第一视频通道的视频流的解码结束时刻之间的时间差是否大于预设时间阈值,若是确定结果为是,则解码设备提前向第二视频通道连接的监控设备发送强制i帧请求,使得监控设备立即向解码设备发送i帧,那么解码设备则可以从接收到的这个i帧开始解码,以提升解码的实时性。

具体的,除了上述在第一视频通道解码即将结束时,向第二视频通道发送视频流请求和强制i帧请求,以获取视频流请求时间和强制i帧请求时间的方式,解码设备还可以在第一视频通道的解码时间足够长的情况下,更早的获取视频流请求时间和强制i帧请求时间,然后断开第二视频通道的视频流,等到第一视频通道解码即将结束时,解码设备则可以根据已知的视频流请求时间和强制i帧请求时间来确定视频流请求和强制i帧请求的发送时刻,进一步提高准确性和实时性。

本发明实施例中,对于第二视频通道之后的第n视频通道皆可以按照上述方式来统计获得相应的视频流请求时间。其中,这里所说的第n视频通道是指解码设备后续依次轮询的视频通道,例如可以是第二视频通道之后的第三视频通道或者第四视频通道,还可以是解码设备在一次轮询周期完成后,再次循环到的第一视频通道或者第二视频通道。

同样,对于第二视频通道之后的第n视频通道皆可以按照上述方式来统计获得相应的强制i帧请求时间。

s207:若s204的确定结果为是,则解码设备根据视频流请求时间向监控设备发送第一请求。

本发明实施例中,在确定了各个视频通道的视频流请求时间之后,解码设备则可以根据该视频流请求时间确定发送第一请求的时刻。例如,可以在第(n-1)视频通道传输的视频流解码结束前的第一时刻,解码设备向第n视频通道连接的第一监控设备发送第一请求。其中,第一时刻能够通过第(n-1)视频通道传输的视频流的解码结束时刻与视频流请求时间进行确定,例如为第(n-1)视频通道传输的视频流的解码结束时刻与第一时刻的之间的时间差即为视频流请求时间。

s208:解码设备根据强制i帧请求时间向监控设备发送强制i帧请求。

本发明实施例中,若是解码设备发送第一请求之后,且在当前正在解码的视频通道解码结束之前,解码设备就已经收到下一个视频通道的视频流,则解码设备则可以根据强制i帧请求时间向监控设备发送强制i帧请求。

具体的,解码设备若是在第二时刻之前收到i帧,那么解码设备在达到第二时刻之时,则可以直接向相应的监控设备发送强制i帧请求。当然,为了避免不必要的交互过程,解码设备还可以判断是否需要发送强制i帧请求,例如在当前缓存的i帧的接收时刻与当前视频通道的解码结束时刻相差较大时,或者,下一个接收的i帧的接收时刻与当前视频通道的解码结束时刻相差较大时,解码设备都可以确定需要向监控设备发送强制i帧请求。

本发明实施例中,若是解码设备发送第一请求之后,且在当前正在解码的视频通道解码结束时,还未收到下一个视频通道的视频流,则解码设备等待视频流的到达,并在视频帧到达后开始进行解码。

本发明实施例中,由于网络等不稳定因素,或者设备的编码信息发生变化,每一次统计的视频流请求时间或者强制i帧请求时间可能都会有所不同,因而解码设备在每一次轮询至第n视频通道时,都以重新统计该次的视频流请求时间以及强制i帧请求时间,并将新确定的视频流请求时间以及强制i帧请求时间,与之前已确定的视频流请求时间以及强制i帧请求时间进行比较,以对视频流请求时间以及强制i帧请求时间进行更新。例如,为了尽早的获取视频流,可以将比较得到的较大值确定为最终的视频流请求时间以及强制i帧请求时间,以保障用户的观看体验。其中,较早的统计数据则可以进行清除,以减少存储空间的占用。

s209:解码设备确定是否要结束轮询过程。

s210:在s209的确定结果为是时,解码设备结束轮询过程。

具体的,当关闭解码设备,或者,解码设备接收到轮询结束操作时,则可以确定结束轮询过程。

在s209的确定结果为否时,跳转s204继续执行下一个视频通道的轮询。

综上所述,本发明实施例中,首先可以确定从第一请求发出到第一个视频帧接收完成所需要的视频流请求时间,进而可以确定提前多久请求下一个视频流较为合适,即可以根据视频流请求时间确定请求下一个视频流的第一时刻,这样,可以使得在当前的视频流解码结束时刚好能够接收到下一个视频流,或者下一个视频流的接收时刻与当前的视频流解码结束时刻较为接近,既能够提前获取视频流,减少画面终止到开启的时间差,使得画面更加连贯,还能够避免过早的获取下一个视频流的数据,进而减少网络资源的浪费以及设备的压力。另外,还可以通过统计强制i帧请求时间,作为即将解码该通道时是否请求强制i帧的依据,提高解码的实时性。

为了更加方便方案的描述,在上述对技术方案的描述时,对该方案进行了整体的描述,但是需要知道的是,除s205和s207之外的步骤均为可选的步骤,本领域技术人员在实际应用中,可以根据实际需求进行选择。

请参见图3,基于同一发明构思,本发明一实施例提供一种解码设备,该解码设备包括:

确定单元301,用于确定向第一监控设备发送第一请求,到第一监控设备发送的第一个视频帧接收完成所需的视频流请求时间;解码设备通过第n视频通道与第一监控设备进行通信,第一请求用于请求第一监控设备向解码设备发送码流编码信息和视频流数据;

发送单元302,用于在第(n-1)视频通道传输的视频流解码结束前的第一时刻,向第一监控设备发送第一请求;其中,第一时刻能够通过第(n-1)视频通道传输的视频流的解码结束时刻与视频流请求时间进行确定;

解码单元303,用于在第(n-1)视频通道传输的视频流解码结束时,解码设备对第n视频通道传输的视频流进行解码。

可选的,若解码设备在第(n-1)视频通道传输的视频流解码结束之前,已接收到第一监控设备发送的视频流;

则确定单元301,还用于确定向第一监控设备发送强制关键帧请求,到与强制关键帧请求对应的关键帧接收完成所需的强制关键帧请求时间;视频流请求时间大于强制关键帧请求时间;强制关键帧请求用于指示第一监控设备在接收强制关键帧请求后,直接向解码设备发送关键帧;

发送单元302,还用于在第(n-1)视频通道传输的视频流解码结束前的第二时刻,向第一监控设备发送强制关键帧请求;其中,第二时刻能够通过第(n-1)视频通道传输的视频流的解码结束时刻与强制关键帧请求时间进行确定。

可选的,若解码设备在第(n-1)视频通道传输的视频流解码结束之前,已接收到第一监控设备发送的视频流,

则发送单元302,还用于若确定单元301确定第一监控设备发送的下一个关键帧的接收时刻,在第(n-1)视频通道传输的视频流的解码结束时刻之后,且解码设备确定当前已缓存的关键帧的接收时刻,与第(n-1)视频通道传输的视频流的解码结束时刻之间的时间差大于预设时间阈值,则向第一监控设备发送强制关键帧请求;或者,

发送单元302,还用于若确定单元301确定第一监控设备发送的下一个关键帧的接收时刻,在第(n-1)视频通道传输的视频流的解码结束时刻之前,且解码设备确定下一个关键帧的接收时刻,与第(n-1)视频通道传输的视频流的解码结束时刻之间的时间差大于预设时间阈值,则向第一监控设备发送强制关键帧请求。

可选的,确定单元301具体用于:

在每一次轮询至第n视频通道时,确定强制关键帧请求时间;以及将新确定的强制关键帧请求时间与之前已确定的强制关键帧请求时间进行比较,并将比较得到的较大值确定为最终的强制关键帧请求时间。

该设备可以用于执行图2所示的实施例所提供的方法,因此,对于该设备的各功能模块所能够实现的功能等可参考图2所示的实施例的描述,不多赘述。

请参见图4,本发明一实施例还提供一种计算机装置,该计算机装置包括至少一个处理器401,至少一个处理器401用于执行存储器中存储的计算机程序时实现图2所示的方法的步骤。

可选的,至少一个处理器401具体可以包括中央处理器(cpu)、特定应用集成电路(applicationspecificintegratedcircuit,asic),可以是一个或多个用于控制程序执行的集成电路,可以是使用现场可编程门阵列(fieldprogrammablegatearray,fpga)开发的硬件电路,可以是基带处理器。

可选的,至少一个处理器401可以包括至少一个处理核心。

可选的,该计算机装置还包括存储器402,存储器402可以包括只读存储器(readonlymemory,rom)、随机存取存储器(randomaccessmemory,ram)和磁盘存储器。存储器402用于存储至少一个处理器401运行时所需的数据。存储器402的数量为一个或多个。其中,存储器402在图4中一并示出,但需要知道的是存储器402不是必选的功能模块,因此在图4中以虚线示出。

基于同一发明构思,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如图2所示的方法。

在具体的实施过程中,计算机可读存储介质包括:通用串行总线闪存盘(universalserialbusflashdrive,usb)、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的存储介质。

在本发明实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性或其它的形式。

在本发明实施例中的各功能单元可以集成在一个处理单元中,或者各个单元也可以均是独立的物理模块。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备,例如可以是个人计算机,服务器,或者网络设备等,或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:通用串行总线闪存盘(universalserialbusflashdrive)、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本发明实施例的方法,不应理解为对本发明实施例的限制。本技术领域的技术人员可轻易想到的变化或替换,都应涵盖在本发明实施例的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1