一种用于多路实时视频的帧同步方法技术

技术编号:9852643 阅读:462 留言:0更新日期:2014-04-02 17:25
一种用于多路实时视频的帧同步方法,该方法包括服务器端和客户端两个部分的内容,在服务器端对原始视频流加入同步信息,其步骤为:(1)从输入视频流中提取视频帧;(2)以流媒体服务器时间为基准对来自各相机的帧的到达时间进行校准;(3)根据步骤(2)校准后的时间,计算出一个帧同步序号,作为该帧的同步信息;(4)将同步信息添加到视频帧中。客户端的同步处理主要包括:(1)接收来自服务器的各路视频数据并解码,提取同步信息;(2)将解码后的帧放入各路视频对应的队列中缓冲;(3)由一个定时器每过一定时间间隔检查各路视频的队列并根据同步信息进行播放。本方法可以有效地对多路视频进行帧同步处理,使接收端可以根据同步信息进行同步播放。

【技术实现步骤摘要】
一种用于多路实时视频的帧同步方法
本专利技术涉及视频
,更具体地讲,涉及一种对网络流媒体进行帧同步的方法。
技术介绍
在网络多路视频应用中,往往会遇到播放时有的视频因为网络延时等一些原因播放落后于其它视频,出现多路视频播放不同步的现象。在一些专用视频应用中对多路视频播放的精确同步有较高要求,例如全景视频应用和跨相机跟踪应用等。全景视频应用中,经常在同一时刻需要显示多路视频,这些视频可能属于同一全景相机的不同摄像头,也有可能是属于不同相机。视频在网络传输会因为网络环境不同产生时延,同时各个相机内部时钟可能不一致,从而导致多路视频直接接收播放可能出现不同步的现象,严重影响到用户的观看体验。跨相机跟踪应用中,如果各个相机之间的视频不同步,则会造成跟踪目标出现在多个相机的情况,对跟踪效果有严重影响。目前多路视频同步的方法一般都是按视频帧的时间戳进行同步。本专利技术前,中国专利技术专利“多路音视频数据网络传输与同步播放的方法”,申请号为200510017131.1,公开号为CN1933594,该专利公开了一种多路视频网络传输后同步播放的方法,该方法在服务器端对视频帧标记时间戳进行网络传输并在客户端利用时间戳进行同步播放。这种方法固定了时间戳的记时单位,但无法根据需要调整同步精度。同时,在实时视频服务中,时间戳不能只以服务器时间为标准,需要综合考虑相机采集时间与服务器时间来标记时间戳。中国专利技术专利“多路视频同步传输方法、装置及系统”,申请号201010159842.3,公开号为CN102238421A,该专利公开了一种多路视频网络传输后同步播放的方法,该方法对视频帧添加水印,同一时段内获取的多路视频中的多帧图像暣添加的水印相同,客户端进行播放时多路视频水印相同的一起播放,达到同步播放的效果。这种方法由于将水印嵌入图像中,修改了图像原本的信息,同时对于已编码的视频流,水印添加需要对图像解码后添加再编码,处理时间较长。同样此方法在做实时视频服务时,没有考虑到采集设备到服务器之间的传输时延。针对上述方法的不足,本专利技术提出了一种服务器和客户端相互配合的多路视频同步方法,可以有效地解决由服务器与客户端之间由网络延迟、各相机内部时间不同、相机与服务器之间的传输延时等因素引起的同步问题,并可以配置相关参数达到适应不同同步精度的要求,无需修改图像信息达到多路视频精确同步的目的。
技术实现思路
本专利技术的目的是:提供了一种用于多路实时视频的帧同步方法,使多路视频在客户端进行播放时各路视频时间同步,解决因网络传输时延和不同相机时钟不一致所引起的多路视频播放不同步的情况,提高用户的观看体验。本专利技术的技术解决方案:根据相机时间与服务器时间,调节相机与服务器之间的时间偏移量,以此对相机视频帧的时间戳进行校准,根据服务器配置的基准帧率确定的时间轴区间与校准后的时间戳计算出一个与时间和基准帧率相关的序号做为同步信息添加至视频帧中进行传输,客户端使用这个序号判断多路视频中各帧是否是同一时刻的帧。并且本方法还引入了超时忽略播放机制、缓冲机制和追赶机制等来提高多路视频同步的精确性。服务器提取出从相机得到的原始视频流中的视频帧以及对应的时间戳,根据相机时间与服务器时间的时间偏移量对视频流进行时间校准。服务器配置一个基准帧率用于对时间轴进行区间分割,区间长度为基准帧率的倒数。服务器根据校准后的时间计算出帧同步序号作为该帧的同步信息添加到视频帧中,帧同步序号为该帧校准后的时间戳的分、秒以及在一秒之中所在的区间号计算得出。同步信息携带于视频帧中长度固定,根据具体的视频编码方式携带方式有所不同。客户端在收到来自服务器的视频流之后,首先提取视频流中帧所附带的长度固定的同步信息,并对帧数据进行解码。客户端会为每一路视频建立一个缓冲队列,解码后的视频帧会被放入该队列。客户端维护一个定时器,定时器每隔一段时间间隔会检查缓冲队列。若缓冲队列的第一帧的帧同步序号为当前应该播放的序号,则出队播放;若缓冲队列的第一帧的帧同步序号比当前应该播放的序号小,则丢弃该帧与之后所有帧同步序号小于当前应该播放序号的帧;若队列为空则暂时忽略该队列;若队列被忽略,则检查是否恢复正常;若半数以上队列视频流长度小于一定阈值,则等待一段时间后继续;若半数以上队列视频流长度大于一定阈值,则在之后一段时间每个定时器周期执行两次检查。附图说明图1为本多路视频同步方法的总体示意图;图2为服务器端对视频流的帧添加同步信息的流程图;图3为帧时间戳与帧同步序号对应示意图。具体实施方法下面结合附图并以H.264编码的视频流为例对本专利技术作进一步详细的描述,在介绍本专利技术的具体实施方法之前,首先对一些基本概念进行说明:(1)相机时间:相机内部系统的时间,各个相机内部时间可能不一致;(2)服务器时间:流媒体服务器的时间,以该时间为标准进行帧同步;(3)基准帧率:在服务器运行前配置;此帧率应该大于任何相机的帧率;此帧率越大,同步精度越高;此帧率用于对时间轴进行区间分割,每个区间对应该一个编号;(4)帧同步序号:根据服务器时间对每帧生成的序号,该序号为该帧落在时间轴上由基准帧率分割而成的区间的编号;该序号作为同步信息添加到NAL单元中,用于客户端进行同步处理;(5)原始视频流:来自相机的未添加帧同步序号的视频流;(6)缓冲队列:客户端对视频流解码后的帧放入缓冲队列中等待播放;(7)缓冲时间:客户端设置一个缓冲时间,该时间初始为缓冲队列中队头与队尾帧的间隔时间;在播放时,尽量保证缓冲队列队头与队尾间隔时间长度等于缓冲时间;(8)参考播放序号:客户端开放播放后,维护一个参考播放序号,用于同步播放控制;参考序号决定了当前应该播放的视频帧的帧同步序号;(9)循环标志:帧同步序号和参考播放序号包含一个循环标志;帧同步序号或参考播放序号之间可直接比较当且仅当循环标志相同;(10)忽略、播放状态:当视频处于忽略状态时,不播放该视频直到视频恢复播放状态。本专利技术的总体示意图如图1所示,服务器对来自多个相机的原始视频流添加同步信息;客户端接收来自服务器的多路视频流,并从中提取同步信息,根据同步信息与缓冲队列通过定时器进行同步播放。服务器对视频流的帧添加同步信息的流程如图2所示,由于服务器与相机之间存在传输时延,所以首先调节相机与服务器之间的时间偏移量,该时间偏移量应该考虑相机与服务器之间的时延和相机时间系统与现实时间的误差两个方面。服务器从相机获得原始视频流,其中每一帧数据包括视频帧的图像数据与该帧的时间戳,通过时间偏移量对该时间戳进行校准。设在T时刻,视频帧时间戳为tc,服务器时间为ts,时间偏移量为Δt,那么:tc=ts+Δt通过Δt可以对来自相机的帧的时间戳进行校准,从而得到在服务器的时间系统下该帧以及后续帧的采集时间。服务器需要在每一个相机接入并开始工作前配置时间偏移量。在得到时间偏移量之后,服务器对每一帧视频数据根据时间偏移量计算出该帧校准后的时间戳,并通过校准后的时间戳计算帧同步序号作为该帧的同步信息。帧同步序号的计算方法如下:(1)配置基准帧率。基准帧率应该大于所有相机的帧率,才能保证使用基准帧率对时间轴进行区间分割时,同一路视频连续两帧不会出现在同一时间区间中。为了方便编号,基准帧率应能整除1000。(2)利用基准帧率计算得本文档来自技高网
...
一种用于多路实时视频的帧同步方法

