ngswfx

ngswfx

2个粉丝

55

问答

1

专栏

40

资料

ngswfx  发布于  2016-06-03 06:10:48
采纳率 0%
55个问答
8858

【已解决】让设备支持rtsp 265 IPC 汉邦 海康 雄迈测试通过

   

[i=s] 本帖最后由 ngswfx 于 2016-6-23 19:57 编辑 [/i]

以前的rtsp client 源码是针对264搞的,准备在调整支持265。

但不知在哪方面入手,由于用的tcp方式接收数据,是在数据包封装层面修改吗?哪位大侠给点建议。

///////////////////////目前进度,还没得到原始流,2016_6_3 我现在手上有个支持265的HB IPC,我折腾半天,连265的影子都没看见,过来的流还是264的(设备也支持264,在setup命令交互阶段,选择连接哪一个)。

仅仅在describe数据包过来的时候,多了一个rtmp=98(看网上介绍,说H265这个值,没有明确,所以估计各家自己自定义了),估计是去连接这个trackID的数据流。我尝试连接,PLAY后,可惜没有得到任何原始数据包。 /////////////////[color=Blue]后来调通后,才发现厂家的IE ocx控件为了避免超级频繁的更新,所以和以前264版本的IPC兼容,没主动更新程序,我强制更新后,IE控制界面多了一个265编码选项。然后rtsp交互数据里面就变成了 96/H265[/color]

这几天,再着手测试一下HK的IPC,最起码先得到原始的数据包再说。

//////////////////////////2016_6_6,查看文档 https://tools.ietf.org/html/draft-ietf-payload-rtp-h265-14

最新的是RFC7798 https://tools.ietf.org/html/rfc7798

/////////////////////////////2016_6_7,想想BT办法,终于过滤得到需要的流,解码265成功了。

//对比了HK文件,发现I帧0001后面跟的是:0x26 0x01 0xaf 普通帧是0x02 0x01 0xd0

代码中:

