JAVA语言 实现 SI/PSI表中的PAT解析

在数字电视行业几年中,积累的一些知识总想通过某种方式表达出来,就用软件吧。在eclipse下用java语言解析pat表。

首先:

建立一个pat表的类。

<pre name="code" class="java">/*
 * PAT是Program Association Table的简称,即”节目关联表”. 
 * PAT定义了当前TS流中所有的节目,其PID恒为0x00,它是PSI信息的根节点,
 * 要查找节目必须从PAT表开始.PAT表描述了当前TS流中包含什么样的PID,
 * 主要包括当前流的NIT表格的PID,当前流中有多少个不同类型PMT表,每个PMT表对应的频道号等信息.
 *
 *
 */



package com.dvb.dvb;

import java.util.ArrayList;

import android.R.integer;
import android.util.Log;

public class Pat {

	
    private int  table_id;                     //: 8; //固定为0x00 ,标志是该表是PAT  
	private int  section_syntax_indicator;    // : 1; //段语法标志位,固定为1  
	private int  zero;                        //: 1; //0  
	private int  reserved_1;                  // : 2; // 保留位  
	private int  section_length;              // : 12; //表示这个字节后面有用的字节数,包括CRC32  
	private int  transport_stream_id;        //: 16; //该传输流的ID,区别于一个网络中其它多路复用的流  
	private int  reserved_2;                  // : 2;// 保留位  
	private int  version_number;              // : 5; //范围0-31,表示PAT的版本号  
	private int  current_next_indicator;      // : 1; //发送的PAT是当前有效还是下一个PAT有效  
	private int  section_number;              // : 8; //分段的号码。PAT可能分为多段传输,第一段为00,以后每个分段加1,最多可能有256个分段  
	private int  last_section_number;         // : 8;  //最后一个分段的号码  
   
    ArrayList<TS_PAT_Program> program;  
    private int  reserved_3;                    //: 3; // 保留位  
    private int  network_PID;                   // : 13; //网络信息表(NIT)的PID,节目号为0时对应的PID为network_PID  
    private int  CRC_32;                        //: 32;  //CRC32校验码  
    
    private static final String TAG = "PAT";
    
    class TS_PA
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值