【技术保护点】
一种用于多路实时视频的帧同步方法,其特征在于:其包括服务器端和客户端,在服务器端对原始视频流加入同步信息,服务器端具体步骤为: (s1)从输入视频流中提取视频帧; (s2)以流媒体服务器时间为基准对来自各相机的视频帧的到达时间进行校准; (s3)根据步骤(s2)校准后的时间,为每路视频计算帧同步序号,作为该路的同步信息; (s4)将同步信息添加到每路视频流的视频帧中。 在客户端的同步处理步骤为: (c1)从来自服务器的视频流中提取同步信息; (c2)对各路视频流分别建立缓冲队列; (c3)由一个定时器以固定时间间隔检查各个缓冲队列; (c4)根据同步信息进行同步播放。

【技术特征摘要】
1.一种用于多路实时视频的帧同步方法,其特征在于:其包括服务器端和客户端,在服务器端对原始视频流加入同步信息,服务器端具体步骤为:(s1)从输入视频流中提取视频帧;(s2)以流媒体服务器时间为基准对来自各相机的视频帧的到达时间进行校准;(s3)根据步骤(s2)校准后的时间,为每路视频计算帧同步序号,作为该路的同步信息;(s4)将同步信息添加到每路视频流的视频帧中;在客户端的同步处理步骤为:(c1)从来自服务器的视频流中提取同步信息;(c2)对各路视频流分别建立缓冲队列;(c3)由一个定时器以固定时间间隔检查各个缓冲队列;(c4)根据同步信息进行同步播放;所述步骤(s3)包括步骤如下:(s3.1)配置一个基准帧率用于对时间轴进行区间分割,区间大小为基准帧率的倒数,一秒钟包含的区间数等于基准帧率;(s3.2)根据帧的校准时间,计算出帧同步序号;为保证帧同步序号有限且在短时间内不重复出现,帧同步序号实际是根据帧的校准后时间戳的分、秒以及在一秒之中所在的区间号计算得出。2.根据权利要求1所述的用于多路实时视频的帧同步方...

【专利技术属性】
技术研发人员:周忠张晋诗周颐刘培富
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1