视音频数据PS封装-offset要点_第1页
视音频数据PS封装-offset要点_第2页
视音频数据PS封装-offset要点_第3页
视音频数据PS封装-offset要点_第4页
视音频数据PS封装-offset要点_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MPEG2-PS1. PS介绍MPEG2-PS是一种多路复用数字音频、视频等的封装容器。 PS是Program Stream (程 序流或节目流)的简称。程序流将一个或多个分组但有共同的时间基准的基本数据流(PES)合并成一个整体流。它是为可靠稳定的储存媒介如光盘而设计的。TS流与PS流的区别在于 TS流的包结构是固定长度的,而 PS流的包结构是可变长度 的。它是分包发送的,每一个包长为 188字节。在TS流里可以填入很多类型的数据,如视 频、音频、自定义信息等。他的包的结构为,包头为4个字节,负载为184个字节。PS包与TS包在结构上的这种差异, 导致了它们对传输误码具有不同的抵抗能力,因而

2、应用的环境也有所不同。TS码流由于采用了固定长度的包结构,当传输误码破坏了某一 TS包的同步信息时,接收机可在固定的位置检测它后面包中的同步信息,从而恢复同步,避免了信息丢失。而 PS包由于长度是变化的,一旦某一PS包的同步信息丢失,接收机无法确定下一包的同步位置,就会造成失步,导致严重的信息丢失。因此,在信道环境较为恶劣, 传输误码较高时,一般采用 TS码流;而在信道环境较好,传输误码较低时,一般采用PS码流。辨别这两种格式最简便的方法是利用Media Info工具查看MPEG视频的编码信息,这样就能确定它是何种格式,以方便后续的无损剪辑。一般来说,采用MPEG2-HD格式的高清数码摄像机一

3、般以 “MPEG2PS'来保存文件;而采用 AVCHD格式的高清摄像机则通常以“.M2TS” “.MTS保存文件。2. PS封装H264的流程PS 封装按照 ISO DEC-13818-1 标准。一个 PS 包包含 PS Header, PES Header, PS system header, PS system map 等。针对H264做如下PS封装:每个IDR NALU 前一般都会包含 SPS、PPS等NALU,因 此将SPS、PPS、IDR的NALU 封装为一个 PS包,包括ps头,然后加上 PS system header; PS system map, PES header

4、+h264 raw data。所以一个 IDR NALU PS 包由外到内顺序是:PSheader | PS system header | PS system Map | PES header | h264 raw data。对于其它非关键帧的 PS包,就简单多了,直接加上PS头和PES头就可以了。顺序为:PS header | PES header | h264 raw data。以上是对只有视频 video的情况,如果要把音频 Audio也打包进PS封装,也可以。 当有音频数据时,将数据加上PES header放到视频PES后就可以了。顺序如下:PS包=PS头|PES(video)|PE

5、S(audio),再用RTP封装发送就可以了。视频数视频编码器音频数据 音频编码器传输流传输流复合器TISO5760-95/d01TISO5760-95/d01系统规范TISO5760-95/d01对应的解码流程则为:GB28181对RTP传输的数据负载类型有规定 (参考GB28181附录B),负载类型中96-127 动态范围:RFC2250建议96表示PS封装RFC3016 建议 97 为 MPEG-4RFC3984 建议 98 为 H264即我们接收到的RTP包首先需要判断负载类型,若负载类型为 96,则采用PS解复用, 将音视频分开解码。若负载类型为98,直接按照H264的解码类型解码。

6、基于 RTP的PS封装首先按照 ISO/IEC 13818-1将视音频流封装成 PS包,再将 PS包以负载的方式圭寸装成RTP包。PS包的主要参数设置针对本文档规定的几种视音频格式,PS包中的流类型(stream_type)的取值如下:a) MPEG-4视频流:0x10 ;b) H.264视频流:Ox1B;c) SVAC视频流:0x80 ;d) G.711音频流:0x90;e) G.722.1 音频流:0x92 ;f) G.723.1 音频流:0x93;g) G.729音频流:0x99;h) SVAC音频流:0x9B。3. PS的结构3.1 PS包头节目流包标题offset语法位数助记符0pa

7、ck_header() pack_start_code32bslbf4'01'2bslbfsystem_clock_reference_base32.303bslbfmarker_bit1bslbfsystem_clock_reference_base29.1515bslbfmarker bit1bslbf101314system_clock_reference_base14.O marker_bit system_clock_reference_extension marker_bit program_mux_rate marker_bit marker_bit reserv

