




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
关于section的说明在做项目过程中,我们经常接触到创建DEMUX,注册Filter过滤数据,通过回调过滤出section数据,然后我们对section数据做具体的解析或者其他操作。我们这里说的section就是段的概念,一个section可能包含一个或者多个TS包,我们可以这样理解,TS是对数据内容发封装,属于传输层的格式,规定了传输数据的格式,它以188字节为单位组成一个TS包,在这一层,它不管封装的内容是什么,就是在传输的内容前加上4个字节的头信息组成包。而我们filter过滤出来的section数据是去掉了TS包头的的有效数据,可能是多个TS包组成起来的有效数据,我们解复用DEMUX中也包括对接收到的TS包数据,根据不同的PID来过滤出相应的TS包,然后去掉包头,把相关的多个TS包有效数据组织起来形成section数据返回给应用开发者调用。下图是我自己做的关于表,段,TS包的结构关系:一个表由一个或多个段构成(具有相同的table_id和table_id_extension,不同section_number来区分,并且由last_section_number确定该表的最大section的数目);每个段由一个或多个TS数据包的数据组成,比如一个新的section数据,那么第一个TS包的payload_unit_start_indicator一般为1,后续该section的TS包的payload_unit_start_indicator为0,直到另外的section数据到来时候TS包的payload_unit_start_indicator才变为1(同时也说明该section数据结束,新section数据的开始),而continuity_counter随着具有相同PID的TS包的增加而增加,这样我们就可以方便我们组织各个TS包来获取section数据。同时我们的section数据就是去掉各个TS包头后组织起来的有效载荷数据,我们可以对比码流分析仪来分析。一般一个section的长度是1024,而TS包是188,所以一般都是一个section是由多个TS包组成,当然也有可能一个section就是由一个TS的有效载荷数据组成(想PAT表一般都是这样)具体代码分析我们可以参考 E:SDMCSDMC数字电视自学笔记TS代码解流及说明MpegSystem.c二.表的构成(强化section的理解)表是组成SI信息的一种数据结构。在TS中有很多不同节目的数据包,解码器如何确定哪个数据包属于某个节目?其答案就是在TS中的PSI和SI信息里,这些信息精确地指引出获得某节目与该节目数据包的PID之间的关系。由MPEG-2定义的TS里面,数据包携带了两类信息:一是音、视频等素材的数据,二是PSI表。具有给定PID的数据包的有序排列就形成了TS 流。PSI表里的承载的内容主要是TS(本节目流)的描述参数。由MPEG-2定义的PSI主要包含有三个表:PAT、PMT、CAT。每个表都可作为一个或多个TS包的净荷插入TS中传送。一个TS数据包的净荷为188个字节,当一个PSI/SI表的字节长度大于184字节时,就要对这个表进行分割,形成段(section)来传送。分段机制主要是将一个数据表分割成多个数据段。在PSI/SI表到TS包的转换过程中,段起到了中介的作用。由于一个数据包只有188字节,而段的长度是可变的,EIT表的段限长4096字节,其余PSI/SI表的段限长为1024字节。因此,一个段要分成几部分插入到TS包的净荷中。PSI/SI表的构成是:一个表由一个或多个子表构成,表用table_id来标识;不同的子表由table_id和 table_id_extension来区分(具有相同的table_id和不同的table_id_extension);一个子表由一个或多个段构成(具有相同的table_id和table_id_extension,不同section_number来区分);每个段由多个TS数据包的数据组成,是TS数据包的数据,去掉了各个TS包的包头后的有效数据组成,然后会形成对应的表格式,然后我们可以通过filter过滤出来的section数据参考表格式对section数据来解析。比如PAT的section表格式如下:每个段具有一个完整的数据结构,表的重要参数-描述符在段里传送。图3所示是SDT表的结构。子表大于1024时,可把子表分割成两个或更多个段,并通过section_number来区分,如图3-1所示。不同的信息表在TS中通过PID来区分,具有相同PID的不同表由table_id(table_id是表标识)来区分,属于同一个table_id的不同子表由table_id_extension、版本号(version_number)进行区分,属于同一个子表的不同段由section_number区分。表的扩展标识符有:network_id、oringinal_network_id、boquet_id、 tansport_stream_id、service_id等。l对于NIT表的子表具有相同的table_id、network_id和version_number。l对于BAT表的子表具有相同的table_id、bouquet_id和version_number。l对于SDT表的子表具有相同的table_id、oringinal_network_id、tansport_stream _id和version_number。l对于EIT表的子表具有相同的table_id、oringinal_network_id、tansport_stream _id、 service_id和version_number。mpeg2 ts流PAT,PMT,SDT的定义2011-10-26 14:25 118人阅读 评论(0) 收藏 举报转载自:/s/blog_5ea0192f0100vo15.html更具体准确的信息请参考iso13818-1,都在里面定义的 PAT的定义:Table_id:为8bit字段,该字段标识节目关联分段,对于PAT,置为0x00。Section_syntax_indicator:1bit字段,对于PAT,置为0x01。Reserved:2bit保留字段,用于将来扩展,置为11。Section_length:12bit字段,指示当前section的长度,计数值从分段长度下一个字节开始,包括CRC校验的4个字节,开头两位置为00,因此其大小不超过1021。Transport_stream_id:16bit字段,当前TS流的ID,与网络中其他TS流相区别,由运营商指定。Reserved:2bit保留字段,用于将来扩展,置为11。Version_number:5bit字段,指出PAT表的版本号,一旦PAT表有变化,其版本号增1,当增至31时,恢复至0。Current_next_indicator:1bit,置为1时,表示传送的PAT当前有效,置为0表示PAT下一次有效。Section_number:8bit字段,表示section的数目,从0x00开始。Last_section_number:8bit字段,指出最后一个section号,即PAT表section的最大数目。Program_number:16bit字段,指出了节目对于哪一个PMTPID是可用的,当为0x00时,后面的PID对应于NIT。Reserved:3bit保留字段,用于将来扩展,置为111。Network_id:13bit字段,NIT PID。Program_map_PID:13bit字段,对应于program_number所指定的节目的program_map_section的PID,从上面可看出:一个program用4字节来表示(包括16bit的program_number与13bit的PID)。CRC:用来证实数据正确性的循环冗余校验码。(section_number和last_section_number的功能是当PAT内容184字节时,PAT表会分成多个段(sections),解复用程序必须在全部接收完成后再进行PAT的分析) PMT定义如下: 各字段含义如下:table_id:8bits的ID,应该是0x02section_syntax_indicator:1bit的段语法标志,应该是10:固定是0,如果不是说明数据有错.reserved:2bits保留位,应该是00section_length:16bits段长度,从program_number开始,到CRC_32(包含)的字节总数.program_number:16bits的频道号码,表示当前的PMT关联到的频道.换句话就是说,当前描述的是program_number频道的信息.reserved:2bits保留位,应该是00version_number:版本号码,如果PMT内容有更新,则version_number会递增1通知解复用程序需要重新接收节目信息,否则version_number是固定不变的.current_next_indicator:当前未来标志符,一般是0section_number:当前段号码last_section_number:最后段号码,含义和PAT中的对应字段相同,请参考PAT部分.reserved:3bits保留位,一般是000.PCR_PID:13bits的PCR PID,具体请参考ISO13818-1,解复用程序不使用该参数.reserved:4bits保留位,一般是0000program_info_length:节目信息长度(之后的是N个描述符结构,一般可以忽略掉,这个字段就代表描述符总的长度,单位是Bytes)紧接着就是频道内部包含的节目类型和对应的PID号码了.stream_type:8bits流类型,标志是Video还是Audio还是其他数据.reserved:3 bits保留位.elementary_PID:13bits对应的数据PID号码(如果stream_type是Video,那么这个PID就是VideoPID,如果stream_type标志是Audio,那么这个PID就是Audio PID)reserved:4 bits保留位.ES_info_length:和program_info_length类似的信息长度(其后是N2个描述符号)CRC_32:32bits段末尾是本段的CRC校验值 SDT的定义DVB系统提出了一个SDT表格,该表格标志一个节目的名称,并且能和PMT中的PID联系起来,这样用户就可以通过直接选择节目名称来选择节目了. SDT, Service descriptionsection,服务描述段 SDT可以提供的信息包括: (1) 该节目是否在播放中 (2) 该节目是否被加密 (3)该节目的名称SDT定义如下: 各字段定义如下:table_id:8bits的ID,可以是0x42,表示描述的是当前流的信息,也可以是0x46,表示是其他流的信息(EPG使用此参数)section_syntax_indicator:段语法标志,一般是1reserved_future_used:2bits保留未来使用reserved:1bit保留位,防止控制字冲突,一般是0,也有可能是1section_length:12bits的段长度,单位是Bytes,从transport_stream_id开始,到CRC_32结束(包含)transport_stream_id:16bits当前描述的流IDreserved:2bits保留位version_number:5bits的版本号码,如果数据更新则此字段递增1current_next_indicator:当前未来标志,一般是0,表示当前马上使用.original_netword_id:16bits的原始网络ID号reserved_future_use:8bits保留未来使用位接下来是N个节目信息的循环:service_id:16 bits的服务器ID,实际上就是PMT段中的program_number.reserved_future_used:6bits保留未来使用位EIT_schedule_flag:1bit的EIT信息,1表示当前流实现了该节目的EIT传送EIT_present_following_flag:1bits的EIT信息,1表示当前流实现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025湖北恩施州来凤县宏晟工业发展有限公司招聘3人模拟试卷及答案详解(全优)
- 2025江苏苏州市张家港市建安工程机械质量检测有限公司招聘5人模拟试卷含答案详解
- 2025广东中山市三乡镇社区卫生服务中心招聘聘用制医务人员3人考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025辽宁抚顺新抚钢有限责任公司招聘拟聘用人员模拟试卷及答案详解(夺冠)
- 2025年铜川市事业单位招聘高层次人才(57人)模拟试卷及参考答案详解1套
- 2025家具供应合同
- 2025年铜川市事业单位招聘高层次人才(57人)模拟试卷及答案详解(考点梳理)
- 2025年芜湖经开区招聘35人模拟试卷(含答案详解)
- 2025广东大塘街招聘辅助人员1人考前自测高频考点模拟试题及答案详解(典优)
- 2025滇西科技师范学院公开招聘硕士研究生及以上和“双师型”教师(19人)模拟试卷及参考答案详解
- 再生障碍性贫血护理教学查房
- 2025自考专业(国贸)考前冲刺试卷及完整答案详解
- CJ/T 94-2005饮用净水水质标准
- 浙江枧洋高分子科技有限公司年产15000吨无溶剂聚氨酯胶黏剂和5000吨水性胶黏剂、5000吨热熔胶建设项目环评报告
- 运动素质知到课后答案智慧树章节测试答案2025年春浙江大学
- 《急性肝功能衰竭》课件
- 2024年-2025年电梯检验员考试题库及答案
- 新入团团课培训
- 挖掘机安全培训教程
- 高中语文++《兼爱》课件+统编版高中语文选择性必修上册
- 学术论文文献阅读与机助汉英翻译智慧树知到答案2024年重庆大学
评论
0/150
提交评论