2017-09-01 64 views
-3

的程序关联部分,我试图找到PID(音频,视频等)的类型,我已经分析的传输流的报头部分和提取的PIDS。通过穿越运输流标准我知道我需要解析PAT来获得这个。标准中提到的计划协会部分如下。在下面的部分是什么“N”在for循环实际上意味着,任何人都可以请帮助我。(参考表2-25中的标准)解析传输流

program_association_section() { 
    table_id 
    section_syntax_indicator 
    '0' 
    reserved 
    section_length 
    transport_stream_id 
    reserved 
    version_number 
    current_next_indicator 
    section_number 
    last_section_number 
    for (i = 0; i < N; i++) { 
    program_number 
    reserved 
    if (program_number = = '0') { 
     network_PID 
    } 
    else { 
     program_map_PID 
    } 
    } 
    CRC_32 
} 

回答

1

节目关联表(PAT)可以包含有关信息多个节目。数据包始终有PID 0x00

要找出你需要比PAT更流类型。

解析PAT中的程序部分将给出每个程序的程序映射表(PMT)的PID。

PMT包是你,因为它们包含关于每个节目的基本流,包括流类型的信息之后是的人。

你可以找到一个概述here

+0

如何知道PAT中程序段的数量? –

+0

@RaghuramKaligotla重复PAT数据直到达到'section_length'。在这里阅读更多关于'PSI'的信息:http://www.wikiwand.com/en/Program-specific_information – aergistal