8、ed pack_stuffing_length for (i=O;ivpack_stuffingength;i+) stuffing_byte _if (nextbits()=system_header_start_code) system_header() _151912211538bslbfbslbf uimsbf bslbf uimsbf bslbf bslbf bslbf uimsbfbslbf包起始码字段pack_start_code值为'0000 0000 0000 0000 0000 0001 1011 1010' (0x000001BA)的位串,用来标志一个包

9、的开始。系统时钟参考字段system_clock_reference_base system_clock_reference_extenstion系统时钟参考(SCR分两部分编码的 42位字段。第一部分system_clock_reference_base是一个长度为 33位的字段;第二部分system_clock_reference_extenstion是一个长度为 9位的字段。SCR字段指出了基本流中包含ESCR_base最后一位的字节到达节目目标解码器输入端的期望时间。标记位字段marker_bit1位字段,取值'1'。节目复合速率字段program_mux_rate一个

10、22位整数,规定P-STD在包含该字段的包期间接收节目流的速率。其值以50字节/秒为单位。不允许取 0值。该字段值在本标准中的节目多路复合流的不同包中取值可能不 同。包填充长度字段pack_stuffingength3位整数,规定该字段后填充字节的个数。填充字节字段stuffing_byte8位字段,取值恒为1111 1111'。该字段能由编码器插入,例如为了满足通道的要求。 它由解码器丢弃。在每个包标题中最多只允许有7个填充字节。3.2 系统标题offset语法位数助记符0system_header() system_header_start_code32bslbf4header_l

11、ength16uimsbf6marker_bit1bslbfrate_bound22uimsbfmarker bit1bslbf9audio_bound6uimsbffixed_flag1bslbfCSPS_flag1bslbf10system_audio_lock_flag1bslbfsystem_video_lock_flag1bslbfmarker_bit1bslbfvedio_bound5uimsbf11packet_rate_restriction_flag1bslbfreserved_bits7bslbf12while (nextbits()='1') stream

12、d8uimsbf'11'2bslbfP-STD_buffer_bound_scale1bslbfP-STD_buffer_size_bound13uimsbf系统标题起始码字段system_header_start_code取值'0000 0000 0000 0000 0000 0001 1011 1011' (0X000001BB)的位串,指出系统标题的开始。标题长度字段header_length16位字段。指出该字段后的系统标题的字节长度。在本规范将来的扩充中可能扩展该 字段。速率界限字段rate_bound22位字段,取值不小于编码在节目流的任何包中的pr

13、ogram_mux_rate字段的最大值。该字段可被解码器用于估计是否有能力对整个流解码。音频界限字段audio_bound6位字段,取值是在从 0到32的闭区间中的整数,且不小于节目流中音频流的最大数目。固定标志字段fixed_flag1位标志位。置'1'时表示比特率恒定的操作;置'0'时,表示操作的比特率可变。CSPS标志字段CSPS_flag1位字段。系统音频锁定标志字段system_audio_lock_flag1位字段。表示在系统目标解码器的音频采样率和system_clock_frequency之间存在规定的比率。系统视频锁定标志字段system_v

14、ideo_lock_flag1位字段。表示在系统目标解码器的视频帧速率和system_clock_frequency之间存在规定的比率。比率 SCFR勺值是精确的。视频界限字段video_bound5位字段,取值是在从 0到16的闭区间中的整数且不小于节目流中解码过程同时活动 的流的最大数目。分组速率限制标志字段packet_rate_restriction_flag1位标志位。若 CSPS标识为'0',则该字段的含义未定义。保留位字段reserved_bits7位字段。被保留供ISO/IEC将来使用。它的值应为'111 1111',除非ISO/IEC对它作出其

15、 它规定。流标识字段stream_id8 位字段。指示其后的 P-STD_buffer_bound_scale 和 P-STD_buffer_size_bound 字段所涉 及的流的编码和基本流号码。若取值'1011 1000' (0xB8 ),则其后的P-STD_buffer_bound_scale和P-STD_buffer_size_bound字段指节目流中所有的音频流;若取值 '1011 1001'(0xB9),则 其后的P-STD_buffer_bound_scale和P-STD_buffer_size_bound 字段指节目流中所有的视频 流;若str

16、eam_id取其它值,则应该是大于或等于'1011 1100'的一字节值且应根据下表解释为 流的编码和基本流号码。a) MPEG-4 视频流:0x10 ;b) H.264 视频流:0x1B ;c) SVAC 视频流:0x80;d) G.711 音频流:0x90 ;e) G.722.1音频流:0x92 ;f) G.723.1 音频流:0x93 ;g) G.729 音频流:0x99 ;h) SVAC 音频流:0x9B 。节目流中的每个基本流应在每个系统标题中通过这种机制精确地规定一次它的P-STD_buffer_bound_scale 和 P-STD_buffer_size_bou

