海康Ehome协议的的PS流分析

通过海康Ehome协议通过TCP点播海康的摄像头,摄像头推送的流并非标准的PS流。
而是如下的格式:

2400013980600000000000000a689ebc0d000001ba5e269c2ee401028f63feffff007d4909000001e000128c80092789a70bb9fffffffc000000010930000001e0001a8c0005fffffffffc00000001060109004e082468000003000180000001e000da8c0004fffffff80000000161e2727088000411c4469504636f3802c8118505f81b0b3171564e0668c371e18a3614cf05a24bcf006d9a6ad1ffc3efc7917c8cce99343b4e839750fefd8f32361ab3270444fbc90eb51586ad45d445f11ec996ea36aeab6446958282a9f687350a42463ed140d4465783237338b91d4c0dbebb8d3cc61e8092cd7124f6dd41c30f87771e399896cd633c0dfb6fcab16d472c25788870ee859f7eabce0c982024ca0eabdaaec2422ac14929c0002792538f0c0b7ed51d0ef09988ca548018530494fcdfd400000300b929180062c0

可以看到000001ba是PS流的头,而PS是荷载在RTP包中,那么我们来分析下PS头前面的字节:
24 00 01 39 80 60 00 00 00 00 00 00 0a 68 9e bc 0d

1)24 00 前两个字节是‘$’,有点像tcp传输的rtsp协议;
2)01 39 为RTP包的长度,这里为313;
3)80 60 00 00 00 00 00 00 0a 68 9e bc为标准12位的RTP头,其中第3,4个字节是sequence号,这里是00 00 ,0a 68 9e bc为ssrc;
4)0d,这里认为是RTP头与PS包的分隔符。
标准12位RTP头及PS流的解析可以参考:https://blog.csdn.net/chen495810242/article/details/39207305;

你可能感兴趣的:(PS)