萤石云平台接入_萤石开放平台对接海康摄像头(一)

1.接新的开放平台第一件事当然是注册咯

点击下方链接注册(略微有点像打广告,但是我没有!)

萤石开放平台

2.添加设备

我这边是通过序列号添加的设备

我的资源->设备列表->添加设备

添加设备

序列号与验证码都在摄像机机身上,找一下就能找到

这边需要注意,一个设备只能被一个账号绑定

绑定成功后就能看见一条设备信息

设备信息

测试设备监控是否正常

如下我们可以看到一个直播地址跟一个监控地址

监控地址是预览摄像头情况的,这边就不做测试,反正能看

测试播放

直播地址我们点进去的时候会可能会提示摄像头已经加密(还是录像加密忘记了),根据提示信息把加密关闭就好了,就能看到4个直播地址,这个地址就是我目前的终极目标,需要提供给前端大佬播放视频使用.点击测试播放可以测试摄像头是否正常,我这边遇到一个问题就是使用http地址的时候只能播放两秒就卡主了,被迫转向RTMP地址,是流畅的,比较懒后期有需要在解决~

直播地址

调用萤石接口获取直播地址

当然我的终极目标还是得用我深爱的java获取到直播地址,不得不说,萤石这个开放平台的API,太好使了,无脑调用就行.

萤石API地址

这边我们先获取一下我们的必需品:密钥

在 我的账号->应用信息下

密钥

以下是我今天写的demo

public class HaiKangTest {

private static String appKey = "";

private static String appSecret = "";

private static String accessToken = "";

public static void main(String[] args) {

// addV();

// capture();

// videoList();

off();

}

private static void off(){

String url = "https://open.ys7.com/api/lapp/device/encrypt/off";

Map map = new HashMap<>();

map.put("accessToken", accessToken);

// 设备序列号

map.put("deviceSerial", "deviceSerial");

// 通道

map.put("validateCode", "validateCode");

String doPost = HttpPostUtil.doPost(url, map);

JSONObject jsonObject = JSONArray.parseObject(doPost);

System.out.println(doPost);

}

/**

* 直播地址获取

*/

private static void videoList(){

String url = "https://open.ys7.com/api/lapp/live/video/list";

Map map = new HashMap<>();

map.put("accessToken", accessToken);

map.put("pageStart", "0");

map.put("pageSize", "10");

String doPost = HttpPostUtil.doPost(url, map);

JSONObject jsonObject = JSONArray.parseObject(doPost);

System.out.println(doPost);

}

/**

* 抓拍

* 萤石图片只保存2个小时,需后期保存到自己的服务器上

* 请勿频繁调用,建议每个摄像头调用的间隔4s以上

*/

private static void capture(){

String url = "https://open.ys7.com/api/lapp/device/capture";

Map map = new HashMap<>();

map.put("accessToken", accessToken);

// 设备序列号

map.put("deviceSerial", "deviceSerial");

// 通道

map.put("channelNo", "1");

String doPost = HttpPostUtil.doPost(url, map);

JSONObject jsonObject = JSONArray.parseObject(doPost);

Object data = jsonObject.get("data");

Object code = jsonObject.get("code");

Object msg = jsonObject.get("msg");

System.out.println(data);

}

/**

* 删除设备

*/

private static void delete(){

// 获取 AccessToken

String url = "https://open.ys7.com/api/lapp/device/delete";

Map map = new HashMap<>();

map.put("accessToken", accessToken);

// 设备序列号

map.put("deviceSerial", "deviceSerial");

String doPost = HttpPostUtil.doPost(url, map);

JSONObject jsonObject = JSONArray.parseObject(doPost);

Object code = jsonObject.get("code");

Object msg = jsonObject.get("msg");

if (!code.equals("200")){

System.out.println(msg);

}

if (code.equals("200")){

System.out.println("设备删除成功");

}

System.out.println(doPost);

}

/**

* 添加设备

*/

private static void addV(){

// 获取 AccessToken

String url = "https://open.ys7.com/api/lapp/device/add";

Map map = new HashMap<>();

map.put("accessToken", accessToken);

// 设备序列号

map.put("deviceSerial", "deviceSerial");

// 设备验证码

map.put("validateCode", "validateCode");

String doPost = HttpPostUtil.doPost(url, map);

JSONObject jsonObject = JSONArray.parseObject(doPost);

Object code = jsonObject.get("code");

Object msg = jsonObject.get("msg");

if (!code.equals("200")){

System.out.println(msg);

}

if (code.equals("200")){

System.out.println("设备添加成功");

}

System.out.println(doPost);

}

/**

*

* 获取并解析token

* @return

*/

private static String getAccessToken(){

// 获取 AccessToken

String url = "https://open.ys7.com/api/lapp/token/get";

Map map = new HashMap<>();

map.put("appKey", appKey);

map.put("appSecret", appSecret);

String doPost = HttpPostUtil.doPost(url, map);

JSONObject jsonObject = JSONArray.parseObject(doPost);

Object data = jsonObject.get("data");

Object code = jsonObject.get("code");

Object msg = jsonObject.get("msg");

JSONObject object = JSONArray.parseObject(data.toString());

Object accessToken = object.get("accessToken");

Object expireTime = object.get("expireTime");

return accessToken.toString();

}

你可能感兴趣的:(萤石云平台接入)