17、nd ;P-STD 缓冲区界限比例字段P-STD_buffer_bound_scale1位字段。表示用于解释后续P-STD_buffer_size_bound字段的比例系数。若前面的stream_id表示一个音频流,则该字段值为0'。若表示一个视频流,则该字段值为1'。对于所有其它的流类型,该字段值可以为0也可以为1'。P-STD 缓冲区大小界限字段P-STD_buffer_size_bound13位无符号整数,取值不小于节目流中流n 的所有分组的P-STD缓冲区大小BSn的最大值。若P-STD_buffer_bound_scale的值为'0',则该字段

18、以128字节为单位来度量缓冲区大小的边 界。若P-STD_buffer_bound_scale的值为'1',则该字段以1024字节为单位来度量缓冲区大 小的边界。3.3 PES分组头部offset语法位数助记符0PES_packet()packet_start_code_prefix24bslbf3streamd8uimsbf4PES_packet_length16uimsbfif(streamd != program_stream_map&& stream_id !=padding_stream&& stream_id !=private_st

19、ream_2&& stream_id !=ECM&& stream_id !=EMM&& stream_id !=program_stream_directory&& stream_id !=DSMCC_stream&& stream_id !=ITU-T Rec.H.222.1 type E stream)'10'2bslbfPES_scrambling_control2bslbfPES_priority1bslbfdata_alignment_indicator1bslbfcopyright1b