else if (type == TYPE_FU) { / TRACE("Parsing FU\n"); / LPFUH265 fuh = (LPFUH265)(payload+sizeof(NALUH265)); if (fuh->s) { m_current_ts = ts; if (m_uNaluDataLen != 0) { TRACE("receiving FU start while previous FU-A is not finished\n"); }

                   unsigned short usNewNaluH = usNaluH;// ntohs(*(unsigned short*)payload);
                  LPNALUH265 newnaluh = (LPNALUH265)&usNewNaluH;
                 newnaluh->type = fuh->type;
                  usNewNaluH = htons(usNewNaluH);
            [color=Red]AddToNaluBuf((const char*)&usNewNaluH, sizeof(usNewNaluH), TRUE);[/color]  ///这里导入的数据不符合要求,都是0x62 0x01,强制修改符合要求后,解码正常,看来还需要研究这个nalu header,使其产生正确。
            AddToNaluBuf(payload+3, rtpdata+rtplen-(payload+3));
    }
    else
    {
        if (m_uNaluDataLen > 0)
        {
            AddToNaluBuf(payload+3, rtpdata+rtplen-(payload+3));
        }
        else
        {
            TRACE("Receiving continuation FU packet but no start.\n");
            Reset();
            return FALSE;
        }
    }

[color=Blue]///////////////////////////经过仔细测试,发现问题就出在:
LPNALUH265 newnaluh = (LPNALUH265)&usNewNaluH; newnaluh->type = fuh->type;

////////////////////////执行后usNewNaluH并没有更新。 通过new一个全新的NALUH265,然后赋值拷贝的方式,问题得到解决[/color]

[color=Blue]///////////////////测试汉邦 265 IPC ,通过

//////////////////测试雄迈模组265 IPC,没通过,查看printf信息,发现代码中char payload = (char)(rtpdata+12+h->cc4+h->extbit4); h->cc和h->extbit有一个不是0,是2。 //这直接导致偏移了8个字节。直接把代码改成char payload = (char)(rtpdata+12);通过,再次测试汉邦以及海康IPC,都可以。暂时这么用吧。[/color]

我来回答
回答19个
时间排序
认可量排序

ngswfx

2个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-06-06 06:34:45
认可0
本帖最后由 ngswfx 于 2016-6-8 21:08 编辑

从网上找了个265RtpParse解析的代码,移植以后,发现HK265 IPC的数据过来后,解析不出来。//

//264头定义
typedef struct
{
         unsigned char cc:4;
         unsigned char extbit:1;
         unsigned char padding:1;
         unsigned char version:2;
         unsigned char payloadtype:7;
         unsigned char markbit:1;
         unsigned short  seq_number;
         unsigned int  timestamp;
         unsigned int  ssrc;
}RTP_HEADEREx,*LPRTP_HEADEREx;
/////////////////////////////////包序号应该是2-6序号。总之到处都是坑,矛盾,看来这个264的头定义,不适合265,根据网上文档描述,前面应该是3个字节。//////////最后证明开始理解错误,和Nalu头搞混了
//////////

准备先用笨方法,查找规律先。最起码先搞定,我手上的这个HK IPC再说。等数据通道全都可行后,再来检查更新265RtpParse的流程代码。做到代码基本符合规范,又能兼容各家设备。
////////////////////////////////////////先读取rtsp tcp方式取到的数据。

//可以直接看出HK265数据包规律
1、buff0以及buff1,定义一个完整帧数据,buff0以0x80开始,buff1以0xe0为结束
0:0x80 1:0x60 后面还有
0:0xa0 1:0x60 后面还有
0:0xa0 1:0xe0 一帧结束  也可能是一个独立帧
////////////////
0:0x80 1:0xe0为一个单独帧包
2、buff7是帧序号,如果和上一帧相同,则为同一帧   ; buff6,每帧增加14,0xd
3、buff12 buff13应该是数据类型,有 40 42 44 4e 62 02 等
4、2,3位置,也是序号,每个小包都增加,应该是rtp包序号。
//综合起来看,需要一次性判断产生某个单独帧,不能先unpackRtp265再计算某个帧,因为12,13位置判断不出来
为此直接编写代码,尝试解析:
1,如果遇到0x80 1:0xe0,直接前面加上0001,从12位置拷贝输出。
2,读取位置7,记录当前帧序号,全局变量。
3,如果当前帧序号和,上一帧序号不同,并且0:0xa0 1:0xe0,将缓冲中的数据拷贝输出。
4,如果0:0xa0 1:0x60或者0:0x80 1:0x60,将有效数据先送入缓冲。
///////////////////////////////////////////////////////////////////////每行一个数据包,开始L后是长度,从0-13共14个字节。是tcp方式扔掉24头以后,送入rtpParse的数据。

L:36 0:0x80 1:0x60 2:0x99 3:0xdc 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x40 13:0x1                                      
L:44 0:0xa0 1:0x60 2:0x99 3:0xdd 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x42 13:0x1                                                                                                                                                                  
L:20 0:0xa0 1:0x60 2:0x99 3:0xde 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x44 13:0x1                                                                                                                                                                  
L:24 0:0xa0 1:0x60 2:0x99 3:0xdf 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x4e 13:0x1                                                                                                                                                               
L:1440 0:0x80 1:0x60 2:0x99 3:0xe0 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xe1 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xe2 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xe3 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xe4 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xe5 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xe6 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xe7 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xe8 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xe9 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xea 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xeb 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xec 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xed 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xee 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xef 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xf0 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xf1 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xf2 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xf3 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xf4 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xf5 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xf6 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xf7 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xf8 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xf9 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xfa 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xfb 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xfc 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xfd 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xfe 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x99 3:0xff 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x0 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x1 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x2 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x3 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x4 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x5 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x6 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x7 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x8 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x9 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xa 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xb 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xc 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xd 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xe 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1144 0:0x80 1:0xe0 2:0x9a 3:0xf 4:0xb 5:0x2b 6:0x48 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x10 4:0xb 5:0x2b 6:0x56 7:0x64 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x11 4:0xb 5:0x2b 6:0x56 7:0x64 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:448 0:0xa0 1:0xe0 2:0x9a 3:0x12 4:0xb 5:0x2b 6:0x56 7:0x64 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:736 0:0x80 1:0xe0 2:0x9a 3:0x13 4:0xb 5:0x2b 6:0x64 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:1440 0:0x80 1:0x60 2:0x9a 3:0x14 4:0xb 5:0x2b 6:0x72 7:0x84 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:56 0:0xa0 1:0xe0 2:0x9a 3:0x15 4:0xb 5:0x2b 6:0x72 7:0x84 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                      
L:1440 0:0x80 1:0x60 2:0x9a 3:0x16 4:0xb 5:0x2b 6:0x80 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1320 0:0xa0 1:0xe0 2:0x9a 3:0x17 4:0xb 5:0x2b 6:0x80 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x18 4:0xb 5:0x2b 6:0x8e 7:0xa4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:924 0:0xa0 1:0xe0 2:0x9a 3:0x19 4:0xb 5:0x2b 6:0x8e 7:0xa4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x1a 4:0xb 5:0x2b 6:0x9c 7:0xb4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:884 0:0xa0 1:0xe0 2:0x9a 3:0x1b 4:0xb 5:0x2b 6:0x9c 7:0xb4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x1c 4:0xb 5:0x2b 6:0xaa 7:0xc4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:892 0:0xa0 1:0xe0 2:0x9a 3:0x1d 4:0xb 5:0x2b 6:0xaa 7:0xc4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x1e 4:0xb 5:0x2b 6:0xb8 7:0xd4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:428 0:0x80 1:0xe0 2:0x9a 3:0x1f 4:0xb 5:0x2b 6:0xb8 7:0xd4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1292 0:0xa0 1:0xe0 2:0x9a 3:0x20 4:0xb 5:0x2b 6:0xc6 7:0xe4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                    
L:872 0:0x80 1:0xe0 2:0x9a 3:0x21 4:0xb 5:0x2b 6:0xd4 7:0xf4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:436 0:0xa0 1:0xe0 2:0x9a 3:0x22 4:0xb 5:0x2b 6:0xe3 7:0x4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                       
L:460 0:0x80 1:0xe0 2:0x9a 3:0x23 4:0xb 5:0x2b 6:0xf1 7:0x14 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:504 0:0x80 1:0xe0 2:0x9a 3:0x24 4:0xb 5:0x2b 6:0xff 7:0x24 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:424 0:0xa0 1:0xe0 2:0x9a 3:0x25 4:0xb 5:0x2c 6:0xd 7:0x34 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                       
L:640 0:0x80 1:0xe0 2:0x9a 3:0x26 4:0xb 5:0x2c 6:0x1b 7:0x44 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:788 0:0xa0 1:0xe0 2:0x9a 3:0x27 4:0xb 5:0x2c 6:0x29 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:804 0:0xa0 1:0xe0 2:0x9a 3:0x28 4:0xb 5:0x2c 6:0x37 7:0x64 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:784 0:0xa0 1:0xe0 2:0x9a 3:0x29 4:0xb 5:0x2c 6:0x45 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:996 0:0xa0 1:0xe0 2:0x9a 3:0x2a 4:0xb 5:0x2c 6:0x53 7:0x84 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:812 0:0xa0 1:0xe0 2:0x9a 3:0x2b 4:0xb 5:0x2c 6:0x61 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:996 0:0xa0 1:0xe0 2:0x9a 3:0x2c 4:0xb 5:0x2c 6:0x6f 7:0xa4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:1072 0:0xa0 1:0xe0 2:0x9a 3:0x2d 4:0xb 5:0x2c 6:0x7d 7:0xb4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                    
L:804 0:0x80 1:0xe0 2:0x9a 3:0x2e 4:0xb 5:0x2c 6:0x8b 7:0xc4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:836 0:0xa0 1:0xe0 2:0x9a 3:0x2f 4:0xb 5:0x2c 6:0x99 7:0xd4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:912 0:0x80 1:0xe0 2:0x9a 3:0x30 4:0xb 5:0x2c 6:0xa7 7:0xe4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:904 0:0xa0 1:0xe0 2:0x9a 3:0x31 4:0xb 5:0x2c 6:0xb5 7:0xf4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:1028 0:0xa0 1:0xe0 2:0x9a 3:0x32 4:0xb 5:0x2c 6:0xc4 7:0x4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:908 0:0xa0 1:0xe0 2:0x9a 3:0x33 4:0xb 5:0x2c 6:0xd2 7:0x14 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:1148 0:0xa0 1:0xe0 2:0x9a 3:0x34 4:0xb 5:0x2c 6:0xe0 7:0x24 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                    
L:848 0:0x80 1:0xe0 2:0x9a 3:0x35 4:0xb 5:0x2c 6:0xee 7:0x34 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:900 0:0xa0 1:0xe0 2:0x9a 3:0x36 4:0xb 5:0x2c 6:0xfc 7:0x44 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:1024 0:0xa0 1:0xe0 2:0x9a 3:0x37 4:0xb 5:0x2d 6:0xa 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:816 0:0x80 1:0xe0 2:0x9a 3:0x38 4:0xb 5:0x2d 6:0x18 7:0x64 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:936 0:0x80 1:0xe0 2:0x9a 3:0x39 4:0xb 5:0x2d 6:0x26 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:932 0:0xa0 1:0xe0 2:0x9a 3:0x3a 4:0xb 5:0x2d 6:0x34 7:0x84 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:972 0:0x80 1:0xe0 2:0x9a 3:0x3b 4:0xb 5:0x2d 6:0x42 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                                                                                                                                
L:732 0:0xa0 1:0xe0 2:0x9a 3:0x3c 4:0xb 5:0x2d 6:0x50 7:0xa4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:840 0:0xa0 1:0xe0 2:0x9a 3:0x3d 4:0xb 5:0x2d 6:0x5e 7:0xb4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                                                                                            
L:792 0:0xa0 1:0xe0 2:0x9a 3:0x3e 4:0xb 5:0x2d 6:0x6c 7:0xc4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:668 0:0xa0 1:0xe0 2:0x9a 3:0x3f 4:0xb 5:0x2d 6:0x7a 7:0xd4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:712 0:0xa0 1:0xe0 2:0x9a 3:0x40 4:0xb 5:0x2d 6:0x88 7:0xe4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:692 0:0xa0 1:0xe0 2:0x9a 3:0x41 4:0xb 5:0x2d 6:0x96 7:0xf4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:916 0:0xa0 1:0xe0 2:0x9a 3:0x42 4:0xb 5:0x2d 6:0xa5 7:0x4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                       
L:556 0:0xa0 1:0xe0 2:0x9a 3:0x43 4:0xb 5:0x2d 6:0xb3 7:0x14 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:1048 0:0xa0 1:0xe0 2:0x9a 3:0x44 4:0xb 5:0x2d 6:0xc1 7:0x24 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                    
L:596 0:0xa0 1:0xe0 2:0x9a 3:0x45 4:0xb 5:0x2d 6:0xcf 7:0x34 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:816 0:0x80 1:0xe0 2:0x9a 3:0x46 4:0xb 5:0x2d 6:0xdd 7:0x44 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:608 0:0x80 1:0xe0 2:0x9a 3:0x47 4:0xb 5:0x2d 6:0xeb 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:884 0:0x80 1:0xe0 2:0x9a 3:0x48 4:0xb 5:0x2d 6:0xf9 7:0x64 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:36 0:0x80 1:0x60 2:0x9a 3:0x49 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x40 13:0x1                                       
L:44 0:0xa0 1:0x60 2:0x9a 3:0x4a 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x42 13:0x1                                                                                                                                                                     
L:20 0:0xa0 1:0x60 2:0x9a 3:0x4b 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x44 13:0x1                                                                                                                                                                  
L:24 0:0xa0 1:0x60 2:0x9a 3:0x4c 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x4e 13:0x1                                                                                                                                                                  
L:1440 0:0x80 1:0x60 2:0x9a 3:0x4d 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x4e 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x4f 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x50 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x51 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x52 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x53 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x54 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x55 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x56 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x57 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x58 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x59 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x5a 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x5b 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x5c 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x5d 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x5e 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x5f 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x60 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x61 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x62 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x63 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x64 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x65 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x66 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x67 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x68 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x69 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x6a 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x6b 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x6c 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x6d 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x6e 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x6f 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x70 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x71 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x72 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x73 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x74 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x75 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x76 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x77 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x78 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x79 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x7a 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x7b 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:872 0:0xa0 1:0xe0 2:0x9a 3:0x7c 4:0xb 5:0x2e 6:0x7 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                      
L:1440 0:0x80 1:0x60 2:0x9a 3:0x7d 4:0xb 5:0x2e 6:0x15 7:0x84 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1172 0:0xa0 1:0xe0 2:0x9a 3:0x7e 4:0xb 5:0x2e 6:0x15 7:0x84 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1292 0:0x80 1:0xe0 2:0x9a 3:0x7f 4:0xb 5:0x2e 6:0x23 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x80 4:0xb 5:0x2e 6:0x31 7:0xa4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:324 0:0xa0 1:0xe0 2:0x9a 3:0x81 4:0xb 5:0x2e 6:0x31 7:0xa4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x82 4:0xb 5:0x2e 6:0x3f 7:0xb4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:316 0:0xa0 1:0xe0 2:0x9a 3:0x83 4:0xb 5:0x2e 6:0x3f 7:0xb4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x84 4:0xb 5:0x2e 6:0x4d 7:0xc4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:528 0:0xa0 1:0xe0 2:0x9a 3:0x85 4:0xb 5:0x2e 6:0x4d 7:0xc4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x86 4:0xb 5:0x2e 6:0x5b 7:0xd4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:464 0:0xa0 1:0xe0 2:0x9a 3:0x87 4:0xb 5:0x2e 6:0x5b 7:0xd4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x88 4:0xb 5:0x2e 6:0x69 7:0xe4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:504 0:0x80 1:0xe0 2:0x9a 3:0x89 4:0xb 5:0x2e 6:0x69 7:0xe4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x8a 4:0xb 5:0x2e 6:0x77 7:0xf4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:700 0:0xa0 1:0xe0 2:0x9a 3:0x8b 4:0xb 5:0x2e 6:0x77 7:0xf4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0x8c 4:0xb 5:0x2e 6:0x86 7:0x4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:104 0:0xa0 1:0xe0 2:0x9a 3:0x8d 4:0xb 5:0x2e 6:0x86 7:0x4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                      
L:1160 0:0xa0 1:0xe0 2:0x9a 3:0x8e 4:0xb 5:0x2e 6:0x94 7:0x14 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                    
L:848 0:0x80 1:0xe0 2:0x9a 3:0x8f 4:0xb 5:0x2e 6:0xa2 7:0x24 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:876 0:0xa0 1:0xe0 2:0x9a 3:0x90 4:0xb 5:0x2e 6:0xb0 7:0x34 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:784 0:0x80 1:0xe0 2:0x9a 3:0x91 4:0xb 5:0x2e 6:0xbe 7:0x44 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:708 0:0x80 1:0xe0 2:0x9a 3:0x92 4:0xb 5:0x2e 6:0xcc 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:728 0:0x80 1:0xe0 2:0x9a 3:0x93 4:0xb 5:0x2e 6:0xda 7:0x64 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:788 0:0xa0 1:0xe0 2:0x9a 3:0x94 4:0xb 5:0x2e 6:0xe8 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:796 0:0xa0 1:0xe0 2:0x9a 3:0x95 4:0xb 5:0x2e 6:0xf6 7:0x84 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:896 0:0x80 1:0xe0 2:0x9a 3:0x96 4:0xb 5:0x2f 6:0x4 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                       
L:992 0:0xa0 1:0xe0 2:0x9a 3:0x97 4:0xb 5:0x2f 6:0x12 7:0xa4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:1212 0:0x80 1:0xe0 2:0x9a 3:0x98 4:0xb 5:0x2f 6:0x20 7:0xb4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                    
L:1160 0:0xa0 1:0xe0 2:0x9a 3:0x99 4:0xb 5:0x2f 6:0x2e 7:0xc4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                    
L:1100 0:0xa0 1:0xe0 2:0x9a 3:0x9a 4:0xb 5:0x2f 6:0x3c 7:0xd4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                    
L:816 0:0xa0 1:0xe0 2:0x9a 3:0x9b 4:0xb 5:0x2f 6:0x4a 7:0xe4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:888 0:0xa0 1:0xe0 2:0x9a 3:0x9c 4:0xb 5:0x2f 6:0x58 7:0xf4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:796 0:0xa0 1:0xe0 2:0x9a 3:0x9d 4:0xb 5:0x2f 6:0x67 7:0x4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                       
L:712 0:0xa0 1:0xe0 2:0x9a 3:0x9e 4:0xb 5:0x2f 6:0x75 7:0x14 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:768 0:0x80 1:0xe0 2:0x9a 3:0x9f 4:0xb 5:0x2f 6:0x83 7:0x24 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:808 0:0xa0 1:0xe0 2:0x9a 3:0xa0 4:0xb 5:0x2f 6:0x91 7:0x34 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:1032 0:0x80 1:0xe0 2:0x9a 3:0xa1 4:0xb 5:0x2f 6:0x9f 7:0x44 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                    
L:732 0:0xa0 1:0xe0 2:0x9a 3:0xa2 4:0xb 5:0x2f 6:0xad 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:892 0:0xa0 1:0xe0 2:0x9a 3:0xa3 4:0xb 5:0x2f 6:0xbb 7:0x64 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:956 0:0xa0 1:0xe0 2:0x9a 3:0xa4 4:0xb 5:0x2f 6:0xc9 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:612 0:0xa0 1:0xe0 2:0x9a 3:0xa5 4:0xb 5:0x2f 6:0xd7 7:0x84 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:824 0:0xa0 1:0xe0 2:0x9a 3:0xa6 4:0xb 5:0x2f 6:0xe5 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:740 0:0xa0 1:0xe0 2:0x9a 3:0xa7 4:0xb 5:0x2f 6:0xf3 7:0xa4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:848 0:0xa0 1:0xe0 2:0x9a 3:0xa8 4:0xb 5:0x30 6:0x1 7:0xb4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                       
L:652 0:0xa0 1:0xe0 2:0x9a 3:0xa9 4:0xb 5:0x30 6:0xf 7:0xc4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                       
L:704 0:0xa0 1:0xe0 2:0x9a 3:0xaa 4:0xb 5:0x30 6:0x1d 7:0xd4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:772 0:0xa0 1:0xe0 2:0x9a 3:0xab 4:0xb 5:0x30 6:0x2b 7:0xe4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:672 0:0xa0 1:0xe0 2:0x9a 3:0xac 4:0xb 5:0x30 6:0x39 7:0xf4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:808 0:0x80 1:0xe0 2:0x9a 3:0xad 4:0xb 5:0x30 6:0x48 7:0x4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                       
L:628 0:0x80 1:0xe0 2:0x9a 3:0xae 4:0xb 5:0x30 6:0x56 7:0x14 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:836 0:0xa0 1:0xe0 2:0x9a 3:0xaf 4:0xb 5:0x30 6:0x64 7:0x24 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:816 0:0x80 1:0xe0 2:0x9a 3:0xb0 4:0xb 5:0x30 6:0x72 7:0x34 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:720 0:0x80 1:0xe0 2:0x9a 3:0xb1 4:0xb 5:0x30 6:0x80 7:0x44 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:1020 0:0xa0 1:0xe0 2:0x9a 3:0xb2 4:0xb 5:0x30 6:0x8e 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                    
L:780 0:0xa0 1:0xe0 2:0x9a 3:0xb3 4:0xb 5:0x30 6:0x9c 7:0x64 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:704 0:0x80 1:0xe0 2:0x9a 3:0xb4 4:0xb 5:0x30 6:0xaa 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:532 0:0x80 1:0xe0 2:0x9a 3:0xb5 4:0xb 5:0x30 6:0xb8 7:0x84 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:36 0:0x80 1:0x60 2:0x9a 3:0xb6 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x40 13:0x1                                      
L:44 0:0xa0 1:0x60 2:0x9a 3:0xb7 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x42 13:0x1                                                                                                                                                                     
L:20 0:0xa0 1:0x60 2:0x9a 3:0xb8 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x44 13:0x1                                                                                                                                                                  
L:24 0:0xa0 1:0x60 2:0x9a 3:0xb9 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x4e 13:0x1                                                                                                                                                                  
L:1440 0:0x80 1:0x60 2:0x9a 3:0xba 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xbb 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xbc 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xbd 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xbe 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xbf 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xc0 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xc1 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xc2 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xc3 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xc4 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xc5 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xc6 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xc7 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xc8 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xc9 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xca 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xcb 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xcc 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xcd 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xce 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xcf 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xd0 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xd1 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xd2 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xd3 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xd4 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xd5 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xd6 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xd7 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xd8 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xd9 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xda 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xdb 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xdc 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xdd 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xde 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xdf 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xe0 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xe1 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xe2 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xe3 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xe4 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xe5 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xe6 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xe7 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xe8 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1132 0:0x80 1:0xe0 2:0x9a 3:0xe9 4:0xb 5:0x30 6:0xc6 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xea 4:0xb 5:0x30 6:0xd4 7:0xa4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:352 0:0xa0 1:0xe0 2:0x9a 3:0xeb 4:0xb 5:0x30 6:0xd4 7:0xa4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:952 0:0xa0 1:0xe0 2:0x9a 3:0xec 4:0xb 5:0x30 6:0xe2 7:0xb4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:888 0:0x80 1:0xe0 2:0x9a 3:0xed 4:0xb 5:0x30 6:0xf0 7:0xc4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:800 0:0xa0 1:0xe0 2:0x9a 3:0xee 4:0xb 5:0x30 6:0xfe 7:0xd4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:1012 0:0xa0 1:0xe0 2:0x9a 3:0xef 4:0xb 5:0x31 6:0xc 7:0xe4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:1212 0:0xa0 1:0xe0 2:0x9a 3:0xf0 4:0xb 5:0x31 6:0x1a 7:0xf4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xf1 4:0xb 5:0x31 6:0x29 7:0x4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:48 0:0xa0 1:0xe0 2:0x9a 3:0xf2 4:0xb 5:0x31 6:0x29 7:0x4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                       
L:1440 0:0x80 1:0x60 2:0x9a 3:0xf3 4:0xb 5:0x31 6:0x37 7:0x14 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:472 0:0xa0 1:0xe0 2:0x9a 3:0xf4 4:0xb 5:0x31 6:0x37 7:0x14 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1440 0:0x80 1:0x60 2:0x9a 3:0xf5 4:0xb 5:0x31 6:0x45 7:0x24 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:236 0:0xa0 1:0xe0 2:0x9a 3:0xf6 4:0xb 5:0x31 6:0x45 7:0x24 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x62 13:0x1                                    
L:1116 0:0x80 1:0xe0 2:0x9a 3:0xf7 4:0xb 5:0x31 6:0x53 7:0x34 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                    
L:796 0:0xa0 1:0xe0 2:0x9a 3:0xf8 4:0xb 5:0x31 6:0x61 7:0x44 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:480 0:0x80 1:0xe0 2:0x9a 3:0xf9 4:0xb 5:0x31 6:0x6f 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:496 0:0xa0 1:0xe0 2:0x9a 3:0xfa 4:0xb 5:0x31 6:0x7d 7:0x64 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:516 0:0x80 1:0xe0 2:0x9a 3:0xfb 4:0xb 5:0x31 6:0x8b 7:0x74 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:392 0:0x80 1:0xe0 2:0x9a 3:0xfc 4:0xb 5:0x31 6:0x99 7:0x84 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:368 0:0xa0 1:0xe0 2:0x9a 3:0xfd 4:0xb 5:0x31 6:0xa7 7:0x94 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:464 0:0xa0 1:0xe0 2:0x9a 3:0xfe 4:0xb 5:0x31 6:0xb5 7:0xa4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:560 0:0xa0 1:0xe0 2:0x9a 3:0xff 4:0xb 5:0x31 6:0xc3 7:0xb4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:768 0:0xa0 1:0xe0 2:0x9b 3:0x0 4:0xb 5:0x31 6:0xd1 7:0xc4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                       
L:848 0:0xa0 1:0xe0 2:0x9b 3:0x1 4:0xb 5:0x31 6:0xdf 7:0xd4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                       
L:1072 0:0xa0 1:0xe0 2:0x9b 3:0x2 4:0xb 5:0x31 6:0xed 7:0xe4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:924 0:0xa0 1:0xe0 2:0x9b 3:0x3 4:0xb 5:0x31 6:0xfb 7:0xf4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                       
L:760 0:0xa0 1:0xe0 2:0x9b 3:0x4 4:0xb 5:0x32 6:0xa 7:0x4 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                         
L:1036 0:0xa0 1:0xe0 2:0x9b 3:0x5 4:0xb 5:0x32 6:0x18 7:0x14 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                      
L:592 0:0xa0 1:0xe0 2:0x9b 3:0x6 4:0xb 5:0x32 6:0x26 7:0x24 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                                                                                                                                            
L:760 0:0xa0 1:0xe0 2:0x9b 3:0x7 4:0xb 5:0x32 6:0x34 7:0x34 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                       
L:768 0:0xa0 1:0xe0 2:0x9b 3:0x8 4:0xb 5:0x32 6:0x42 7:0x44 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1                                       
L:884 0:0x80 1:0xe0 2:0x9b 3:0x9 4:0xb 5:0x32 6:0x50 7:0x54 8:0x9 9:0xf4 10:0xb6 11:0x4a 12:0x2 13:0x1

ngswfx

2个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-06-06 07:20:50
认可0
本帖最后由 ngswfx 于 2016-6-7 15:01 编辑

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |V=2|P|X|  CC   |M|     PT      |       sequence number         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           timestamp                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           synchronization source (SSRC) identifier            |
   +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
   |            contributing source (CSRC) identifiers             |
   |                             ....                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

//////////////2 、3字节 为包序号,每个包都在增加,应该符合了。

/////////////4,5,6三个字节为时间标识,看HK的数据包,好像也符合。

最关键的地方时,第7个字节,上面单独划分出来了,没写类型,看来也符合。


//////////到这里,思路就比较清晰了,我从网上找的265解析代码中,由于没给rtp包头的定义,是我从264拷贝过来了,为了能让代码能编译过去。看来这个包头定义需要调整一下。

ngswfx

2个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-06-06 19:26:40
认可0
本帖最后由 ngswfx 于 2016-6-8 21:10 编辑

最新进展,通过最不恰当的方法,直接加判断,按照我自己的组包理解,将相同包组合后,前面加上0001,送入3798M解码通道,解不出来。这个3798M没发现支持流导入,只能帧导入,如果有错,估计解不出来很正常。

////////////下一步准备在PC上,同一时间点,导出HK PC SDK数据流和自己得到的rtsp流,进行对比。

///////////////////简单查看了一下,海康SDK得到的帧数据,0001后面基本上都是0x02 0x01 0xd0,关键帧位置,0x42 0x01 ;0x44 0x01;0x4E 0x01;0x26 0x01,和我得到的还有些差异。

我这边有个0x62 0x01,应该还是对这里的机制没搞明白。

最费解的一句代码就是:

char* payload = (char*)(rtpdata+12+h->cc*4+h->extbit*4);

////////我这里cc可能是8或者10 extbit得到都是0,这么算下来,地址都偏移到32+12去了。继续研究吧  //////最后修改了rtp_header结构后,这里的值都是0了


/////////在生成265 rtp包代码里面发现了2中模式,一种是PACK_MODE_RAW_H265,一种是PACK_MODE_RTPPAYLOAD,后者要复杂些,估计海康这个应该是用的后者,算来算去的。算得我头都大了。:lol

ngswfx

2个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-06-07 16:34:03
认可0
将rtp_header结构体修改如下后,代码执行流程基本OK了

typedef struct
{
        ///////////////////////////////////////char0  char 1
        unsigned char payloadtype:7;
        unsigned char markbit:1;
        /////////////////////////////////////////////
        unsigned char cc:4;
        unsigned char extbit:1;
        unsigned char padding:1;
        unsigned char version:2;
        ////////////////////////////////////////////
    unsigned short  seq_number;
    //////////////////////////////////////////
        unsigned int  timestamp;
        /////////////////////////////////////////////////////
        unsigned int  ssrc;
}RTP_HEADER_265Ex,*LPRTP_HEADER_265Ex;

///////但还是不确定,这样定义265 RTP_HEADER结构体,是否正确,如果这样的话,代码跑起来,由于CC和exitbit都是0,payload就都对了。

char* payload = (char*)(rtpdata+12+h->cc*4+h->extbit*4); 其实就是偏移12,就比较合理了。

mecrsky

0个粉丝

0

问答

0

专栏

0

资料

mecrsky 2016-06-22 15:12:04
认可0
强人,收藏起来。

3wnae

0个粉丝

9

问答

0

专栏

0

资料

3wnae 2016-06-22 22:13:58
认可0
楼主rtsp都是自己写的吗? 厉害呀!!  我都是直接用的live555. 具体的协议都没研究过。

ngswfx

2个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-06-23 19:48:20
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=32210&ptid=11500]3wnae 发表于 2016-6-22 22:13[/url]
楼主rtsp都是自己写的吗? 厉害呀!!  我都是直接用的live555. 具体的协议都没研究过。[/quote]

