From e468088052b2dea9837645eeed689ee9c5f0948d Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期五, 27 十月 2023 15:58:11 +0800
Subject: [PATCH] 油烟
---
ycl-platform/src/main/java/com/ycl/util/VideoUtil.java | 155 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 153 insertions(+), 2 deletions(-)
diff --git a/ycl-platform/src/main/java/com/ycl/util/VideoUtil.java b/ycl-platform/src/main/java/com/ycl/util/VideoUtil.java
index 2f99d6d..7490765 100644
--- a/ycl-platform/src/main/java/com/ycl/util/VideoUtil.java
+++ b/ycl-platform/src/main/java/com/ycl/util/VideoUtil.java
@@ -1,13 +1,19 @@
package com.ycl.util;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import cn.hutool.json.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.ycl.api.CommonResult;
+import com.hikvision.artemis.sdk.ArtemisHttpUtil;
+import com.hikvision.artemis.sdk.config.ArtemisConfig;
import com.ycl.dto.v1.Req.FirstReq;
import com.ycl.dto.v1.Req.SecondReq;
import com.ycl.dto.v1.Res.FirstRes;
+import com.ycl.dto.video.Camera;
+import com.ycl.dto.video.HttpResponseResult;
+import com.ycl.dto.video.PageResult;
import com.ycl.utils.MD5Util;
import lombok.SneakyThrows;
+import org.apache.http.HttpResponse;
+import org.apache.http.util.EntityUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.*;
import org.springframework.http.client.ClientHttpResponse;
@@ -17,6 +23,9 @@
import org.springframework.web.client.RestTemplate;
import java.net.URI;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
@Component
public class VideoUtil {
@@ -114,7 +123,149 @@
return objectMapper.readTree(monitorReq.getBody()).get("url").textValue();
} catch (Exception ex) {
+ System.out.println("鑾峰彇瑙嗛寮傚父锛�" + ex.getMessage());
return "鑾峰彇鍦板潃澶辫触锛岃妫�鏌ode鍊�";
}
}
+
+
+ private final String ARTEMIS_PATH = "/artemis";
+ private final String HOST = "10.53.133.82:1443";
+ private final String APP_KEY = "29967737";
+ private final String APP_SECRET = "LElVf9Ct3ykStZHCmFNZ";
+
+ public PageResult<Camera> callPostCameras(Integer pageNo, Integer pageSize, String treeCode) throws Exception {
+
+ ArtemisConfig config = new ArtemisConfig();
+ config.setHost(HOST); // 浠g悊API缃戝叧nginx鏈嶅姟鍣╥p绔彛
+ config.setAppKey(APP_KEY); // 绉橀挜appkey
+ config.setAppSecret(APP_SECRET);// 绉橀挜appSecret
+
+ final String getSecurityApi = ARTEMIS_PATH + "/api/resource/v1/cameras"; // 鎺ュ彛璺緞
+ Map<String, String> path = new HashMap<String, String>(2) {
+ {
+ put("https://", getSecurityApi);
+ }
+ };
+ Map<String, String> head = new HashMap<String, String>(2) { //get璇锋眰鐨刪ead鍙傛暟
+ {
+ put("headpost", "sky-test");
+ }
+ };
+ JSONObject jsonBody = new JSONObject();
+ jsonBody.put("pageNo", pageNo);
+ jsonBody.put("pageSize", pageSize);
+ jsonBody.put("treeCode", treeCode);
+ String body = jsonBody.toString();
+ System.out.println("娴峰悍瑙嗛寮�濮嬭姹傦細");
+ //鍙傛暟鏍规嵁鎺ュ彛瀹為檯鎯呭喌璁剧疆
+ HttpResponse result = ArtemisHttpUtil.doPostStringImgArtemis(config, path, body, null, null, "application/json", head);
+ try {
+ String strResult = EntityUtils.toString(result.getEntity());
+ HttpResponseResult responseResult = com.alibaba.fastjson.JSONObject.parseObject(strResult, HttpResponseResult.class);
+ System.out.println("娴峰悍瑙嗛缁撴灉锛�" + responseResult.toString());
+ if ("0".equals(responseResult.getCode())) {
+ com.alibaba.fastjson.JSONObject jsonObject = responseResult.getData();
+ String strList = jsonObject.getString("list");
+ Integer total = Integer.parseInt(jsonObject.getString("total"));
+ Integer resultPageSize = Integer.parseInt(jsonObject.getString("pageSize"));
+ Integer resultPageNo = Integer.parseInt(jsonObject.getString("pageNo"));
+ List<Camera> ls = com.alibaba.fastjson.JSONObject.parseArray(strList, Camera.class);
+ PageResult<Camera> pageResult = new PageResult<>(total, resultPageSize, resultPageNo, ls);
+ return pageResult;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ public String getKHVideo(String code) throws Exception {
+
+ ArtemisConfig config = new ArtemisConfig();
+ config.setHost(HOST); // 浠g悊API缃戝叧nginx鏈嶅姟鍣╥p绔彛
+ config.setAppKey(APP_KEY); // 绉橀挜appkey
+ config.setAppSecret(APP_SECRET);// 绉橀挜appSecret
+ final String getSecurityApi = ARTEMIS_PATH + "/api/video/v1/cameras/previewURLs"; // 鎺ュ彛璺緞
+ Map<String, String> path = new HashMap<String, String>(2) {
+ {
+ put("https://", getSecurityApi);
+ }
+ };
+ Map<String, String> head = new HashMap<String, String>(2) { //get璇锋眰鐨刪ead鍙傛暟
+ {
+ put("headpost", "sky-test");
+ }
+ };
+ Map<String, String> query = new HashMap<String, String>(2) { //get璇锋眰鐨刪ead鍙傛暟
+ {
+ put("domainId", "0");
+ }
+ };
+ JSONObject jsonBody = new JSONObject();
+ jsonBody.put("cameraIndexCode", code);
+ jsonBody.put("streamType", 0);
+ jsonBody.put("protocol", "hls");
+ jsonBody.put("transmode", 0);
+ String body = jsonBody.toString();
+ //鍙傛暟鏍规嵁鎺ュ彛瀹為檯鎯呭喌璁剧疆
+ HttpResponse result = ArtemisHttpUtil.doPostStringImgArtemis(config, path, body, query, null, "application/json", head);
+ System.out.println("娴峰悍瀹屾垚璇锋眰");
+ try {
+ String strResult = EntityUtils.toString(result.getEntity());
+ System.out.println("娴峰悍杩斿洖缁撴灉锛�" + strResult);
+ HttpResponseResult responseResult = com.alibaba.fastjson.JSONObject.parseObject(strResult, HttpResponseResult.class);
+ if ("0".equals(responseResult.getCode())) {
+ com.alibaba.fastjson.JSONObject jsonObject = responseResult.getData();
+ String url = jsonObject.getString("url");
+ return url;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return "";
+ }
+
+ public String getKHPresets(String code) throws Exception {
+
+ ArtemisConfig config = new ArtemisConfig();
+ config.setHost(HOST); // 浠g悊API缃戝叧nginx鏈嶅姟鍣╥p绔彛
+ config.setAppKey(APP_KEY); // 绉橀挜appkey
+ config.setAppSecret(APP_SECRET);// 绉橀挜appSecret
+ final String getSecurityApi = ARTEMIS_PATH + "/api/video/v1/presets/searches"; // 鎺ュ彛璺緞
+ Map<String, String> path = new HashMap<String, String>(2) {
+ {
+ put("https://", getSecurityApi);
+ }
+ };
+ Map<String, String> head = new HashMap<String, String>(2) { //get璇锋眰鐨刪ead鍙傛暟
+ {
+ put("headpost", "sky-test");
+ }
+ };
+ Map<String, String> query = new HashMap<String, String>(2) { //get璇锋眰鐨刪ead鍙傛暟
+ {
+ put("domainId", "0");
+ }
+ };
+ JSONObject jsonBody = new JSONObject();
+ jsonBody.put("cameraIndexCode", code);
+ String body = jsonBody.toString();
+ //鍙傛暟鏍规嵁鎺ュ彛瀹為檯鎯呭喌璁剧疆
+ HttpResponse result = ArtemisHttpUtil.doPostStringImgArtemis(config, path, body, query, null, "application/json", head);
+ System.out.println("娴峰悍瀹屾垚璇锋眰-getKHPresets");
+ try {
+ String strResult = EntityUtils.toString(result.getEntity());
+ System.out.println("娴峰悍杩斿洖缁撴灉-getKHPresets锛�" + strResult);
+ HttpResponseResult responseResult = com.alibaba.fastjson.JSONObject.parseObject(strResult, HttpResponseResult.class);
+ if ("0".equals(responseResult.getCode())) {
+ com.alibaba.fastjson.JSONObject jsonObject = responseResult.getData();
+ String url = jsonObject.getString("url");
+ return url;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return "";
+ }
}
--
Gitblit v1.8.0