海康ehome协议分析(2):预览请求
實時點播
- 1.信令
- 開始點播
- Platfrom=>>Device:
- Device=>>Platform:
- 停止點播
- Platfrom=>>Device:
- Device=>>Platfrom:
- 2.視頻流
- 技術交流
1.信令
開始點播
Platfrom=>>Device:
<?xml version="1.0" encoding="GB2312" ?> <PPVSPMessage><Version>2.5</Version><Sequence>3566</Sequence><CommandType>REQUEST</CommandType><Method>MEDIA</Method><Command>INVITESTREAM</Command><Params><!-- 請求設備通道號--><Channel>1</Channel><!-- 請求設備碼流類型:MAIN:主碼流,SUB:子碼流,THIRD:三碼流--><ChannelType>MAIN</ChannelType><SinkIP>192.168.1.133</SinkIP><SinkPort>8000</SinkPort></Params> </PPVSPMessage>Device=>>Platform:
<?xml version="1.0" encoding="GB2312"?> <PPVSPMessage><Version>2.0</Version><Sequence>3566</Sequence><CommandType>RESPONSE</CommandType><WhichCommand>INVITESTREAM</WhichCommand><!-- 當前請求流后狀態碼,200標示成功,其他見錯誤碼--><Status>200</Status><Description>OK</Description><Params><!-- 當前請求流位置標示,類似ssrc--><Session>679647373</Session></Params> </PPVSPMessage>停止點播
Platfrom=>>Device:
<?xml version="1.0" encoding="GB2312" ?> <PPVSPMessage><Version>2.5</Version><Sequence>8068</Sequence><CommandType>REQUEST</CommandType><Method>MEDIA</Method><Command>BYESTREAM</Command><Params><!--與開始點播的Session一致 --><Session>679647373</Session></Params>Device=>>Platfrom:
<?xml version="1.0" encoding="GB2312"?> <PPVSPMessage><Version>2.0</Version><Sequence>8068</Sequence><CommandType>RESPONSE</CommandType><WhichCommand>BYESTREAM</WhichCommand><Status>200</Status><Description>OK</Description><Params><!--與開始點播的Session一致 --><Session>679647373</Session></Params> </PPVSPMessage>2.視頻流
通過海康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
- 24 00 前兩個字節是‘$’,有點像tcp傳輸的rtsp協議;
- 01 39 為RTP包的長度,這里為313;
- 80 60 00 00 00 00 00 00 0a 68 9e bc為標準12位的RTP頭,其中第3,4個字節是sequence號,這里是00 00 ,0a 68 9e bc為ssrc;
- 0d,這里認為是RTP頭與PS包的分隔符。
技術交流
后續將在非SDK對接的基礎上深度剖析ehome協議,使大家監控上云更方便。
基友之家:ehome開源服務
安防、互聯網直播交流Q群:1033175645
總結
以上是生活随笔為你收集整理的海康ehome协议分析(2):预览请求的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UltraEdit中显示空格与回车的问题
- 下一篇: centos 开发环境配置