一种多路音视频同时同步播放的方法

文档序号:7780037阅读:1686来源:国知局
一种多路音视频同时同步播放的方法
【专利摘要】本发明一种多路音视频同时同步播放的方法,采用音视频流数据的交叉存储,播放程序可以一边读取硬盘或光盘上的音视频流数据一边播放,这样在播放音视频流数据时,只需在指定的时间内访问少量的视频图像和部分音频数据,而无需预先把容量很大的音视频流数据加载到内存中,因此播放时只需占用有限的内存空间,不仅可以提高系统的工作效率,同时也可以实现迅速地加载和快速地启动播放程序,减少播放音视频数据时用户的等待时间,本发明仅依靠存储顺序能达到同步的效果。
【专利说明】—种多路音视频同时同步播放的方法
【技术领域】
[0001]本发明涉及一种多路音视频同时同步播放的方法。
【背景技术】
[0002]基于文件系统的DVR,对于长时间录像产生的大数据包(几G到数十G的数据)无法管理,只能进行分包,将一段完整的录像,分若干个小的文件包,如5、10、30分钟自动形成一个文件,或者150M、200M作为一个文件。因此容易产生包与包之间丢帧现象,同时磁盘磁头需要频繁地读写数据与文件索引,磁头频繁跳动,对于每天十几到二十四小时连续读写硬盘的DVR系统,极容易造成硬盘故障。
[0003]由于新录制的文件与旧的文件大小不同,当硬盘录满后需要删除整段文件时,会在硬盘上产生大量的碎片空间,影响硬盘的使用和系统效率。
[0004]另外,使用文件系统来进行录像机录像资料管理还存在两个风险,一是若文件分配表被损坏,则录像资料大多会丢失,二是若系统突然断电或遭到人为破坏,当前正在录制的录像数据不能够保存。
[0005]基于文件系统的DVR,每路摄像头采集图像一段时间就将数据保存成一个录像文件,并且将音视频数据都保存在同一文件里。比如说4路摄像头,录制I小时,产生4个文件,回放时,单个文件的音视频可以同步播放,但4个通道的音视频要都同时同步播放就比较困难了,因为他们之间是彼此相互独立的,没有关联性,很难有同时同步播放的参考。因此,基于文件系统的DVR,传统音视频同步播放方法只适用于播放一路音视频数据,而无法用于多路音视频同时同步播放。

【发明内容】

[0006]针对以上的不足之处,本发明提供一种多路音视频同时同步播放的方法,在多路音视频播放时能达到严格同步的效果。
[0007]一种多路音视频同时同步播放的方法,包括如下步骤:
步骤1、在录像开始时选择系统时间作为参考时钟,生成音视频数据流时依据参考时钟上的时间给每个音视频块打上时间戳,包括开始时间和结束时间;
步骤2、从N路的音视频信号采集装置获取到N路音视频数据,依照如下顺序存储在硬盘上:
1、每个音视频块由“信息头”+ “音视频流”组成,其中“信息头”包含有数据流类型、通道号、时间戳的信息;
2、每一路的音视频块成对依次存储,与另一路的音视频块形成交错排列,即第一路所有的视频块存储完毕后,接着存储第一路所有的音频块,再然后是第二路所有的视频块、第二路所有的音频块,直至第N路所有的视频块、音频块;
步骤3、在播放时,读取音视频块上的时间戳,同时参考当前参考时钟上的时间来安排播放顺序,具体为:先算出第一个音视频块的时间戳和当前参考时钟的差值X,后续播放过程中,如果音视频块的时间戳和当前参考时钟的差值大于X,则不急于播放该音视频块,直到参考时钟达到;如果音视频块的时间戳和当前参考时钟的差值小于X,则要尽快播放这数据块或者将这数据块丢弃。
[0008]本发明使用适合媒体数据流存储方式的硬盘管理系统:音视频流存储模式。采用音视频流存储模式,对硬盘持续的、无缝的逐帧循环覆盖技术。没有文件的概念,一段音视频录像不受制于文件大小,也不受制于时间段长度,只受制于硬盘容量。一段录像,可以从几秒到几个月,可以从几K到几十T,只要硬盘足够大。对硬盘的写入是持续的、无缝的逐帧循环覆盖,不存在丢帧现象。不存在分包录像,硬盘录满后,采用逐帧覆盖技术,没有删除的动作,不存在硬盘碎片。磁头的读写基本是顺序的,无需频繁跳动,能够很好保护硬盘磁头,减少硬盘故障率,延长硬盘寿命。硬盘任何地方的错误,不会影响前面或后面的录像。在突然断电的情况下,也能保存断电前瞬间的图像;同时,原始录像资料数据与PC不兼容,无法在PC上直接修改,保证原始资料的保密性和可靠性。
【专利附图】

