上一篇我們講了EasyCVR視頻平台集成了海康EHome協議系統配置,EasyCVR集成海康EHome私有協議內容繁雜瑣碎,測試內容眾多,所以我們特地開辟一個系列,如果大家有興趣,可以翻閱以往的博客了解一下。本篇博文我們講一下EasyCVR集成海康EHome協議預覽流程。
EasyCVR集成海康EHome協議預覽流程
Ehome協議是海康的私有協議,類似於gb28181 都是基於設備端主動向平台和服務注冊,比較適用於無固定ip地址的設備。
集成Ehome sdk完成視頻預覽功能,需要利用中心管理服務CMS組件和流媒體服務SMS組件。
結合上圖完成Ehome協議設備接入預覽播放的基本步驟為:
1>調用NET_ECMS_XMLConfig和命令GetDevAbility獲取設備能力並判斷是否支持預覽。
設備能力由pOutBuf返回。
· 如果支持,將返回節點,可繼續下面步驟。
· 否則,請結束該任務。
2>調用NET_ESTREAM_StartListenPreview開啟SMS監聽服務並接收來自設備的連接請求。
3>調用NET_ESTREAM_SetExceptionCallBack為SMS注冊異常回調函數。
4>異常信息會被回調至該注冊的回調函數中,請及時處理異常避免阻塞。
5>調用NET_ECMS_StartGetRealStreamV11將預覽開始請求從CMS發送給設備。
6>發送SMS的地址和端口號給設備,同時會自動為CMS分配一個會話ID。
7>調用NET_ESTREAM_SetPreviewDataCB為SMS注冊回調函數用於接收來自設備的實時流。
8>調用NET_ECMS_StartPushRealStream將實時流傳輸請求從CMS發送給設備。
9>設備自動連接SMS並開始發送實時流給SMS。