EPG詳解

做EPG都是4年前的事情了,現在忘得也差不多了,趁在還沒有完全忘記之前,寫下點東西,備份一下。

 

 

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                         8 uimsbf

section_syntax_indicator         1 bslbf

reserved_future_use              1 bslbf

reserved                         2 bslbf

section_length                   12 uimsbf

service_id                       16 uimsbf

reserved                         2 bslbf

version_number                   5 uimsbf

current_next_indicator           1 bslbf

section_number                   8 uimsbf

last_section_number            8 uimsbf

transport_stream_id              16 uimsbf

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                           32 rpchof

}

 

EIT P/F

VOD節目,每個節目將有兩個分段(section)用於描述當前/後續事件信息

Section_number=0x00的分段用於描述當前時間信息,

section_number=0x01的分段用於描述後續信息。

即使沒有當前或者後續事件存在時,我們也要傳送Section_number=0x00 section_number=0x01EIT P/F空分段。

 

 

EIT SCH

1EIT時間表分佈於16table_id,0x50-0x5f用於實際流,0x60-0x6f用於其他流。

2)由於用8BIT表示section_number,所以一個子表最多可以用256section,而這些section又被劃分爲32segment,於是每個segment包含8section.

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

uimsbf

        descriptor_length

8

uimsbf

        ISO 639_2_language_code

24

bslbf

        event_name_length

8

uimsbf

        for(i=0;i<event_name_length;i++){

 

 

                event_name_char

8

uimsbf

        }

 

 

        text_length

8

uimsbf

        for(i=0;i<text_length;i++){

 

 

                text_char

8

uimsbf

        }

 

 

}

 

 

 

短事件描述符的語義:

ISO 639-2語言代碼  ISO 639-2_language_code

24位字段,指明後續的文本字段的語言。該字段包含一個由ISO 639-2定義的3字符代碼。ISO 639-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

uimsbf

      descriptor_length

   8

uimsbf

      descriptor_number

   4

uimsbf

      last_descriptor_number

   4

uimsbf

      ISO 639-2_language_code

   24

bslbf

      length_of_items

   8

uimsbf

      for(i = 0;i < N; i++){

 

 

              item_description_length

   8

uimsbf

              for(j = 0; j < N; j++){ 

 

 

                      Item_description_char

   8

uimsbf

              }

  

 

              item_length

   8

uimsbf

              for(j = 0; j < N; j++){

  

 

                   item_char

   8

uimsbf

              }

 

 

      }

  

 

      text_length

   8

uimsbf

      for( i= 0; i< N; i++){

  

 

             text_char

   8

uimsbf

      }

  

 

}

 

 

擴展事件描述符的語義:

 描述符序號  descriptor_number

4位字段,給出了描述符的序號,用於描述使用多個擴展事件描述符時的關聯信息。相關聯的extend_event_descriptor集合的第一個extend_event_descriptordescriptor_number應爲“0x00”。隨着本段內extended_event_descriptor個數的增加,descriptor_number以步長1遞增。

尾描述符序號  last_descriptor_number

4位字段,給出了相關聯的extend_event_descriptor集合中的最後一個描述符(即descriptor_number最大的描述符)的序號。

ISO 639-2語言代碼  ISO 639-2_language_code

24位字段,包含了符合ISO 639-2標準的3字符語言代碼,說明後面文本字段所用的語言。ISO 639.2/BISO 639.2/T都可以使用。每個字符都按照GB/T 15273.1-1994標準編碼爲8位,依次插入24位字段。

例如:法語的3字符代碼“fre”,可編碼爲:’0110 0110 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

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章