【附图说明】
[0009]图1为本发明中音视频块的存储结构示意图。
[0010]以下结合附图和实施例对本发明作进一步详述。
【具体实施方式】
[0011]本发明一种多路音视频同时同步播放的方法,包括如下步骤:
步骤1、在录像开始时选择系统时间作为参考时钟,生成音视频数据流时依据参考时钟上的时间给每个音视频块打上时间戳,包括开始时间和结束时间;
步骤2、从N路的音视频信号采集装置获取到N路音视频数据,依照如下顺序存储在硬盘上,如图1所示:
1、每个音视频块由“信息头”+ “音视频流”组成,其中“信息头”包含有数据流类型、通道号、时间戳的信息;
2、每一路的音视频块成对依次存储,与另一路的音视频块形成交错排列,即第一路所有的视频块存储完毕后,接着存储第一路所有的音频块,再然后是第二路所有的视频块、第二路所有的音频块,直至第N路所有的视频块、音频块;
步骤3、在播放时,读取音视频块上的时间戳,同时参考当前参考时钟上的时间来安排播放顺序,具体为:先算出第一个音视频块的时间戳和当前参考时钟的差值X,后续播放过程中,如果音视频块的时间戳和当前参考时钟的差值大于X,则说明播放太快,不急于播放该音视频块,直到参考时钟达到;如果音视频块的时间戳和当前参考时钟的差值小于X,则说明播放太慢,要尽快播放这数据块或者将这数据块丢弃,以使播放进度追上参考时钟。同步是一个动态的过程,是一个有人等待、有人追赶的过程。同步只是暂时的,而不同步才是常态。音频、视频总是在同步的水平线上振荡波动,但不会偏离这条基线太远。
[0012]本发明中每路之间的音频数据和视频数据成对交错排列。由于音视频流数据成对同步存储,所以播放时无需做同步处理,从硬盘上依次取出音视频流数据后即可播放,一路的音视频流数据可以同步播放,多路同时播放时也能同步播放。
[0013]本发明仅依靠存储顺序基本能达到同步的效果,但随着播放时间的推进,播放I小时、5小时,甚至播放I天,误差会随着时间慢慢扩大,导致最终不同步。为了克服这个问题,引入N路音视频统一的存于每路音视频的“信息头”中的参考时间戳,播放时,播放软件根据这些时间戳来微调。
[0014]本发明中由于音视频流数据的交叉存储,播放程序可以一边读取硬盘或光盘上的音视频流数据一边播放,这样在播放音视频流数据时,只需在指定的时间内访问少量的视频图像和部分音频数据,而无需预先把容量很大的音视频流数据加载到内存中,因此播放时只需占用有限的内存空间,不仅可以提高系统的工作效率,同时也可以实现迅速地加载和快速地启动播放程序,减少播放音视频数据时用户的等待时间。
[0015]以上所述,仅是本发明较佳实施例而已,并非对本发明的技术范围作任何限制,故凡是依据本发明的技术实质对以上实施例所作的任何细微修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
【权利要求】
1.一种多路音视频同时同步播放的方法,其特征在于包括如下步骤: 步骤1、在录像开始时选择系统时间作为参考时钟,生成音视频数据流时依据参考时钟上的时间给每个音视频块打上时间戳,包括开始时间和结束时间; 步骤2、从N路的音视频信号采集装置获取到N路音视频数据,依照如下顺序存储在硬盘上: .1、每个音视频块由“信息头”+ “音视频流”组成,其中“信息头”包含有数据流类型、通道号、时间戳的信息; .2、每一路的音视频块成对依次存储,与另一路的音视频块形成交错排列,即第一路所有的视频块存储完毕后,接着存储第一路所有的音频块,再然后是第二路所有的视频块、第二路所有的音频块,直至第N路所有的视频块、音频块; 步骤3、在播放时,读取音视频块上的时间戳,同时参考当前参考时钟上的时间来安排播放顺序,具体为:先算出第一个音视频块的时间戳和当前参考时钟的差值X,后续播放过程中,如果音视频块的时间戳和当前参考时钟的差值大于X,则不急于播放该音视频块,直到参考时钟达到;如果音视频块的时间戳和当前参考时钟的差值小于X,则要尽快播放这数据块或者将这数据块丢弃。
【文档编号】H04N21/8547GK103731625SQ201310677256
【公开日】2014年4月16日 申请日期:2013年12月13日 优先权日:2013年12月13日
【发明者】许振坪, 郭亚松, 许宁, 黄鹏, 陈华云, 蔡珊 申请人:厦门雅迅网络股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1