CA_system_ID : 表示适用于相关ECM和EMM流的相关的CA系统类型(CA厂家标识符).
CA_PID : PMT表中的该描述信息为ECM的PID,CAT 表中的该描述信息为EMM的PID.
一般来说,ecm table id为0x80/0x81,emm table id为0x82~0x8F这个值是由ca厂家决定的。
ca_descriptor 描述字值为0x09, 下面给个加扰流的具体表数据:
CAT表中的ca_pid 0x500指的EMM pid,码流分析仪中可查看到该EMM pid
PMT表中的ca_pid 0x96b指的ECM pid,码流分析仪中可查看到该ECM pid
完整接收及播放流程:
1、锁定指定频点
2、搜索PAT表
3、搜索CAT及PMT表
4、解析PMT表得到ECM PID值,解析CAT表得到EMM PID值
5、将ECM及EMM送到智能卡解密
6、智能卡返回CW值,机顶盒将CW值设到demux descrambler解扰模块,还原原始码流
7、设定音频pid,视频pid进行解码和播放
-------------- 补充一下判断节目是否加扰 -------------
从上图中可以看出,节目“中视购物”的视频和音频都加扰的了,而“东方财经”则视频和音频都没加扰。
判断的依据其实就是:音视频流的包头的Transport_scrambling_control位(2b),除了0外,剩余算作加扰。
需注意:adapaction_field_control(2b)>1为适配域控制,这时,该包内容不可以用Transport_scrambling_control来判断加扰,即跳过该包,如下图所示。
上图不能判断该pid=0x5bf是否加扰,因是适配域内容。
综述:寻找一个含adapaction_field_control<=1的音视频包,提取Transport_scrambling_control,Transport_scrambling_control>0,则该音视频被加扰。
表 1.1 TS 流包头
语 法 位数 助记符
Transport_packet(){
Sync_byte 8 bslbf
Transport_error_indicator 1 bslbf
Payload_unit_start_indicator 1 bslbf
Transport_priority 1 bslbf
PID 13 uimsbf
Transport_scrambling_control 2 bslbf
Adapaction_field_control 2 bslbf
Continuity_counter 4 uimsbf
If (adapaction_field_control= =’10’ ||
adapaction_field_control= =’11’)
adapcation_field()
If (adapaction_field_control= =’01’ ||
adapaction_field_control= =’00’)
data_byte()
}