zoukankan      html  css  js  c++  java
  • 安防协议视频融合综合管理监控平台EasyCVR通过Onvif无法探测对应设备如何处理?

    从研发之初,EasyCVR安防协议视频综合管理系统就是作为一个“全能型”平台上线,支持各种私有协议接入的同时,也支持onvif探测。EasyCVR使用Onvif的优势就在终端用户和集成商可以使用不同制造商的技术及解决方案,该协议的支持给EasyCVR带来了更广泛的适用性。

    如果在局域网内使用EasyCVR,可以通过Onvif探测的方式发现可用的摄像头,直接获取流地址,操作简单方便。但是在一些特定场景下,无法成功探测或者获取流地址,但是直接使用onvif device manager 能发现设备。

    通过抓包调试定位问题,发现抓包中GetStreamUrl中的参数与EasyCVR中的内容有些不一样。GetStreamUrl中参数为Profile Token=Profile_1,此参数成功获取到地址时传递的参数;而EasyCVR中传输的参数为Profile Token=Profile_101,返回101则代表获取地址失败,因此无法Onvif探测。

    上图为onvif device manager的抓包结果。要解决此问题,我们只需在EasyCVR中将101字段改为1即可正常获取流地址。参考代码如下:

    fmt.Println("call GetStreamUri")
    	m_media_url_req := media.GetStreamUri{
    		XMLName:"http://www.onvif.org/ver10/media/wsdl",
    		StreamSetup:onvif2.StreamSetup{
    			Stream:    "RTP-Unicast",
    			Transport: onvif2.Transport{
    				Protocol: "RTSP",
    				Tunnel:   nil,
    			},
    		},
    		ProfileToken: "Profile_1",
    	}
    	{
    		m_media_url_resp, err := dev.CallMethod(m_media_url_req)
    		if err == nil {
    			//fmt.Println("resp:", readResponse(m_media_url_resp))
    			bs, _ := ioutil.ReadAll(m_media_url_resp.Body)
    			log.Printf("output %+v %s", m_media_url_resp.StatusCode, bs)
    
    			//{
    			//	var methodStruct interface{}
    			//	methodStruct,e :=getMediaStructByName("GetProfiles")
    			//	if e == nil{
    			//		str := string(bs)
    			//		resp, err := xmlAnalize(methodStruct, &str)
    			//		if err != nil {
    			//			return
    			//		}
    			//
    			//		log.Println(resp)
    			//	}
    			//}
    		}
    	}
    

    目前在TSINGSEE青犀视频开发的多个视频平台项目当中,EasyNVR和EasyCVR在支持RTSP协议的同时已经支持了Onvif探测,支持通过Onvif控制摄像头云台,该功能可以在测试中使用,欢迎大家测试。

  • 相关阅读:
    ThinkPHP 3 的输出
    zookeeper 伪集群模式
    zookeeper
    MVC模式和URL访问
    全民上云时代,如何降低成本?
    华为云教你7天玩转电商应用性能调优,课程免费速来报名!
    一统江湖的大前端(6)commander.js + inquirer.js——懒,才是第一生产力
    一统江湖的大前端(5)editorconfig + eslint——你的代码里藏着你的优雅
    一统江湖的大前端(4)shell.js——穿上马甲我照样认识你
    【Python3网络爬虫开发实战】1.3.1-lxml的安装
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/14550030.html
Copyright © 2011-2022 走看看