不是自己写的,我也搞不清楚具体从哪里弄来的了,估计是CSDN下载的,这里代码不少,花几块钱,然后下载积分好几百,可以下载好多东西(通常10块钱可以下载好几百个源码,我好多学习源码都是从这个网站下载的),应该是前几年觉得有用,自己先下载了,最开始是基于PC的,我移植了一下。

然后针对需要的各种功能,做了扩充,加各种认证流程,针对各个IPC厂商做适应性调整。现在改得也比较乱了。但由于是自己慢慢改的,所以用的比较顺手。

搞这个RTSP,我的感觉就是各家的输出格式都会有些小差别,多个空格,少个空格很常见。代码编写时,很多兼容工作都在搞这些东西。

你可以到各种下载源码的网站找一下,别想着一下子弄个稳定可用版,这种东西是宝贝,别人是不会放上去的,但即便是大体框架,只要合理,拿来改改是很不错的方法,自己从头写,对整个流程要非常熟悉才行,一般人别费这个功夫了。下载十个八个的,总有一个构架合理的。

kg123456

0个粉丝

14

问答

0

专栏

3

资料

kg123456 2016-07-02 11:56:14
认可0
马克下  需要时再参考参考:handshake

转角遇见miss

0个粉丝

5

问答

0

专栏

