TSINGSEE青犀视频团队根据EasyCVR的开发经验,开发了一套新的上云管理平台EasyCVS,目前我们也在对EasyCVS进行一些功能的完善,使其在对接EasyCVR等平台的时候更加便捷可靠。
近期我们开发了在EasyCVS中展示上传的设备流的功能,本文分享一下我们是如何实现的。通过查询文档协议,我们根据接口找到对应文档,文档内容如下:
根据以上接口文档,我们在代码中添加如下代码,首先建立websocket链接,然后在websocket链接中携带以上参数。
rawquery := fmt.Sprintf("vendor=%s&dsn=%s×tamp=%d&nonce=%s&sign=%s", vendor, dsn, timestamp, nonce, sign1)
u := url.URL{
Scheme: "wss",
//Scheme: "ws",
Host: *addr,
//Path: "/ws",
Path: "/v1/odcap/register",
RawQuery: rawquery,
}
if debug {
u = url.URL{
//Scheme: "wss",
Scheme: "ws",
Host: *addr,
Path: "/ws",
//Path: "/v1/odcap/register",
RawQuery: rawquery,
}
}
log.Printf("connecting to %s", u.String())
wsktDlr := websocket.Dialer{TLSClientConfig: &tls.Config{RootCAs: nil, InsecureSkipVerify: true}}
c, hrsp, err := wsktDlr.Dial(u.String(), nil)
if err != nil {
log.Printf("dial err %s", err.Error())
return nil
}
添加完成后,在EasyCVR中查看通道在线状况:
再到EasyCVS中查看通道流情况,通道流正常在线,该功能完成。