zhanghua
2023-03-15 1045a79c1265e9cc237815ae6677f6ac9bcd63f6
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";
@@ -100,9 +101,13 @@
        HttpHeaders deviceHeaders = new HttpHeaders();
        deviceHeaders.add("X-Subject-Token", objectMapper.readTree(secondResEntity.getBody()).get("token").textValue());
        HttpEntity<Object> deviceEntity = new HttpEntity<>(deviceHeaders);
        // System.out.println("视频设备请求地址:" + url + deviceUrl + "/" + code);
        ResponseEntity<String> exchange = restTemplate.exchange(url + deviceUrl + "/" + code, HttpMethod.GET, deviceEntity, String.class);
        // System.out.println("开始视频身份请求结果:" + exchange.getBody());
        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();
    }
}