1

资料

转角遇见miss 2016-08-11 19:45:40
认可0
我也在做265,取得265摄像头数据,生成.h265文件,一播放,问题就来了:
0.0视频只有前面的2秒是正常的,后面的都是灰色带点残像。。。
分析了一下数据
1、关键帧少了好几帧(即,少了40 42 44 4e 26...)
2、数据的规律如下
80 60 00 00 57 d5 9f 5c 36 9d 0a d0 40 01 0c 01 ff ff 01 60 00 00 03 00 b0 00 00 03 00 00 03 00 7b aa 02 40  Len=36
80 60 00 01 57 d5 9f 5c 36 9d 0a d0 42 01 01 01 60 00 00 03 00 b0 00 00 03 00 00 03 00 7b a0 03 c0 80 10 e5 8d aa 92 4c be 40  Len=42
80 60 00 02 57 d5 9f 5c 36 9d 0a d0 44 01 c0 f2 f0 3c 90  Len=19
80 60 00 03 57 d5 9f 5c 36 9d 0a d0 4e 01 e5 04 31 7f 00 00 80  Len=21
80 60 00 04 57 d5 9f 5c 36 9d 0a d0 62 01 93 af 0b da 70 22 2d 4e 3f 83 6c f6 3d 8f 43 2f 60 c8 37 7f a6 f4 29 21 78 ea c4 ea  Len=1472
80 60 00 05 57 d5 9f 5c 36 9d 0a d0 62 01 13。。。都是62 01 13.。。其80 e0后接着
80 60 00 61 57 d5 b0 f0 36 9d 0a d0 62 01 81 d0 00 09 7f 48 2e d0 fd fa f6 e6 d9 5a 29 90 f1 ce 39 0e f9 02 b6 b5 79 12 4b 86  Len=1472
80 60 00 62 57 d5 b0 f0 36 9d 0a d0 62 01 01 。。。都是62 01 01.。。其80 e0后接着
80 60 00 67 57 d5 bc 8a 36 9d 0a d0 62 01 81 d0 00 11 7f 48 2e d0 fd f8 b8 e9 d6 56 8a ef 30 52 04 c7 ec c2 e4 1d 12 d3 ef ad  Len=1472
80 60 00 68 57 d5 bc 8a 36 9d 0a d0 62 01 01 a4 79 84 39 39 bb a3 35 d3 82 60 61 07 55 9d 8d 36 d8 ab 45 a4 21 d6 4c af 07 01  Len=1472
红色部分就这规律的递增d0 00 19->21->29->...->e9->f1->ff->d0 01 01->...->d0 02 51..其80 e0后接着
关键帧--》后面d0 00 09的规律就乱了
这里就一直烦到我现在 还没解决。。。。这种规律与能正常播放的h265文件有出入。正常是d0 00 e9后80 e0就接着一个关键帧。。
烦,你懂吗?

