2024年3月30日发(作者:)

#include

#include

#include

int parse_TS(unsigned char *buffer, int FileSize);

void parse_PAT(unsigned char *buffer, int len);

unsigned char* Find_PMT(unsigned short pmt_pid);

void parse_PMT(unsigned char *buffer, int len, unsigned short pmt_pid);

void Read_Ts_Packet(FILE *file_handle ,unsigned char *packet_buf, int len);

void pronum_pmtid_printf();

void printf_prog_list();

typedef struct {

unsigned short program_num; //节目编号

unsigned short pmt_pid; //节目对应的PMT表的PID

}PROGRAM;

typedef struct{

unsigned char stream_type; //节目元素包类型

unsigned short elementary_pid; //元素对应的pid

}PRO_LIST;

PROGRAM programs[10] = { {0,0} };

unsigned int num = 0; //总的节目数

PRO_LIST program_list[20] = { {0,0} };

unsigned int p_list_num = 0;

FILE *file_handle;

unsigned int FileSize = 0;

int main()

{