一种多路视频同步回放方法及装置制造方法
【专利摘要】本发明适用于监控【技术领域】,提供了一种多路视频同步回放方法及装置,所述多路视频同步回放方法包括:获取当前播放的多路视频的多个时间戳;在所述多路视频的多个时间戳中,选定其中一路视频为标准视频,所述标准视频的时间戳为标准时间戳;根据所述标准时间戳,调整所述多路视频的视频帧,直至同步播放所述多路视频。本发明根据标准时间戳,调整多路视频的视频帧,直至同步播放多路视频,避免了在定位过程中,因查找线程堵塞或解码速率跟不上视频帧速率,出现多路视频不能同步回放的情况,使得同一时间可以同时回放多路视频,从而既减少了多路视频同步回放的线程,也提高多路视频同步回放的速度。
【专利说明】—种多路视频同步回放方法及装置
【技术领域】
[0001]本发明属于于监控【技术领域】,尤其涉及一种多路视频同步回放方法及装置。
【背景技术】
[0002]硬盘录像机(DigitalVideoRecorder,DVR),即数字视频录像机,采用硬盘录像,具有对图像/语音进行长时间录像、录音、远程监视和控制的功能。随着网络带宽、计算机处理能力和存储容量的迅速提高以及各种实用视频信息处理技术的出现,视频监控进入了全数字化的网络时代,即是通常所说的第三代视频监控系统。数字化监控以其直观、方便和内容丰富等特点,日益受到人们的重视和关注。
[0003]然而,现有的DVR支持多路视频采集,在使用时间戳进行帧同步的基础上实现了对多路视频的同步回放,其存在两个方面的主要缺点,详述如下:
[0004]第一方面,在DVR进行多路视频同步播放时,需要先查找定位多路视频的视频帧信息,其原因在于,采用DVR原有的视频帧查找定位,需要通篇读取多路视频中视频帧,才能够准确定位视频帧的位置信息,因此,容易造成线程堵塞,出现多路视频回放不同步现象。
[0005]第二方面,在DVR进行多路视频同步播放时,多路视频与音频混合编码,在进行解码播放线程时,往往因为视频的解码速率跟不上视频帧速率,导致视频回放时只能一一播放,因此,无法进行多路视频同步回放。
【发明内容】
[0006]本发明实施例的目的在于提供一种多路视频同步回放方法及装置,旨在解决多路视频在同步回放时,因查找定位过程中线程堵塞或解码速率跟不上视频帧速率,导致多路视频无法实现同步回放的问题。
[0007]本发明实施例是这样实现的,一种多路视频同步回放方法,包括:
[0008]获取当前播放的多路视频的多个时间戳;
[0009]在所述多路视频的多个时间戳中,选定其中一路视频为标准视频,所述标准视频的时间戳为标准时间戳;
[0010]根据所述标准时间戳,调整所述多路视频的视频帧,直至同步播放所述多路视频。
[0011]本发明实施例的另一目的在于提供多路视频同步回放装置,包括:
[0012]时间戳获取模块,用于获取当前播放的多路视频的多个时间戳;
[0013]标注时间戳选择模块,用于在所述多路视频的多个时间戳中,选定其中一路视频为标准视频,所述标准视频的时间戳为标准时间戳;
[0014]同步处理模块,用于根据所述标准时间戳,调整所述多路视频的视频帧,直至同步播放所述多路视频。
[0015]在本实施例中,根据标准时间戳,调整多路视频的视频帧,直至同步播放多路视频,避免了在定位过程中,因查找线程堵塞或解码速率跟不上视频帧速率,出现多路视频不能同步回放的情况,使得同一时间可以同时回放多路视频,从而既减少了多路视频同步回放的线程,也提高多路视频同步回放的速度。
【专利附图】
【附图说明】
[0016]图1是本发明实施例提供的多路视频同步回放方法的实现流程图;
[0017]图2是本发明实施例提供的多路视频同步回放方法步骤S103的实现流程图;
[0018]图3是本发明实施例提供的多路视频同步回放方法解码缓存的实现流程图;
[0019]图4是本发明实施例提供的多路视频同步回放装置的第一结构框图;
[0020]图5是本发明实施例提供的多路视频同步回放装置的第二结构图;
[0021]图6是本发明实施例提供的多路视频同步回放装置的第三结构图;
[0022]图7是本发明实施例提供的多路视频同步回放装置的第四结构图。
【具体实施方式】
[0023]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0024]实施例一
[0025]参考图1,图1是本发明实施例提供的多路视频同步回放方法的实现流程图,详述如下:
[0026]在步骤S101中,获取当前播放的多路视频的多个时间戳;
[0027]在步骤S102中,在所述多路视频的多个时间戳中,选定其中一路视频为标准视频,所述标准视频的时间戳为标准时间戳;
[0028]在步骤S103中,根据所述标准时间戳,调整所述多路视频的视频帧,直至同步播放所述多路视频。
[0029]其中,在视频编码打包生成录像包文件的,所述视频编码是采用压缩技术,将视频的格式进行转换,压缩编码可以为MPEG与Η.26X形式。
[0030]其中,在多路视频解码线程中,解码器对视频流的解码播放时通过逐帧处理循环调用的,一次循环只完成一帧图像的解码、处理、显示;而且在循环的运行速度加以控制,解码播放线程将以最高速度运行,因此,必须加入对线程的暂停操作来减缓循环执行频率,从而实现对播放速率的控制。
[0031]在本实施例中,根据标准时间戳,调整多路视频的视频帧,直至同步播放多路视频,避免了在定位过程中,因查找线程堵塞或解码速率跟不上视频帧速率,出现多路视频不能同步回放的情况,使得同一时间可以同时回放多路视频,从而既减少了多路视频同步回放的线程,也提高多路视频同步回放的速度。
[0032]实施例二
[0033]在预先配置的索引表内获取当前播放的多路视频的多个时间戳。
[0034]在本实例中,提取的当前播放的多路视频的多个视频帧,所述视频帧为关键帧,靠尽可能去除图像空间冗余信息来压缩传输数据量的帧内编码图像,通过所述视频帧的时间信息与所述视频帧的偏移地址对应建立每路视频的索引表,读取每路索引表的信息,即可获取该路视频内的具体信息。
[0035]实施例三
[0036]提取多路视频中视频帧的时间信息,根据所述时间信息配置索引表。
[0037]其中,所述录像包文件包括录像包头部信息与多路视频;视频帧索引表的信息包括视频帧时间与视频帧在多路视频中的偏移地址。
[0038]在本实施例中,将生成的录像包文件的视频帧索引表添加至录像包文件尾部,即是多路视频尾部,视频帧索引表的地址依次添加至录像包头部信息内,每一路的视频帧索引表依次存储至该路视频尾部,便于在回放查找定位时,通过读取录像包文件的时候迅速定位到视频帧索引表,再通过视频帧索引表获取录像包内的具体信息。
[0039]实施例四
[0040]参考图2,图2是本发明实施例提供的多路视频同步回放方法步骤S103的实现流程图,详述如下:
[0041]根据所述标准时间戳,在所述多路视频中,调整除所述标准视频以外的视频的视频帧,直至同步播放所述多路视频,具体为:
[0042]在步骤S201中,根据所述标准时间戳,在所述多路视频中,判断所述标准视频以外的视频的时间戳是否大于所述标准时间戳;
[0043]在步骤S202中,当所述视频的时间戳大于所述标准时间戳时,则重新输出上一视频帧,直至所述视频的时间戳与所述标准时间戳相同;
[0044]在步骤S203中,当所述视频的时间戳小于所述标准时间戳的情况下,丢掉所述视频当前帧数据,获取下一视频帧,直至视频的时间戳与所述标准时间戳相同。
[0045]其中,多路视频可以为4、6、9、12、16、32或者更多路视频,此处,优选为4路视频;另外3路视频一一与该标准时间戳进行对比处理,如果某路视频的时间戳大于标准时间戳时,则重新输出该路视频的上一帧视频数据;如果某路视频的时间戳小于标准时间戳时,则出现丢帧现象,直接获取该路视频的下一帧视频数据,到达调准时间戳而实现视频数据的同步。
[0046]实施例五
[0047]参考图3,图3是本发明实施例提供的多路视频同步回放方法的解码缓存实现流程图,详述如下:
[0048]在步骤S301中,根据多路视频中解码器帧率与视频流帧率差值比较,确定解码缓存的显示时长;
[0049]在本实例中,设置变量Toverflow表示为“目前为止各帧显示总时长超出其应用总时长的时间差”,假设某时第η帧经过暂停线程msle印(t)显示,调用clockO函数得到此时时间tn之后线程继续运行至下一帧准备好被显示时,则第η帧以显示的时长Τη =clock 0~tn+l ;
[0050]在步骤S302中,根据解码缓存的显示时长,调整多路视频中缓存解码直至同步。
[0051]当视频解码器帧率显示的时长Τη大于视频流帧率每帧图像显示的时长Tf时,将Tn-Tf的值加入Toverf low,直接进入n+1巾贞显示;
[0052]在本实例中,η帧的显示时长超过了它应该显示时长,因为n+1帧解码消耗过多时间,所以将Tn-Tf的时长差值加入Toverf low,实现视频快进形式,直接进入n+1巾贞显示。
[0053]当视频解码器帧率显示的时长Τη不大于视频流帧率每帧图像显示的时长长Tf时,且Tf-Tn的值小于Toverf low当前累计的值,将Toverf low减去Tf_Tn的值,直接进入n+1巾贞显示;
[0054]在本实例中,使在播放的视频实现倒退,达到解码后同步显示的目的。
[0055]当视频解码器帧率显示的时长Τη不大于视频流帧率每帧图像显示的时长Tf时,且Tf-Tn的值不小于Toverf low当前累计的值,暂停线程msleep (t)暂停Tf-Tn-Toverf low的时长,然后清空Toverf low并进入。
[0056]在本实施例中,当Tf-Tn的显示时长差值不小于Toverflow当前累计的值,其中,包括Toverflow为零的情况,当暂停了 Tf-Tn-Toverflow时长时,清空Toverflow的累积值,进入n+1巾贞显示。
[0057]实施例六
[0058]图4是本发明实施例提供的多路视频同步回放装置的第一结构框图,该多路视频同步回放装置可以运行于服务器。为了便于说明,仅示出了与本实施例相关的部分。
[0059]参照图4,该多路视频同步回放装置,包括:
[0060]时间戳获取模块41,用于获取当前播放的多路视频的多个时间戳;
[0061]标注时间戳选择模块42,用于在所述多路视频的多个时间戳中,选定其中一路视频为标准视频,所述标准视频的时间戳为标准时间戳;
[0062]同步处理模块43,用于根据所述标准时间戳,调整所述多路视频的视频帧,直至同步播放所述多路视频。
[0063]在本实施例的一种实现方式中,参照图5,图5是本发明实施例提供的多路视频同步回放装置的第二结构图,在该多路视频同步回放装置中,所述时间戳获取模块41包括:
[0064]索引表配置单元411,提取多路视频中视频帧的时间信息,根据所述时间信息配置索引表。
[0065]在本实例中,所述索引表包括视频帧时间信息与视频帧的偏移地址,所述索引表对应保存在多路视频的尾部;将所述索引表的地址添加至多路视频的头部,根据所述索引表内视频帧时间信息与视频帧的偏移地址获取当前播放的多路视频的多个时间戳。
[0066]时间戳获取单元412,在预先配置的索引表内获取当前播放的多路视频的多个时间戳
[0067]在本实例中,提取当前播放的多路视频的多个视频帧时间信息,根据所述多个视频帧时间信息建立对应的索引表,在所述索引表内获取当前播放的多路视频的多个时间戳。
[0068]在本实施例的一种实现方式中,参照图6,图6是本发明实施例提供的多路视频同步回放装置的第三结构图,在该多路视频同步回放装置中,所述同步处理模块43包括:
[0069]同步处理单元431,用于根据所述标准时间戳,在所述多路视频中,调整除所述标准视频以外的视频的视频帧,直至同步播放所述多路视频。
[0070]在本实施例的一种实现方式中,参照图7,图7是本发明实施例提供的是多路视频同步回放装置的第四结构图,在该多路视频同步回放装置中,所述同步处理单元431,包括:
[0071]判断子单元4311,用于根据所述标准时间戳,在所述多路视频中,判断所述标准视频以外的视频的时间戳是否大于所述标准时间戳;
[0072]第一同步子单元4312,用于当所述视频的时间戳大于所述标准时间戳时,则重新输出上一视频帧,直至所述视频的时间戳与所述标准时间戳相同;
[0073]第二同步子单元4313,用于当所述视频的时间戳小于所述标准时间戳的情况下,丢掉所述视频当前帧数据,获取下一视频帧,直至视频的时间戳与所述标准时间戳相同。
[0074]本发明实施例提供的装置可以应用在前述对应的方法实施例中,详情参见上述实施例的描述,在此不再赘述。
[0075]通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解至本发明可借助软件加必需的通用硬件的方式来实现。所述的程序可以存储于可读取存储介质中,所述的存储介质,如随机存储器、闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件执行本发明各个实施例所述的方法。
[0076]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想至的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
【权利要求】
1.一种多路视频同步回放方法,其特征在于,包括: 获取当前播放的多路视频的多个时间戳; 在所述多路视频的多个时间戳中,选定其中一路视频为标准视频,所述标准视频的时间戳为标准时间戳; 根据所述标准时间戳,调整所述多路视频的视频帧,直至同步播放所述多路视频。
2.根据权利要求1所述的多路视频同步回放方法,其特征在于,所述获取当前播放的多路视频的多个时间戳,具体为: 在预先配置的索引表内获取当前播放的多路视频的多个时间戳。
3.根据权利要求2所述的多路视频同步回放方法,其特征在于,所述在所述索引表内获取当前播放的多路视频的多个时间戳之前,包括: 提取多路视频中视频帧的时间信息,根据所述时间信息配置索引表。
4.根据权利要求1所述的多路视频同步回放方法,其特征在于,所述根据所述标准时间戳,调整所述多路视频的视频帧,直至同步播放所述多路视频,具体为: 根据所述标准时间戳,在所述多路视频中,调整除所述标准视频以外的视频的视频帧,直至同步播放所述多路视频。
5.根据权4所述的多路视频同步回放方法,所述根据所述标准时间戳,在所述多路视频中,调整除所述标准视频以外的视频的视频帧,直至同步播放所述多路视频,具体为: 根据所述标准时间戳,在所述多路视频中,判断所述标准视频以外的视频的时间戳是否大于所述标准时间戳; 当所述视频的时间戳大于所述标准时间戳时,则重新输出上一视频帧,直至所述视频的时间戳与所述标准时间戳相同; 当所述视频的时间戳小于所述标准时间戳的情况下,丢掉所述视频当前帧数据,获取下一视频帧,直至视频的时间戳与所述标准时间戳相同。
6.一种多路视频同步回放装置,其特征在于,包括: 时间戳获取模块,用于获取当前播放的多路视频的多个时间戳; 标注时间戳选择模块,用于在所述多路视频的多个时间戳中,选定其中一路视频为标准视频,所述标准视频的时间戳为标准时间戳; 同步处理模块,用于根据所述标准时间戳,调整所述多路视频的视频帧,直至同步播放所述多路视频。
7.根据权利要求6所述的多路视频同步回放装置,其特征在于,所述时间戳获取模块,包括: 时间戳获取单元,在预先配置的索引表内获取当前播放的多路视频的多个时间戳。
8.根据权利要求7所述的多路视频同步回放装置,其特征在于,所述时间戳获取模块,还包括: 索引表配置单元,提取多路视频中视频帧的时间信息,根据所述时间信息配置索引表。
9.根据权利要求6所述的多路视频同步回放装置,其特征在于,同步处理模块包括: 同步处理单元,用于根据所述标准时间戳,在所述多路视频中,调整除所述标准视频以外的视频的视频帧,直至同步播放所述多路视频。
10.根据权利要求9所述的多路视频同步回放装置,其特征在于,所述同步处理单元包 括: 判断子单元,用于根据所述标准时间戳,在所述多路视频中,判断所述标准视频以外的视频的时间戳是否大于所述标准时间戳; 第一同步子单元,用于当所述视频的时间戳大于所述标准时间戳时,则重新输出上一视频帧,直至所述视频的时间戳与所述标准时间戳相同; 第二同步子单元,用于当所述视频的时间戳小于所述标准时间戳的情况下,丢掉所述视频当前帧数据,获取下一视频帧,直至视频的时间戳与所述标准时间戳相同。
【文档编号】H04N7/18GK104410807SQ201410681595
【公开日】2015年3月11日 申请日期:2014年11月24日 优先权日:2014年11月24日
【发明者】庄少华, 陈文明, 江常杯 申请人:深圳市华宝电子科技有限公司