深圳市佳创视讯技术有限公司技术部文档编号密级文档名称DVB协议概要文档版本1.0作者/修改人描述版本修改日期周健创建文档1.02005-4-14深圳市佳创视讯技术有限公司DVB协议概要目录目录................................................................................................................................................2名词解释..........................................................................................................................................3零、DVB简介.................................................................................................................................4一、了解TS....................................................................................................................................51、TS的结构和长度..............................................................................................................52、TS包载送的数据..............................................................................................................6二、对TS包进行解析-PSI.........................................................................................................61、节目关联表PAT(ProgramAssociationTable)..........................................................72、节目映射表PMT(ProgramMapTable)....................................................................7三、对TS包进行解析-SI............................................................................................................71、业务描述表SDT(ServiceDescriptionTable)........................................................82、事件信息表EIT(EventInformationTable)..........................................................83、时间和日期表TDT(TimeandDateTable)..............................................................84、时间偏移表TOT(TimeOffsetTable)......................................................................8四、用描述符(Descriptors)扩展PSI/SI信息..........................................................................8五、解析原始流数据......................................................................................................................9名词解释概念所在文档目的/作用TS(TransportStream)传输流ISO/IEC13818-1目的为了在有可能发生严重错误的环境下进行一道或多道节目的编码数据的传送和存储PSI(ProgramSpecificInformation)节目特定信息ISO/IEC13818-1PSI数据提供了使能够接收机自动配置的信息,用于对复用流中的不同节目流进行解复用和解码。SI(ServiceInformation)服务信息EN300468为用户提供有关业务和事件的识别信息Descriptors描述符对SI的扩展PCR(ProgramClockReference)节目参考时钟传送流速率由PCR的位置和数值决定。零、DVB简介TheaimofDigitalVideoBroadcasting(DVB)ProjectistoestablishtheframeworkfortheintroductionofMPEG-2baseddigitaltelevisionservices.DVB的数据是以TS的形式传送的,结合下图可以看出TS在DVB中的作用。终端解码流程:播控服务器播发服务器控制命令复用器生成TS包(携带PSI/SI/数据)其他来源…TS包CA网络………..机顶盒解复用成多个TSTSTSTS解码成控制信息、视频/音频数据我们在播发服务器要作的工作就是生成正确的TS流,携带必要的数据和控制信息,使得终端得到这些信息后可以正确解码。这样我们就必须对相关协议有必要的了解。我们先从数据和控制信息的载体TS包讲起,然后再讲述PSI和SI。一、了解TSTS由一系列的TS包组成,每个TS包都有一个包标识符PID(PacketIdentifier),共占13位,最大取值为0到8191。一个传输流由许多个相同或不同PID的TS包组成。PSI和SI信息由各种表(table)和描述符(descriptor)共同组成,每种表都由一个或若干个段(section)组成。段是一种用来把在所有的PSI表和SI表映射成TS包的语法结构。段的长度是可变的,并直接映射到TS包中。如果一个段的长度大于一个TS包的容量(188字节减去TS包的头部4字节剩下184字节),则分为多个TS包,这几个TS包具有相同的PID,并且连续计数应该是连续的。1、TS的结构和长度传送流分组层包结构:TS流的长度:188bytesTS包头部(不包括调整字段、数据)长度:4bytes(如上图阴影部分所示的字段总长)单个TS包的容量(如果不包括调整字段):184bytes(188-4)2、TS包载送的数据PES(PacketizedElementaryStream)分组原始流:譬如视频、音频数据等PSI:控制信息。二、对TS包进行解析-PSI对TS流按照下面的顺序来进行解析:PAT-PMT-......PSI段的头部:SyntaxNo.ofbitsMnemonicpsi_section(){table_id8uimsbfsection_syntax_indicator1bslbf01bslbfITU-TRec.H.222.0|ISO/IEC13818transportpacketSyntaxNo.ofbitsMnemonictransport_packet(){sync_byte0x478bslbftransport_error_indicator传输错误1bslbfpayload_unit_start_indicator有效负载单元开始指示1bslbftransport_priority优先级1bslbfPID包标识符13uimsbftransport_scrambling_control加密控制2bslbfadaptation_field_control调整字段控制2bslbfcontinuity_counter连续计数器4uimsbfif(adaptation_field_control=='10'||adaptation_field_control=='11'){adaptation_field()调整字段}if(adaptation_field_control=='01'||adaptation_field_control=='11'){for(i=0;iN;i++){data_byte数据8bslbf}}}reserved2bslbfsection_length12uimsbf……1、节目关联表PAT(ProgramAssociationTable)PID==0x0000每个传送流必须有一个完整有效的节目关联表,节目关联表提供了program_number和带有此节目定义的传送流分组PID(PMT_PID)之间的对应。*PAT的主要作用是指出该路传输流中所对应的几路节目流的PMT和网络信息表(NIT)的PID。2、节目映射表PMT(ProgramMapTable)PID==由PAT内容得知的PMT_PID节目映射表提供一program_number和组成此节目的原始流之间的映射。可以得到以下标志:节目号、PCR_PID、原始流类型以及原始流PID,节目和原始流的附加信息可以用descriptor()结构传递。*分析选定节目的PMT,就可以知道这个节目由属于什么类型(视频,音频或数据)的哪些PID组成,以及该节目PCR(ProgramClockReference)的PID是什么。*PCR的PID可以和原始流的PID相同,作为TS分组包的调整字段传送。此时某个节目原始流的PID,PCR_PID都已经知道了,就可以解析原始流数据了。但是要得到更详细的信息,还要依靠SI。三、对TS包进行解析-SISI段的头部:(与PSI头部定义几乎一致)SyntaxNo.ofbitsMnemonicsi_section(){table_id8uimsbfsection_syntax_indicator1bslbfreserved_future_use1bslbfreserved2bslbfsection_length12uimsbf……1、业务描述表SDT(ServiceDescriptionTable)PID==0x0011描述现行TS,table_id==0x42描述其他TS,table_id==0x46业务描述表SDT(见表5)中的每一个子表,都用来描述包含于一个特定的传输流中的业务。该业务可能是现行传输流中的一部分,也可能是其他传输流中的一部分。2、事件信息表EIT(EventInformationTable)PID==0x0012描述现行TS,当前/后续事件信息,table_id==0x4E描述其他TS,当前/后续事件信息,table_id==0x4F描述现行TS,事件时间表信息,table_id==0x50–0x5F描述其他TS,事件时间表信息,table_id==0x60–0x6F事件信息表EIT按时间顺序提供每一个业务所包含的事件的信息。事件信息表,分为两类,PF信息和SCH信息,是用来提供节目播放列表信息的,有了EIT,我们可以知道某个节目的播放计划。在模拟电视中我们需要通过其它渠道比如每周电视报或者互联网来获得某个电视频道的播发计划,在数字电视中就可以通过EIT为载体,直接将播发计划发送到网络中去。知道了各个节目的播发计划,在机顶盒就可以进行预约,而不用时时查看电视报