如果将IPC和测试PC机时间同步:date -s "2016-01-0100:00:00"来测,但这样很难掌握好,因为两者的时间很容易就偏差1s以上。
直接在发送时打印采样(capture)与网络发送后的时间对比:
size =src->gvp(svr->fp,&buf,&pts,&sync);
if(size > 0){
ret=netSend2(svr->NewTcpDataSock,&IFHead,sizeof(IFHead));
printf("frame delay: %dms(NetSend - Capture)\n",(u32)(utilGetDvrTime() - pts));
}
测试多组数据如下:
send a IF, len=880a,buf[18]:fd 01 00 00 07 80 04 38 00 19 90 a7 7a 43 00 00 88 0a
frame delay: 219 ms(NetSend - Capture)
send a IF, len=9bd1,buf[18]:fd 01 00 00 07 80 04 38 00 19 90 9f 83 b6 00 00 9b d1
frame delay: 203 ms(NetSend - Capture)
send a IF, len=970a,buf[18]:fd 01 00 00 07 80 04 38 00 19 90 ab fe dd 00 00 97 0a
frame delay: 220 ms(NetSend - Capture)
send a IF, len=989f,buf[18]:fd 01 00 00 07 80 04 38 00 19 90 ac 5b 6c 00 00 98 9f
frame delay: 212 ms(NetSend - Capture)
send a PF, len=2f9d,buf[12]:fc 01 00 00 90 ac ab 04 00 00 2f 9d
frame delay: 228 ms(NetSend - Capture)