一种应急广播音视频ts流数据解析方法及系统的制作方法_2

文档序号:9492219阅读:来源:国知局
]图3为本发明其中一实施例的音频TS流的基本信息的获取流程示意图。
[0025]图4为本发明其中一实施例的音频基本流的提取流程示意图。
【具体实施方式】
[0026]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0027]本说明书(包括摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。S卩,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
[0028]—种应急广播音视频TS流解析方法及系统,系统包括相连的解复用器和解码器;与解复用器相连的PID值设置模块,对解复用器过滤的PID值进行设置;TS包查找模块,根据设置的PID值所代表的表格,找到该表格所在的TS包;PAT数据读取模块,读取特定TS包中的PAT数据;PAT数据分析模块,得到传送流中包含的节目个数;PMT数据读取模块,查找某一路节目的PMT,并在所述PID值设置模块设置该PMT的PID值,得到PMT数据;PMT数据分析模块,得到该路节目包含的视频和音频TS流各自所在传送包的PID ;PES包查找模块,根据PMT数据分析模块得到的PID值,设置PID值设置模块的PID值,得到各路PES包。
[0029]具体方法步骤为:
一、将解复用器过滤的PID值设为0x0000,即PAT的PID,找到PAT表所在TS包并读取PAT的数据;
二、分析PAT数据,得到传送流中包含的节目个数,每一路节目都对应一个PMT,PMT的PID在PAT中给出;
三、欲播放某一路节目时,需设置解复用器过滤的PID值为该路节目对应的PMT的PID,得到PMT数据;
四、分析PMT数据,得到该路节目包含的视频和音频TS流各自所在传送包的PID;
五、将解复用器过滤的PID值分别设置为视频和音频的传送包的PID值,解复用器把各路PES包送往相应的解码器。
[0030]在本具体实施例中,应急广播音频TS流解析方法步骤为:
1、解析出TS流的基本信息,包括PAT表、PMT表和音频TS包的PID值;
2、根据获取到的基本信息,解析音频TS包,从音频TS包中提取出音频PES包;从PES包中获取到想要的音频ES流数据。
[0031]其中,所述步骤1的具备方法步骤为:
1-1、从音频TS流中获取到PAT表;
1-2、解析PAT表,获取其中包含的PMT表的信息,包括:PMT表的PID和PMT表的节目号;
1-3、根据PAT表中解析获取到的PMT表的PID的值,在音频TS流中搜索满足该PID值的TS包。
[0032]所述步骤1-1中获取的音频TS流的基本信息在接收模块预收录的过程中完成。
[0033]预收录的音频TS流为2M。其中实现TS包的同步即找到连续3个0x47同步字,从而判断一个TS包的起始位置,伪代码如下:
long ts_start_posit1n = 0 ;// 记录 TS 包头的起始位置
long TempLength =ifilesize-188^2 ;while (ts_start—posit1n〈TempLength)
{if ((pubffuer[ts_start_posit1n]==0x47)
&&(pubffuer[ts_start_posit1n+188]==0x47)
&&(pubffuer[ts_start_posit1n+188*2]==0x47))
{break ;
}
else
{ ts_start_posit1n++ ;
}
}
所述步骤2的具体方法步骤为:
2-1、获取音频TS包的PID ;
2-2、获取音频TS包;
2-3、音频TS包中获取音频PES包;
2-4、提取音频ES数据。
[0034]所述步骤2-1之前的方法步骤还包括,判断当前的音频TS包中是否包含了音频PES头,如果不包含,则需要舍弃该TS包,继续向后查询,直到找到第一个音频PES头。所述方法还包括,对PES头进行解析时,当音频流中包含时间数据时,对音频数据流的时间进行校验。
【主权项】
1.一种应急广播音视频TS流数据解析方法,具体方法步骤为: 一、将解复用器过滤的PID值设为0x0000,即PAT的PID,找到PAT表所在TS包并读取PAT的数据; 二、分析PAT数据,得到传送流中包含的节目个数,每一路节目都对应一个PMT,PMT的PID在PAT中给出; 三、欲播放某一路节目时,需设置解复用器过滤的PID值为该路节目对应的PMT的PID,得到PMT数据; 四、分析PMT数据,得到该路节目包含的视频和音频TS流各自所在传送包的PID; 五、将解复用器过滤的PID值分别设置为视频和音频的传送包的PID值,解复用器把各路PES包送往相应的解码器。2.根据权利要求1所述的应急广播音视频TS流数据解析方法,其中,应急广播音频TS流解析方法步骤为: 1)、解析出TS流的基本信息,包括PAT表、PMT表和音频TS包的PID值; 2)、根据获取到的基本信息,解析音频TS包,从音频TS包中提取出音频PES包;从PES包中获取到想要的音频ES流数据。3.根据权利要求2所述的应急广播音视频TS流数据解析方法,其中,所述步骤1的具备方法步骤为: 从音频TS流中获取到PAT表; 解析PAT表,获取其中包含的PMT表的信息,包括:PMT表的PID和PMT表的节目号; 根据PAT表中解析获取到的PMT表的PID的值,在音频TS流中搜索满足该PID值的TS包。4.根据权利要求3所述的应急广播音视频TS流数据解析方法,所述步骤1-1中获取的音频TS流的基本信息在接收模块预收录的过程中完成。5.根据权利要求4所述的应急广播音视频TS流数据解析方法,预收录的音频TS流为2Mo6.根据权利要求2到5之一所述的应急广播音视频TS流数据解析方法,所述步骤2的具体方法步骤为: 2-1、获取音频TS包的PID ; 2-2、获取音频TS包; 2-3、音频TS包中获取音频PES包; 2-4、提取音频ES数据。7.根据权利要求6所述的应急广播音视频TS流数据解析方法,所述步骤2-1之前的方法步骤还包括,判断当前的音频TS包中是否包含了音频PES头,如果不包含,则需要舍弃该TS包,继续向后查询,直到找到第一个音频PES头。8.所述方法还包括,对PES头进行解析时,当音频流中包含时间数据时,对音频数据流的时间进行校验。9.一种应急广播音视频TS流数据解析系统,其特征在于,包括相连的解复用器和解码器,还包括, 与解复用器相连的PID值设置模块,对解复用器过滤的PID值进行设置; TS包查找模块,根据设置的PID值所代表的表格,找到该表格所在的TS包; PAT数据读取模块,读取特定TS包中的PAT数据; PAT数据分析模块,得到传送流中包含的节目个数; PMT数据读取模块,查找某一路节目的PMT,并在所述PID值设置模块设置该PMT的PID值,得到PMT数据; PMT数据分析模块,得到该路节目包含的视频和音频TS流各自所在传送包的PID ; PES包查找模块,根据PMT数据分析模块得到的PID值,设置PID值设置模块的PID值,得到各路PES包。
【专利摘要】本发明提供了一种应急广播音视频TS流数据解析方法及系统。将解复用器过滤的PID值设为0x0000,即PAT的PID,找到PAT表所在TS包并读取PAT的数据;分析PAT数据,得到传送流中包含的节目个数,每一路节目都对应一个PMT,PMT的PID在PAT中给出;欲播放某一路节目时,需设置解复用器过滤的PID值为该路节目对应的PMT的PID,得到PMT数据;分析PMT数据,得到该路节目包含的视频和音频TS流各自所在传送包的PID;将解复用器过滤的PID值分别设置为视频和音频的传送包的PID值,解复用器把各路PES包送往相应的解码器。提取过程简单,时效性好,能够更快速解析提取出应急广播TS流数据。
【IPC分类】H04N21/434
【公开号】CN105245942
【申请号】CN201510653246
【发明人】秦德强
【申请人】成都九十度工业产品设计有限公司
【公开日】2016年1月13日
【申请日】2015年10月12日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1