EPG详解
EIT: TableID:0x4E (EIT actual, present/following) 当前/后续 TableID:0x4F (EIT other, present/following) 当前/后续 TableID:0X50-0X5F(EIT actual, schedule) 时间表 TableID:0X60-0X6F(EIT other, schedule) 时间表 EIT section结构说明:
event_infotmation_section() { table_id 8uimsbf section_syntax_indicator 1bslbf reserved_future_use 1bslbf reserved 2bslbf section_length 12uimsbf service_id 16uimsbf reserved 2 bslbf version_number 5uimsbf current_next_indicator 1bslbf section_number 8uimsbf last_section_number 8uimsbf transport_stream_id 16uimsbf original_network_id 16 uimsbf segment_last_section_number 8 uimsbf last_table_id 8 uimsbf for(i=0;i<N;i++) { event_id 16 uimsbf start_time 40 bslbf duration 24 uimsbf running_status 3 uimsbf free_CA_mode 1 bslbf descriptors_loop_length 12 uimsbf for(j=0;j<N;j++) descriptor() } CRC_32 32rpchof }
EIT P/F 非VOD节目,每个节目将有两个分段(section)用于描述当前/后续事件信息 section_number=0x00的分段用于描述当前时间信息, section_number=0x01的分段用于描述后续信息。 即使没有当前或者后续事件存在时,我们也要传送Section_number=0x00 section_number=0x01的EITP/F空分段。
EIT SCH (1)EIT时间表分布于16个table_id,0x50-0x5f用于实际流,0x60-0x6f用于其他流。 (2)由于用8BIT表示section_number,所以一个子表最多可以用256个section,而这些section又被划分为32个segment,于是每个segment包含8个section. (3)每个segment包含有关3小时内任何时间点开始的时间信息。 (4)每个子表最多可传输32 * 3 = 96h = 4 day,最多有16张子表,于是16 * 4 = 64 day.所以EPG最多可包含64天的时间表,具体看网络中的实际情况。
在EIT的循环描述符中可以为: 1 short event descriptor 短事件描述符 短事件描述符以文本方式提供了事件的名称和该事件的简短描述,见表75。 表75 短事件描述符 语 法 | | | short_event_descriptor(){ | |
| descriptor_tag | 8 | | | 8 | | | 24 | | | 8 | | for(i=0;i<event_name_length;i++){ | |
| event_name_char | 8 | | | |
| text_length | 8 | | for(i=0;i<text_length;i++){ | |
| text_char | 8 | | | |
| } | |
|
|
|
|
短事件描述符的语义: ISO 639-2语言代码 ISO639-2_language_code 24位字段,指明后续的文本字段的语言。该字段包含一个由ISO 639-2定义的3字符代码。ISO639-2/B和 ISO 639-2/T都可以使用。每个字符都按照GB/T 15273.1-1994编码为8位,并依次插入24位字段。 例如:法语的3字符代码“fre”,可编码为:’0110 0110 0111 0010 0110 0101’。 事件名称长度 event_name_length 8位字段,以字节为单位给出事件名称的长度。 事件名称字符 event_name_char 8位字段,一个字符串给出事件的名称。文本信息编码所使用的字符集和方法见附录A。 文本长度 text_length 8位字段,以字节为单位给出后续描述事件的文本的长度。 文本字符 text_char 8位字段,一个字符串给出事件的文本描述。文本信息编码所使用的字符集和方法见附录A。
2 Extend event descriptor 扩展事件描述符给出了一个事件的详细文本描述。除了短事件描述符外,还可使用扩展事件描述符。如果一个事件的信息长度超过256字节,可以使用多于一个的相关联的扩展事件描述符来描述。文本信息可以分为两个栏目,一栏为条目的描述,另一栏为条目的内容。这种结构的典型应用是给出演职员列表,例如条目描述域可能是“制片人”,那么条目内容域可以给出制片人的名字。 表44 扩展事件描述符
| | | extended_event_descriptor( ){ | |
| descriptor_tag | 8 | | | 8 | | | 4 | | | 4 | | | 24 | | | 8 | | | |
| item_description_length | 8 | | | |
| Item_description_char | 8 | | | |
| item_length | 8 | | | |
| item_char | 8 | | | |
| } | |
| text_length | 8 | | | |
| text_char | 8 | | | |
| } | |
|
|
|
|
扩展事件描述符的语义: 描述符序号descriptor_number 4位字段,给出了描述符的序号,用于描述使用多个扩展事件描述符时的关联信息。相关联的extend_event_descriptor集合的第一个extend_event_descriptor的descriptor_number应为“0x00”。随着本段内extended_event_descriptor个数的增加,descriptor_number以步长1递增。 尾描述符序号last_descriptor_number 4位字段,给出了相关联的extend_event_descriptor集合中的最后一个描述符(即descriptor_number最大的描述符)的序号。 ISO 639-2语言代码 ISO639-2_language_code 24位字段,包含了符合ISO 639-2标准的3字符语言代码,说明后面文本字段所用的语言。ISO 639.2/B和ISO 639.2/T都可以使用。每个字符都按照GB/T15273.1-1994标准编码为8位,依次插入24位字段。 例如:法语的3字符代码“fre”,可编码为:’01100110 0111 0010 0110 0101’。 条目长度 length_of_item 8位字段,以字节为单位给出后续条目的长度。 条目描述长度item_description_length 8位字段,以字节为单位给出条目描述的长度。 条目描述字符item_description_char 8位字段,“item_description_char”串给出条目的描述。文本信息所使用的字符集和编码方法见附录A。 条目长度 item_length 8位字段,以字节为单位给出后续条目文本的长度。 条目字符 item_char 8位字段,“item_char”串给出条目的描述。文本信息所使用的字符集和编码方法见附录A。 文本长度 text_length 8位字段,以字节为单位给出未列进条目的文本长度。 文本字符 text_char 8位字段,“text_char”串给出未列进条目的文本的内容。文本信息所使用的字符集和编码方法见附录A。
|