一种多通道音视频处理方法和装置制造方法

文档序号:8005842阅读:290来源:国知局
一种多通道音视频处理方法和装置制造方法
【专利摘要】本发明公开了一种多通道音视频处理方法和装置,属于视频监控领域。该方法包括:在存储文件时,将获取到的各个通道的音视频数据按帧存储到同一个文件中;在播放文件时,根据通道标识解析出各通道音视频数据并传送给流媒体播放模块;流媒体播放模块分通道解码并播放音视频数据。该装置包括将各个通道的音视频数据按帧存储到同一个文件的存储模块、根据通道标识解析出各通道音视频数据的解析模块以及用于分通道解码并播放音视频数据的流媒体播放模块。采用本发明实施例,减少了文件的数量和读写文件对系统资源的消耗,同时,由于多通道数据顺序存在同一文件,数据的时序在存储时已得到同步保障,播放时不需要进行时序控制,使得播放效果更流畅。
【专利说明】一种多通道音视频处理方法和装置
【技术领域】
[0001]本发明涉及视频监控领域,尤其涉及一种多通道音视频处理方法和装置。
【背景技术】
[0002]当出现视频监控设备以来,为了实现多音视频通道的回放功能,均采用文件方式将音视频存储到存储介质中,在需要回放时读取文件并解码流媒体数据。现有的多通道音视频的存储与同步回放方法如图1所示,基本上都是将每个通道的音视频数据分开存储在各个不同的文件中,然后在需要同步回放时,根据视频文件中音视频帧数据的时间戳及帧号等信息,对比各个文件中读取出来的通道数据,控制时序进行同步回放。
[0003]具体来说,当存储文件时,根据通道个数创建相应个数的文件,文件名上标识相应的通道号;打开所有创建的文件,保存文件句柄;收到帧数据后,先根据通道号找到相应的文件句柄,写入帧头,帧头包含时间戳及数据长度,然后写入帧数据。当同步回放时,逐个根据文件列表打开所有需要同步播放的各通道文件;根据文件名解析出通道号,并从小到大排序;逐一从文件中读取数据,并比较各通道帧时间戳,是否误差范围不超过指定值(如80毫秒),若不超过指定时间误差,则解码并播放帧数据,若超过指定时间值,则丢弃帧数据,等待时间误差范围内的帧数据。
[0004]上述方法存在如下缺陷:
[0005](I)当存储的时间段很长时,会导致出现很多文件,同时通道个数也直接影响文件数量,导致客户在移动或备份文件时出现诸多不便。
[0006](2)多文件读取时占用系统资源较多,会对客户环境要求较高。
[0007](3)多文件读取时各文件需要单独进行读操作,将会降低系统性能。
[0008](4)多文件同步时,由于需要进行时序控制,将可能导致同步播放时不够流畅,效果不佳。

【发明内容】