转角遇见miss

0个粉丝

5

问答

0

专栏

1

资料

转角遇见miss 2016-08-11 19:47:10
认可0
求大侠过过招。。。:victory:

ngswfx

2个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-08-15 09:11:55
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=35946&ptid=11500]转角遇见miss 发表于 2016-8-11 19:45[/url]
我也在做265,取得265摄像头数据,生成.h265文件,一播放,问题就来了:
0.0视频只有前面的2秒是正常的, ...[/quote]

存个265文件,压缩一下,放上来。

//这个是哪一家的265 IPC

转角遇见miss

0个粉丝

5

问答

0

专栏

1

资料

转角遇见miss 2016-08-16 21:07:42
认可0
1080P.rar是我是收到的每个rtp包数据的前43个字节(已提出TCP的四个字节)。
我用的摄像头是 明日 的。
我总觉跟摄像头页面的视频编码设置有关联。网页设置里有码率:4096、帧率:30、关键帧间隔:75等等
我把码率改成800、关键帧间隔改成30、抓到数据的规律就是对的,但是播放画面就灰一下正常一下又灰一下。。。

转角遇见miss

0个粉丝

5

问答

0

专栏

1

资料

转角遇见miss 2016-08-16 21:16:09
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=36067&ptid=11500]ngswfx 发表于 2016-8-15 09:11[/url]
存个265文件,压缩一下,放上来。

