栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

海康SDK方式对接摄像头

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

海康SDK方式对接摄像头

1知识相关:

OpenAPI:对外开放的接口

Http Methodhttp:请求的方法,常用的方法有GET/POST/PUT/DELETE等请求

Path:http请求路径,指域名/IP(端口号)之后的部分,如请求地址为"www.example.com/artemis/api",则path指"/artemis/api"

appKeyappSecret:一对appKey/appSecret用于标识一个调用方,appSecret作为密钥参与签名计算

AK:AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 本文中特指appKey

SK:SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 本文中特指appSecret

RTSP:实时串流协议(Real Time Streaming Protocol,RTSP)是一种网络应用协议,专为娱乐和通信系统的使用,以控制流媒体 服务器。该协议用于建立和控制终端之间的媒体会话。媒体服务器的客户端发布VCR命令,例如播放,录制和暂停,以便于实时控制从服务器到客户端(视频点播)或从客户端到服务器(语音录音)的媒体流。

RTMP:实时消息协议(英语:Real-Time Messaging Protocol,缩写RTMP)也称实时消息传输协议,是最初由Macromedia为通过互联网在Flash播放器与一个服务器之间传输流媒体音频、视频和数据而开发的一个专有协议。

HLS:HTTP Live Streaming(缩写是HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。

RTP:实时传输协议(Real-time Transport Protocol或简写RTP)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC 1889中公布的。

STREAMFORM:视频封装格式,将已经编码压缩好的视频轨和音频轨按照一定的格式放到一个文件中。目前支持的有PS封装、TS封装、RTP封装、gb28181封装。

2对接使用流程:

1.新建Java工程,从Hikvision AI Cloud开放平台网站(海康开放平台)上下载“OpenAPI安全认证库(Java)”,获取artemis-http-client.jar,导入到Java工程中。安全认证库已上传公网仓库,maven依赖坐标:

com.hikvision.ga

artemis-http-client

1.1.3

  1. 设置认证信息,设置ArtemisConfig的host,appKey(AK),appSecret(SK)。

 

 

设置接口URL。

 

  1. 设置接口入参。

 

5.接口调用,调用doPostStringArtemis方法(该方法内部实现了登入认证逻辑),传入接口URL,接口入参,数据提交类型等信息,完成接口调用。

6.Demo java源码如下:

import com.hikvision.artemis.sdk.ArtemisHttpUtil;

import com.hikvision.artemis.sdk.config.ArtemisConfig;

import java.util.HashMap;

import java.util.Map;

public class GetCameraPreviewURL {

    public static String GetCameraPreviewURL() {

        

        ArtemisConfig.host = "127.0.0.1:443"; // 平台的ip端口

        ArtemisConfig.appKey = "29180881";  // 密钥appkey

        ArtemisConfig.appSecret = "XO0wCAYGi4KV70ybjznx";// 密钥appSecret

        

        final String ARTEMIS_PATH = "/artemis";

        

        final String previewURLsApi = ARTEMIS_PATH + "/api/video/v1/cameras/previewURLs";

        Map path = new HashMap(2) {

            {

                put("https://", previewURLsApi);//根据现场环境部署确认是http还是https

            }

        };

        

        String contentType = "application/json";

        

        JSONObject jsonBody = new JSONObject();

        jsonBody.put("cameraIndexCode", "748d84750e3a4a5bbad3cd4af9ed5101");

        jsonBody.put("streamType", 0);

        jsonBody.put("protocol", "rtsp");

        jsonBody.put("transmode", 1);

        jsonBody.put("expand", "streamform=ps");

        String body = jsonBody.toJSONString();

        

        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType , null);// post请求application/json类型参数

        return result;

    }

    public static void main(String[] args) {

        String result = GetCameraPreviewURL();

        System.out.println("result结果示例: " + result);

    }

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/939675.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号