baizonghao
2023-03-14 bd8147d7890bf60d88e4007c1af726ba5f364cf5
ycl-platform/src/main/java/com/ycl/util/VideoUtil.java
@@ -40,6 +40,7 @@
     **/
    @SneakyThrows
    public String getVideo(String code, String scheme, Integer subType) {
        System.out.println("开始视频请求:" + code);
        String clientType = "winpc";
        String reqUrl = "/videoService/accounts/authorize";
        String deviceUrl = "/videoService/devicesManager/devices";
@@ -78,7 +79,7 @@
        HttpEntity<String> firstEntity = new HttpEntity<>(objectMapper.writeValueAsString(firstReq), httpHeaders);
        ResponseEntity<String> responseEntity = restTemplate.postForEntity(url + reqUrl, firstEntity, String.class);
        System.out.println("开始视频身份请求结果:" + responseEntity.getBody());
        FirstRes firstRes = objectMapper.readValue(responseEntity.getBody(), FirstRes.class);
        String signature = MD5Util.md5Encrypt(passWord);
@@ -102,7 +103,9 @@
        HttpEntity<Object> deviceEntity = new HttpEntity<>(deviceHeaders);
        ResponseEntity<String> exchange = restTemplate.exchange(url + deviceUrl + "/" + code, HttpMethod.GET, deviceEntity, String.class);
        String channelId = objectMapper.readTree(objectMapper.readTree(objectMapper.readTree(exchange.getBody()).get("encoderUnit").toString()).get("channels").get(0).toString()).get("channelId").textValue();
        System.out.println("视频请求地址:" + url + monitorUrl + channelId);
        ResponseEntity<String> monitorReq = restTemplate.exchange(url + monitorUrl + channelId, HttpMethod.GET, deviceEntity, String.class);
        System.out.println("视频请求返回参数:" + monitorReq.getBody());
        return objectMapper.readTree(monitorReq.getBody()).get("url").textValue();
    }
}