//这个是哪一家的265 IPC[/quote]

上班没网络,回复的比较晚,抱歉。。。

乔布斯

0个粉丝

3

问答

0

专栏

0

资料

乔布斯 2016-08-23 06:54:09
认可0
楼主使用的是哪家什么型号的摄像头?IE控件是哪家提供的,我也想测试下。多谢楼主!

GodLoveMM

0个粉丝

6

问答

0

专栏

0

资料

GodLoveMM 2017-09-28 16:18:56
认可0
[url]http://www.ebaina.com/bbs/forum.php?mod=viewthread&tid=12720&fromuid=12268[/url]

lunarseaonline

0个粉丝

4

问答

0

专栏

5

资料

lunarseaonline 2017-11-04 11:47:41
认可0

感谢您的分享

shiguichang

0个粉丝

0

问答

0

专栏

0

资料

shiguichang 2018-01-16 23:42:08
认可0
楼主 你太厉害了  能否加个QQ或者微信  

rafael_wl

1个粉丝

12

问答

0

专栏

7

资料

rafael_wl 2016-06-08 20:46:39
认可0
啪啪啪啪。。。。。。:lol

chenccr

0个粉丝

0

问答

0

专栏

0

资料

chenccr 2016-06-22 12:24:28
认可0
牛B 牛B 牛 B
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区