[0009]有鉴于此,本发明要解决的技术问题是提供一种多通道音视频处理方法和装置,以解决多通道存储文件片段多导致处理时的不便,以及多通道音视频同步回放时由于各文件数据同步控制导致的效果和性能问题。
[0010]本发明解决上述技术问题所采用的技术方案如下:
[0011]根据本发明实施例的一个方面,提供的一种多通道音视频处理方法包括:
[0012]在存储文件时,将获取到的各个通道的音视频数据按帧存储到同一个文件中;
[0013]在播放文件时,根据通道标识解析出各通道音视频数据并传送给流媒体播放模块;流媒体播放模块分通道解码并播放音视频数据。
[0014]优选地,将获取到的各个通道的音视频数据按帧存储到同一个文件中包括以下步骤:
[0015]创建文件并写入文件头信息;[0016]接收到音视频数据后,先写入帧头信息,再写入帧数据。
[0017]优选地,文件头信息用于标识文件类型;帧头信息包括:用于标识帧的帧标识、用于标识通道的通道标识、用于表示音视频数据帧生成时间的时间戳、以及按通道累加递增的中贞编号。
[0018]优选地,根据通道标识解析出各通道音视频数据并传送给流媒体播放器包括以下步骤:
[0019]读取文件头信息判断文件是否有效,如果无效则结束流程;
[0020]读取帧头信息判断帧数据是否有效,如果无效则结束流程;
[0021]将通道标识、帧编号和帧数据一起传送给流媒体播放模块。
[0022]优选地,分通道解码并播放音视频数据包括以下步骤:根据通道标识分通道进行解码帧数据;按通道播放解码后的帧数据。
[0023]根据本发明的另一个方面,提供的一种多通道音视频处理装置包括:
[0024]存储模块,用于将获取到的各个通道的音视频数据按帧存储到同一个文件中;
[0025]解析模块,用于根据通道标识解析出各通道音视频数据并传送给流媒体播放模块;
[0026]流媒体播放模块,用于分通道解码并播放音视频数据。
[0027]优选地,存储模块进一步包括:
[0028]文件创建单元,用于创建文件并写入文件头信息;
[0029]帧头写入单元,用于根据音视频数据写入帧头信息;
[0030]帧数据写入单元,用于根据音视频数据写入帧数据。
[0031]优选地,解析模块进一步包括:
[0032]第一判断模块,用于读取文件头信息判断文件是否有效;
[0033]第二判断模块,用于读取帧头信息判断帧数据是否有效;
[0034]发送单元,用于将通道标识、帧标识和帧数据一起传送给流媒体播放模块。
[0035]优选地,流媒体播放模块进一步包括:
[0036]解码单元,用于根据通道标识分通道进行解码帧数据;
[0037]播放单元,用于按通道播放解码后的帧数据。
[0038]本发明实施例提供的多通道音视频处理方法和装置,与现有技术相比,通过将多通道音视频数据合并按帧存储在同一文件中进行存储,播放时按通道进行解码播放,减少了文件的数量和读写文件对系统资源的消耗,同时,由于多通道数据顺序存在同一文件,数据的时序在存储时已得到同步保障,播放时不需要进行时序控制,使得播放效果更流畅。
【专利附图】

