PS结构-提取数据帧

PS结构-提取数据帧:

数据:高位在前,低位在后。

1、初始化。
   设置VFRAM最大为1M,AFRAM最大为20K,搜索最大为200K;
   设置VPTS及APTS为7FFFFFFFFFFFFFFF;


2、判断是否PS数据。
   读200K数据,找到0x000001BC,随后,第1、2字节为此命令段长度;
   第3字节&0x60=0x60,第4字节&0xFF=0xFF,即是PS数据流,第5、6字节为紧跟数据长度;
   怱略2个字节,开始格式定义数据段;
   数据段头长度为4字节:1-命令,2-命令数据,3/4-紧随数据长度,各数据段紧接着排列;
   1-命令:0x02-视频流ID,非MPEG4数据;
           0x10-视频流ID,MPEG4数据;
           0x03-音频流ID,MPEG4数据;
           0x04-音频流ID,MPEG4数据;
           0x80-音频流ID,非MPEG4数据;
           0x8F-音频流ID,非MPEG4数据;
   搜索完命令段长度为止,数据处理从0x000001BC开始。


3、找AV头。
   搜索长度大于4K小于100K.
   找到000001XX,XX-视频/音频流ID;
   第5、6字节为该段长度,第8字节&0xC0>>6为时间FLAG,第9字节为紧随数据长度;
   随后为数据流。

你可能感兴趣的:(PS结构-提取数据帧)