文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

海康 综合安防管理平台 对接

2023-08-16 19:34

关注

1. 海康综合安防管理平台介绍

1.1 官网介绍

在这里插入图片描述

1.2 个人理解

综合安防管理平台部署之后,有2个系统,一个是综合安防管理平台:是用户端系统,一个是运营中心:是综合安防平台的后台管理系统,可提供api与业务平台对接,实现实时预览、录播回放、语音对讲、报警订阅等功能。

1.3 综合安防管理平台

在这里插入图片描述

1.4 运行管理中心系统

在这里插入图片描述

通过对接综合安防平台API实现摄像头的实时预览,录播回放,语音对讲,安全帽监测

3.1 运行管理中心创建合作方并授权对应的api权限

在这里插入图片描述

3.2 获取合作方的秘钥

在这里插入图片描述
说明: 该秘钥是获取api权限的秘钥

3.3 拿到该秘钥,想要调用对应API接口还需要获取某一个摄像头的主键,cameraIndexCode

3.3.1 官网api地址

在这里插入图片描述

3.3.2 代码编写

controller

     @ApiOperation(value = "分页获取监控点资源")    @GetMapping(value = "/GetResource")    public String postGetResource() {        return cameraService.callPostApiGetResources();    }

sereviceImpl

     @Override    public String callPostApiGetResources() {                ArtemisConfig config = new ArtemisConfig();        config.setHost(artemisHost); // 代理API网关nginx服务器ip端口        config.setAppKey(artemisAppKey);  // 秘钥appkey        config.setAppSecret(artemisAppSecret);// 秘钥appSecret        String getCamsApi = ARTEMIS_PATH + "/api/resource/v1/cameras";        Map paramMap = new HashMap();// post请求Form表单参数        paramMap.put("pageNo", "1");        paramMap.put("pageSize", "20");        String body = JSON.toJSON(paramMap).toString();        Map path = new HashMap(2) {            {                put("https://", getCamsApi);            }        };        String result = null;        try {            result = ArtemisHttpUtil.doPostStringArtemis(config, path, body, null, null, "application/json");            log.info(MessageFormat.format("分页获取监控点资源{0}", result));        } catch (Exception e) {            e.printStackTrace();        }        return result;    }

返回值

{    "code": "0",    "msg": "success",    "data": {        "total": 1,        "pageNo": 1,        "pageSize": 100,        "list": [            {                "cameraIndexCode": "a8f74dcf14f846bb95c8dff6684f897e",                "cameraName": "193GB_IPCamera 01",                "cameraType": 0,                "cameraTypeName": "1",                "capabilitySet": "645f0a62-05ff-4396-a687-944c3f0406d6",                "capabilitySetName": "0",                "intelligentSet": "0",                "intelligentSetName": "null",                "channelNo": "1",                "channelType": "analog",                "channelTypeName": "null",                "createTime": "null",                "encodeDevIndexCode": "73c2e4903a4547f8812a26d329802cd0",                "encodeDevResourceType": "null",                "encodeDevResourceTypeName": "null",                "gbIndexCode": "null",                "installLocation": "29",                "keyBoardCode": "ga_h264",                "latitude": "null",                "longitude": "null",                "pixel": 1,                "ptz": 1,                "ptzController": 1,                "ptzControllerName": "123",                "ptzName": "1234",                "recordLocation": "0",                "recordLocationName": "0",                "regionIndexCode": "123",                "status": 1,                "statusName": "123",                "transType": 0,                "transTypeName": "1",                "treatyType": "1",                "treatyTypeName": "1",                "viewshed": "123",                "updateTime": "1234567489"            }        ]    }}

拿到对应的摄像头的主键cameraIndexCode,保存到数据库,后面调用实时预览接口,对应哪一个摄像头设备,用到这个cameraIndexCode

3.4 拿到该秘钥,就可以调用对应的实时预览接口,获取实时预览的串流url

3.4.1 官网api接口地址

https://open.hikvision.com/docs/docId?productId=5c67f1e2f05948198c909700&version=%2Ff8356830af1d40f3b1da7db12baa47af&tagPath=API%E5%88%97%E8%A1%A8-%E8%A7%86%E9%A2%91%E4%B8%9A%E5%8A%A1-%E8%A7%86%E9%A2%91%E5%8A%9F%E8%83%BD#c93b92ea
在这里插入图片描述

3.4.2 代码编写

controller

     @ApiOperation(value = "获取当前监控点的预览url")    @GetMapping(value = "/getOnePreviewUrl")    public AjaxResult getOnePreviewUrl(@RequestParam(value = "cameraIndexCode") String cameraIndexCode) {        String url = cameraService.callPostApiPreviewUrl(cameraIndexCode, "rtmp");        return AjaxResult.successData(url);    }

serviceImpl

        @Override    public String callPostApiPreviewUrl(String cameraIndexCode, String protocol) {        ArtemisConfig config = new ArtemisConfig();        config.setHost(artemisHost); // 代理API网关nginx服务器ip端口        config.setAppKey(artemisAppKey);  // 秘钥appkey        config.setAppSecret(artemisAppSecret);// 秘钥appSecret        String getCamsApi = ARTEMIS_PATH + "/api/video/v1/cameras/previewURLs";        Map paramMap = new HashMap();// post请求Form表单参数        paramMap.put("cameraIndexCode", cameraIndexCode);        paramMap.put("streamType", 0);        paramMap.put("protocol", protocol);        String body = JSON.toJSON(paramMap).toString();        Map path = new HashMap(2) {            {                put("https://", getCamsApi);            }        };        String result = null;        try {            result = ArtemisHttpUtil.doPostStringArtemis(config, path, body, null, null, "application/json");            log.info(MessageFormat.format("获取监控点预览取流URL{0}", result));            JSONObject jsonObject = JSON.parseObject(result);            String code = jsonObject.getString("code");            if("0".equals(code)){                String data = jsonObject.getString("data");                return data;            }        } catch (Exception e) {            e.printStackTrace();        }        return result;    }

返回值

{    "code": "0",    "msg": "success",    "data": {        "url": "rtsp://10.2.145.66:655/EUrl/CLJ52BW"    }}

根据返回值中的url,放到vlc播放器中可测试是否正确(点击媒体-打开网络串流)
在这里插入图片描述
测试正确,播放正常,把该yrl返回给前端,让前端调用h5播放器,播放该url即可。

来源地址:https://blog.csdn.net/liupantao/article/details/129950713

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