【附图说明】
[0039]图1为现有技术中的多通道音视频处理方式示意图。
[0040]图2为本发明实施例提供的一种多通道音视频处理方法流程图。
[0041]图3为本发明优选实施例提供的文件结构示意图;
[0042]图4为本发明优选实施例提供的一种多通道音视频数据存储方法流程图。
[0043]图5为本发明优选实施例提供的一种音视频帧数据的读取播放方法流程图;
[0044]图6为本发明实施例提供的一种多通道音视频处理装置的结构示意图。【具体实施方式】
[0045]为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0046]如图2所示是本发明实施例提供的一种多通道音视频处理方法,该方法包括:
[0047]S202、在存储文件时,将获取到的各个通道的音视频数据按帧存储到同一个文件中;
[0048]具体来说,本步骤进一步包括:创建一个文件并写入文件头信息;根据获取到的音视频数据先写入帧头信息,然后写入帧数据。
[0049]文件的结构请参阅图3,文件包括文件头、帧头和数据包内容,文件头信息用于标识文件类型;帧头信息包括:帧标识、通道标识、时间戳和帧编号,其中,帧标识用于识别帧头的起始位置,避免因意外原因导致文件内出现缺片或者错误数据,由于帧标识是固定值的,所以通过查找文件内的帧标识即可找到帧数据的位置(如某固定值0x987654321);通道标识根据数据源提供(如摄像机号),时间戳表示帧数据产生的时间,帧编号为按通道累加递增的编号。当然,还可以包含其他扩展数据类型为后续扩展头预留、也可以包含扩展数据长度等信息。
[0050]S204、在播放文件时,根据通道标识解析出各通道音视频数据并传送给流媒体播放模块;
[0051]具体来说,本步骤进一步包括:读取文件头信息判断文件是否有效,如果无效则结束流程;读取帧头信息判断帧数据是否有效,如果无效则结束流程;将通道标识、帧编号和帧数据一起传送给流媒体播放模块。
[0052]S206、流媒体播放模块分通道解码并播放音视频数据。
[0053]具体来说,本步骤进一步包括:根据通道标识分通道解码帧数据;按通道播放解码后的帧数据。
[0054]采用本发明实施例的方法,通过将多通道音视频数据合并按帧存储在同一文件中进行存储,播放时按通道进行解码播放,减少了文件的数量和读写文件对系统资源的消耗,同时,由于多通道数据顺序存在同一文件,数据的时序在存储时已得到同步保障,播放时不需要进行时序控制,使得同步播放时更流畅。
[0055]如图4所示是本发明优选实施例提供的一种多通道音视频数据存储方法,包括以下步骤:
[0056]S402、创建一个录像文件;
[0057]S404、写入文件头信息;
[0058]S406、获取音视频数据;
[0059]S408、写入帧头信息;
[0060]S410、写入获取到的音视频帧数据。
[0061]举例来说,流媒体存储模块创建单个录像文件;根据初始化通道数等信息,写入文件头信息,文件头包含文件标识(约定的固定文件标识为0x20090501)、为了便于读取播放时的初始化,文件头还可以包括当前文件的最大通道数等信息。获取音视频帧数据后,写入帧头信息,先写入帧标识A (约定的固定帧标识为0x05011154),然后写入通道号B (通道编号根据数据源提供,如通道I为I号,2为2号等等)、写入当前时间信息(帧数据产生的时间)、写入按通道累加递增的帧号信息、写入数据长度;在音视频帧头后写入音视频帧数据;重复执行写入帧头信息和音视频帧数据,直到写完获取到的音视频帧数据。
[0062]采用本发明实施例提供的方法,将多通道音视频数据合并至同一文件中,有效解决了当存储的时间段很长时会导致出现很多文件,同时通道个数也直接影响文件数量,导致客户在移动或备份文件时出现诸多不便以及多文件读取时消耗系统资源大的问题。
[0063]图5为本发明优选实施例提供的一种音视频帧数据的读取播放方法流程图;该方法包括:
[0064]S502、打开录像文件,并读取文件头信息。
[0065]S504、校验文件类型是否有效,如果有效,则执行步骤S506,否则执行步骤S520。
[0066]具体来说,打开文件后先读取文件头信息,根据文件头信息中的文件标识校验文件是否合法(及是否为有效的多通道音视频文件),确认方法可以是逐字节读取文件头标识,然后与约定的固定文件头标识值(存储时约定为0x20090501)对比,若相同则表示有效,若不相同则表示无效。
[0067]S506、读取音视频帧头信息。
[0068]S508、校验帧标识是否有效,如果有效,则执行步骤S510,否则执行步骤S520。
[0069]具体来说,逐一查找帧标识,确保读取偏移从帧头开始;逐字节读取帧标识,然后与约定的固定帧标识值对比,若相同则表示有效,否则就表示无效而结束流程。
[0070]S510、判断通道标识对应通道的解码器是否打开,如果是,则执行步骤S514,否则执行步骤S512 ;
[0071]具体来说,根据音视频帧头信息中的通道标识检查播放库是否已打开对应通道的解码器,流媒体播放模块针对每个通道号有一个初始化状态标志,该值默认为未初始化,当初始化之后则状态改变,通过此状态标志确定。
[0072]S512、打开通道解码器;
[0073]具体来说,根据文件的最大通道数初始化流媒体播放模块的播放通道,将最大通道数传递给流媒体播放模块,流媒体播放模块会根据通道数创建相应个数的处理对象,然后创建相应的解码器以及解码所需内存,以及播放显示表面,并设置初始化通道状态标志。
[0074]S514、读取音视频帧数据;
[0075]S516、将音视频帧数据内容传送给对应通道的解码器;
[0076]具体地,根据音视频帧头信息中的数据长度,读取音视频帧数据内容,帧头信息中的数据长度表示后续的音视频帧数据内容长度,则先读取固定的帧头长度,然后从当前位置读取帧数据长度的数据至缓冲区。
[0077]S518、按通道解码并播放音视频帧数据,返回步骤S506。
[0078]具体的,流媒体播放模块解码音视频帧数据,并在对应的通道显示窗口显示,或者进行其它针对通道的相关处理(比如截取通道图片存储等等)。
[0079]S520、结束流程。
[0080]通过本发明实施例提供的方法,由于音视频数据的特性是按时序进行采集的,所以它们是有顺序性的;基于音视频数据的顺序性,在获取到数据进行存储已保证了各个通道的数据在文件内是顺序的;故在顺序读取数据时,数据将是按时序保证了各通道的同步性的,所以按顺序读取并播放多通道的音视频数据时,播放效果即是多通道同步的;因此播放时不需要做额外的同步控制,即可保证多通道的同步回放。
[0081]图6为本发明实施例提供的一种多通道音视频处理装置的结构示意图,该装置包括存储模块10、解析模块20和流媒体播放模块30,其中:
[0082]存储模块10,用于将获取到的各个通道的音视频数据按帧存储到同一个文件中;
[0083]进一步地,存储模块10包括文件创建单元101、帧头写入单元102和帧数据写入单元103,其中:
[0084]文件创建单元101,用于创建文件并写入文件头信息;
[0085]帧头写入单元102,用于根据音视频数据写入帧头信息;
[0086]帧数据写入单元103,用于根据音视频数据写入帧数据。
[0087]解析模块20,用于根据通道标识解析出各通道音视频数据并传送给流媒体播放模块;
[0088]其中,解析模块20进一步包括第一判断模块201、第二判断模块202、发送单元203,其中:
[0089]第一判断模块201,用于读取文件头信息判断文件是否有效;
[0090]第二判断模块202,用于读取帧头信息判断帧数据是否有效;
[0091]发送单元203,用于将通道标识、帧标识和帧数据一起传送给流媒体播放模块。
[0092]流媒体播放模块30,用于分通道解码并播放音视频数据。
[0093]其中,流媒体播放模块30进一步包括解码单元301和播放单元302,其中:
[0094]解码单元301,用于根据通道标识分通道进行解码帧数据;
[0095]播放单元302,用于按通道播放解码后的帧数据。
[0096]需要说明地是,上述方法实施例的技术方案在本装置实施例中同样适用,这里不再重述。
[0097]采用本发明实施例的装置,通过将多通道音视频数据合并按帧存储在同一文件中进行存储,播放时按通道进行解码播放,减少了文件的数量和读写文件对系统资源的消耗,同时,由于多通道数据顺序存在同一文件,数据的时序在存储时已得到同步保障,播放时不需要进行时序控制,使得同步播放时更流畅。
[0098]以上参照【专利附图】
附图
【附图说明】了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。
【权利要求】
1.一种多通道音视频处理方法,其特征在于,该方法包括: 在存储文件时,将获取到的各个通道的音视频数据按帧存储到同一个文件中; 在播放文件时,根据通道标识解析出各通道音视频数据并传送给流媒体播放模块;所述流媒体播放模块分通道解码并播放所述音视频数据。
2.根据权利要求1所述的多通道音视频处理方法,其特征在于,所述将获取到的各个通道的音视频数据按帧存储到同一个文件中包括以下步骤: 创建文件并写入文件头信息; 接收到音视频数据后,先写入帧头信息,再写入帧数据。
3.根据权利要求2所述的多通道音视频处理方法,其特征在于,所述文件头信息用于标识文件类型;所述帧头信息包括:用于标识帧的帧标识、用于标识通道的通道标识、用于表示音视频数据帧生成时间的时间戳、以及按通道累加递增的帧编号。
4.根据权利要求2或3所述的多通道音视频处理方法,其特征在于,所述根据通道标识解析出各通道音视频数据并传送给流媒体播放器包括以下步骤: 读取文件头信息判断文件是否有效,如果无效则结束流程; 读取帧头信息判断帧数据是否有效,如果无效则结束流程; 将通道标识、帧编号和帧数据一起传送给流媒体播放模块。
5.根据权利要求4所述的多通道音视频处理方法,其特征在于,所述分通道解码并播放音视频数据包括: 根据通道标识分通道进行解码所述帧数据; 按通道播放解码后的帧数据。
6.一种多通道音视频处理装置,其特征在于,该装置包括: 存储模块,用于将获取到的各个通道的音视频数据按帧存储到同一个文件中; 解析模块,用于根据通道标识解析出各通道音视频数据并传送给流媒体播放模块; 流媒体播放模块,用于分通道解码并播放音视频数据。
7.根据权利要求6所述的多通道音视频处理装置,其特征在于,所述存储模块包括: 文件创建单元,用于创建文件并写入文件头信息; 帧头写入单元,用于根据音视频数据写入帧头信息; 帧数据写入单元,用于根据音视频数据写入帧数据。
8.根据权利要求7所述的多通道音视频处理装置,其特征在于,所述解析模块包括: 第一判断模块,用于读取文件头信息判断文件是否有效; 第二判断模块,用于读取帧头信息判断帧数据是否有效; 发送单元,用于将通道标识、帧标识和帧数据一起传送给流媒体播放模块。
9.根据权利要求8所述的多通道音视频处理装置,其特征在于,所述流媒体播放模块包括: 解码单元,用于根据通道标识分通道进行解码帧数据; 播放单元,用于按通道播放解码后的帧数据。
【文档编号】H04N5/76GK103428462SQ201310384641
【公开日】2013年12月4日 申请日期:2013年8月29日 优先权日:2013年8月29日
【发明者】郝勇 申请人:中安消技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1