20、slbforiginal_or_copy1bslbfPTS_DTS_flags2bslbfESCR_flag1bslbfES_rate_flag1bslbfDSM_trick_mode_flag1bslbfadditional_copy_info_flag1bslbfPES_CRC_flag1bslbfPES_extension_flag1bslbfPES_header_data_length if(PTS_DTS_flags =10')8uimsbf'0010'4bslbfPTS32.3O3bslbfmarker_bit1bslbfPTS29.1515bslbfmar

21、ker_bit1bslbfPTS14.O15bslbfmarker_bitif(PTS_DTS_flags =1')1bslbf'0011'4bslbfPTS32.3O3bslbfmarker_bit1bslbfPTS29.1515bslbfmarker_bit1bslbfPTS14.O15bslbfmarker_bit1bslbf'0001'4bslbfPTS32.3O3bslbfmarker_bit1bslbfPTS29.1515bslbfmarker_bit1bslbfPTS14.O15bslbfmarker_bitif(ESCR_flag =1&

22、#39;)1bslbfreserved2bslbfESCR_base32.3O3bslbfmarker_bit1bslbfESCR base29.1515bslbf6789101291012141517915marker_bitESCR_base14.Omarker_bitESCR_extensionmarker_bitif(ES_rate_flag =1')marker_bitES_ratemarker_bitif (DSM_trick_mode_flag = '1')trick_mode_controlif ( trick_mode_control = =fast_

23、forward ) fielddintra_slice_refresh frequency_truncationelse if ( trick_mode_control = = slow_motion ) rep_cntrlelse if ( trick_mode _control = = freeze_frame ) fielddreservedelse if ( trick_mode _control = = fast_reverse ) fielddintra_slice_refresh frequency_truncationelse if ( trick_mode_control =

24、 = slow_reverse ) rep_cntrlelsereservedif ( additional_copy_info_flag = = '1')marker_bit additional_copy_infoif (PES_CRC_flag= T )previous_PES_packet_CRCif ( PES_extension_flag =1') PES private data flag2216bslbfbslbfbslbfuimsbfbslbfbslbfuimsbfbslbfuimsbfbslbfbslbfbslbfuimsbfuimsbfbslbfb

25、slbfbslbfbslbfuimsbfbslbfbslbfbslbfbslbfbslbf9pack_header_field_flag1bslbfprogram_packet_sequence_counter_flag1bslbfP-STD_buffer_flag1bslbfreserved3bslbfPES_extension_flag_21bslbfif(PES_private_data_flag = 1')10PES_private_dataif (pack_header_field_flag = ' 1')128bslbf10pack_field_length

26、pack_header()if (program_packer_sequence_counter_flag = '1')8uimsbf10marker_bit1bslbfprogram_packet_sequence_counter7uimsbf11marker-bit1bslbfMPEG1_MPEG2_indentifier1bslbforiginal_stuff_lengthif (P-STD_buffer_flag = ='1'(6uimsbf10'01'2bslbfP-STD_buffer_scale1bslbfP-STD_buffer_

27、sizeif (PES_extension_flag_2 ='1'13uimsbf10marker_bit1bslbfPES_extension_fieldength7uimsbffor(i=0;i<PES_extension_field_length;i+)reservedfor (i=0;i<N1;i+)8bslbf98bslbfstuffing_bytefor (i=0;i<N2;i+)98bslbfPES_packet_data_byteelse if (stream_id = = program_stream_map| stream_id = = p

28、rivate_stream_2| stream_id = = ECM| stream_id = = EMM| streamid = = program stream directory| streamd = = DSMCC_stream| streamd = = ITU-T Rec. H.222.1 type E stream )for (i=O;i<PES_packet_length;i+)PES_packet_data_byteelse if (steam_id = = padding_stream)for (i=0;i<PES_packet_length;i+) paddin

29、g_byte88bslbfbslbf分组起始码前缀字段packet_start_code_prefix24位代码,它和后面的streamd构成了标识分组开始的分组起始码。它是一个值为'0000 0000 0000 0000 0000 0001' (0x000001)的位串。流标识字段stream_id在节目流中,它规定了基本流的号码和类型。其中0xBC指下章节提到的节目流映射。0x(C0DF指音频,0x(E0EF为视频。具体见下表:Stream_id 赋值streamd注流编码1011 11001program_stream_map1011 11012private_strea

30、m_11011 1110padding_stream1011 11113private_stream-2110x xxxxGB/T XXXX.3或 GB/T AAAA.3音频流编号 xxxx1110 xxxxGB/T XXXX.2或 GB/T AAAA.2视频流编号 xxxx1111 00003ECM_stream1111 00013EMM_stream1111 00105GB/T XXXX.1 附录 B 或 GB/T XXXX.6_DSMCC_stream1111 00112ISO/IEC_13522_stream1111 01006ITU-T Rec. H.222.1 类型 A1111 0

31、1016ITU-T Rec. H.222.1 类型 B1111 01106ITU-T Rec. H.222.1 类型 C1111 01116ITU-T Rec. H.222.1 类型 D1111 10006ITU-T Rec. H.222.1 类型 E1111 10017ancillary_stream1111 10101111保留数据流11101111 11114program stream directory符号x表示值'O'或'1'均被允许且可产生相同的流类型。流号码由x的取值决定。注1 类型为program_stream_map的PES分组有唯一的语法,

32、在 2.5.4.1中作了规定。2 类型为 private stream 1和 ISO/IEC 13352 stream的 PES分组与 GB/T XXXX.2及 GB/T XXXX.3音频流服从相同的PES分组语法。3 类型为 private_stream_2 , ECM_stream和 EMM_stream 的 PES分组与 private_stream_1 相似,除了在 PES_packet_length字段后未规定语法。4 类型为program_stream_directory的PES分组有唯一的语法,在 2.5.5中作了规定。5 类型为DSM_CC_stream的PES分组有唯一的语法

33、,在 GB/T XXXX.6中作了规定。6 streamd 与表 2-29 中的 stream_type 0x09 相关联。7 streamd仅用于PES分组。PES分组在传输流中携带了来源于节目流或GB/T AAAA.1系统流的数据(参见 243.7)。PES 分组长度字段PES_packet_length16位字段,指出了 PES分组中跟在该字段后的字节数目。值为0表示PES分组长度要么没有规定要么没有限制。这种情况只允许出现在有效负载包含来源于传输流分组中某个视 频基本流的字节的 PES分组中。PES 加扰控制字段PES_scrambling_control2位字段,表示PES分组有效负

34、载的加扰方式。当加扰发生在PES层,PES分组标题,如果有可选字段的话也包括在内,不应被加扰。PES优先级字段PES_priority1位字段,指示PES分组中有效负载的优先级。'1'表示PES分组中有效负载的优先级高 于该字段为'0'的PES分组有效负载。多路复合器能使用该字段来区分安排基本流中数据的优 先级。传输机制不应改动该字段。数据对齐指示符字段data_alignment_indicator1位标志。当值为'0'时,没有定义是否有任何此种的对齐。版权字段 copyright1位字段。置'1'时表示相关PES分组有效负载的

35、材料受到版权保护。当值为 '0'时,没有 定义该材料是否受到版权保护。原始或拷贝字段original_or_copy1位字段。置'1'时表示相关PES分组有效负载的内容是原始的;值为'0'表示相关PES分组有效负载的内容是一份拷贝。PTS DTS标志字段PTS_DTS_flags2位字段。当值为'10'时,PTS字段应出现在 PES分组标题中;当值为'11'时,PTS字段和 DTS字段都应出现在 PES分组标题中;当值为'00'时,PTS字段和DTS字段都不出现在 PES 分组标题中。值'0

36、1'是不允许的。ESCR 志字段ESCR_flag1位标志。置'1'时表示ESCR基础和扩展字段出现在PES分组标题中;值为'0'表示没有ESCF字 段。ES速率标志字段ES_rate_flag1位标志。置'1'时表示ES_rate字段出现在 PES分组标题中;值为'0'表示没有ES_rate字 段。DSM特技方式标志字段DSM_trick_mode_flag1位标志。置'1'时表示有8位特技方式字段;值为'0'表示没有该字段。附加版权信息标志字段additional_copy_info_f

37、lag1位标志。置'1'时表示有附加拷贝信息字段;值为'0'表示没有该字段。PES CR(标志字段PES_CRC_flag1位标志。置'1'时表示CRC字段出现在PES分组标题中;值为'0'表示没有该字段。PES 扩展标志字段PES_extension_flag1位标志。置'1'时表示PES分组标题中有扩展字段;值为'0'表示没有该字段。PES标题数据长度字段PES_header_data_length8位字段。指出包含在 PES分组标题中的可选字段和任何填充字节所占用的总字节数。 该字段之前的字节

38、指出了有无可选字段。标记位字段marker_bit值为'1'的1位字段。展现时间戳字段PTS展现时间与解码时间的关系如下:PTS是一个编码在三个分离字段中的 33位数字。它指出了基本流n的第k个展现单元在系统目标解码器中的展现时间tpn(k)。PTS的值以系统时钟频率的1/300(即90 kHz)为单位。展现时间由 PTS根据下式计算而来。33PTS(k)= (system_clock_frequency x tp n(k) DIV 300) % 2其中,tpn(k)是展现单元Pn(k)的展现时间。解码时间戳字段DTSDTS是一个编码在三个分离字段中的 33位数字。它指出了基本

39、流 n的第j个展现单元 在系统目标解码器中的解码时间 td n(j)。DTS的值以系统时钟频率的 1/300 (即90 kHz)为单位。 解码时间由DTS根据式计算而来:33DTS(j)= (system_clock_frequency x tdn(j) DIV 300) % 2其中,tdn(j)是存取单元An(j)的解码时间。ESCR字段 ESCR_base ESCR_extension42位字段,分两部分编码。第一部分是一个长度为33位的字段;第二部分是一个长度为9位的字段。基本流速率字段ES_rate22位无符号整数。对于 PES流而言,它指出了系统目标解码器接收PES分组的速率。该字段

40、在它所属的 PES分组以及同一个 PES流的后续PES分组中一直有效,直到遇到一个新 的ES_rate字段。该字段的值以 50字节/秒为单位,且不能为 0。特技方式控制字段trick_mode_control3位字段。它表示作用于相关视频流的特技方式。对其它类型的基本流,该字段及其后5位的含义没有定义。字段标识字段fieldd2位字段,表示应该显示哪个(些)字段。片内参考字段intra_slice_refresh1位标志。置'1'时表示PES分组的视频数据编码片中可能有丢失的宏块;置 '0'时,表示上 述情况可能不出现。频率截断字段 frequency_trun

41、cation2位字段。指出在对 PES分组中数据进行编码时可能用到受限系数集合。显示次数控制字段rep_cntrl5位字段,指出隔行画面中每一字段的显示次数或渐进画面显示次数。附加版权信息字段additional_copy_info7位字段,包含与版权信息有关的专用数据。前 PES分组 CRC字段previous_PES_packet_CRC16位字段。在对前一个PES分组(不包括该PES分组的标题)进行处理后,该字段包含一个在解码器的16个寄存器中生成0输出的CRC值。PES专用数据标志字段PES_private_data_flag1位标志。置'1'时表示PES分组标题中包含

42、专用数据;置'0'时表示PES分组标题中无专用数据。包标题字段标志字段pack_header_field_flag1位标志。置'1'时表示PES分组标题中有包标题或节目流包标题。若该字段在包含于节 目流中的PES分组中,其值应为'0'。在传输流中,当值为'0'时表示PES标题中无包标题。 节目分组序歹U计数标志字段program_packet_sequence_counter_flag1 位标志。值为'1'时表示 PES 分组有 program_packet_seque nce_cou nter , MPEG1_M

43、PEG2_identifier 和 original_stuff_length 字段。值为'0'时表示 PES分组标题中无这些 字段。P-STD缓冲区标志字段P-STD_buffer_flag1位标志。置'1'时表示PES分组标题中有 P-STD_buffer_scale和P-STD_buffer_size字段。 值为'0'时表示PES标题中无这些字段。PES 扩展标志字段PES_extension_flag_21位标志,置'1'时表示有PES_extension_field_length及相关字段。PES 专用数据字段PES_p

44、rivate_data16位字段。包含专用数据。这些数据与其前后 的字段组合在一起时,不能与 packet_start_code_prefix (0x000001)冲突。包字段长度字段pack_field_length8位字段。表示pack_header_field()以字节为单位时的长度。节目分组序歹U计数字段program_packet_sequence_counter7位字段。MPEG1 MPEG2 标识符字段MPEG1_MPEG2_identifier1位标志。置'0'时表示PES分组携带的信息来自于节目流。初始填充长度字段 original_stuff_length6

45、位字段。指定分组标题中的填充字节数。P-STD缓冲区比例字段P-STD_ buffer_scale1位字段。仅当该PES分组包含于节目流中时才有意义。它指出了用来解释后续P-STD_buffer_size字段的比例因子。若前面的stream_id表示一个音频流,该字段值应为'0'若前面的stream_id表示一个视频流,该字段值应为'1'。对于所有的其它流类型,其值可以为'0'或'1'。P-STD缓冲区大小字段P-STD_buffer_size13位无符号整数。仅当该 PES分组包含于节目流中时才有意义。它定义了P-STD输入缓冲

46、区的大小 B0。若P-STD_ buffer_scale的值为'0',那么P-STD_buffer_size以128字节为单 位来度量缓冲区的大小。若 P-STD_buffer_scale的值为'1',那么P-STD_buffer_size以1024字 节为单位来度量缓冲区的大小。PES 扩展字段长度字段PES_extension_field_length7位字段。指出了跟在该字段之后在PES扩展字段中直到且包括任何保留字节的数据的字节长度。填充字节字段stuffing_byte8位字段,其值恒定为1111 1111'。可以由编码器插入以满足通道的需求等

47、。解码器丢弃该字段。一个 PES分组标题中只能出现 32个填充字节。PES分组数据字节字段PES_packet_data_byte该字段应该是来自于由分组的stream_id或PID所指定的基本流的连续数据字节。填料字节字段 padding_byte8位字段,其值恒定为1111 1111'。该字段被解码器丢弃。3.4 节目流映射offset语法位数助记符program_stream_map() 0packet_start_code_prefix24bslbf3map_streamd8uimsbf4program_stream_map_length16uimsbf6current_nex

48、t_indicator1bslbfreserved2bslbfprogram_stream_map_version5uimsbf7reserved7bslbfmarker_bit1bslbf8program_streamnfo_length16uimsbf10for (i=0;i<N;i+)descriptor()elementary_stream_map_length10+N16uimsbf12+Nfor (i=0;i<N1;i+)stream_type8uimsbfelementary_stream_id8uimsbfelementary_stream_info_lengthfor (i=0;i<N2;i+) descriptor()16uimsbfCRC_3232rpchof节目流映射中各字段的语义定义分组起始码前缀字段packet_start_code_prefix24位码。它和跟随其后的map_stream_id共同组成一个分组起始码以标志分组的开始。该字段是值为0000 0000 0000 0000 0000 0001' (0x000001)的位串。映射流标识字段map_stream

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论