大华接口--新增实时视频链接获取接口

main
haoyuanfu“;git config --global user.name haoyuanfu“ 1 week ago
parent bc2c89cf34
commit 9ec43ce9b6
  1. 29
      src/main/java/com/zilber/boot/dahua/controller/DahuaController.java
  2. 24
      src/main/java/com/zilber/boot/dahua/video/RtspUrlRequest.java
  3. 40
      src/main/java/com/zilber/boot/dahua/video/RtspUrlResponse.java

@ -14,6 +14,8 @@ import com.zilber.boot.dahua.attendance.GetResultPageResponse;
import com.zilber.boot.dahua.config.OauthConfigUtil; import com.zilber.boot.dahua.config.OauthConfigUtil;
import com.zilber.boot.dahua.device.DevicePageRequest; import com.zilber.boot.dahua.device.DevicePageRequest;
import com.zilber.boot.dahua.device.DevicePageResponse; import com.zilber.boot.dahua.device.DevicePageResponse;
import com.zilber.boot.dahua.video.RtspUrlRequest;
import com.zilber.boot.dahua.video.RtspUrlResponse;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -107,7 +109,7 @@ public class DahuaController {
* @return * @return
* 参考API https://open-icc.dahuatech.com/#/home?url=%3Fnav%3Dwiki%2Fevo-brm%2Fdevice.html&version=enterprisebase/5.0.17&blank=true * 参考API https://open-icc.dahuatech.com/#/home?url=%3Fnav%3Dwiki%2Fevo-brm%2Fdevice.html&version=enterprisebase/5.0.17&blank=true
*/ */
@ApiOperation(value = "门禁记录数量查询",notes = "门禁记录数量查询") @ApiOperation(value = "设备分页查询",notes = "设备分页查询")
@PostMapping("/brm/getDevicePage") @PostMapping("/brm/getDevicePage")
public DevicePageResponse getDevicePage(DevicePageRequest devicePageRequest){ public DevicePageResponse getDevicePage(DevicePageRequest devicePageRequest){
OauthConfigUserPwdInfo config = OauthConfigUtil.getOauthConfig(); OauthConfigUserPwdInfo config = OauthConfigUtil.getOauthConfig();
@ -125,4 +127,29 @@ public class DahuaController {
return response; return response;
} }
/**
* rtsp实时预览
* @param rtspUrlRequest
* @return
* 参考API https://open-icc.dahuatech.com/#/home?url=%3Fnav%3Dwiki%2Fevo-brm%2Fdevice.html&version=enterprisebase/5.0.17&blank=true
*/
@ApiOperation(value = " rtsp实时预览",notes = " rtsp实时预览")
@PostMapping("/video/getRtspUrl")
public RtspUrlResponse getRtspUrl(RtspUrlRequest rtspUrlRequest){
RtspUrlResponse response=null;
OauthConfigUserPwdInfo config = OauthConfigUtil.getOauthConfig();
try {
//log.info("RealTimePreviewDemo,getRtspUrl,request:{}", JSONUtil.toJsonStr(rtspUrlRequest));
response = HttpUtils.executeJson("/evo-apigw/admin/API/MTS/Video/StartVideo", rtspUrlRequest,null, Method.POST , config, RtspUrlResponse.class);
//log.info("RealTimePreviewDemo,getRtspUrl,response:{}", JSONUtil.toJsonStr(response));
} catch (ClientException e) {
log.error(e.getErrMsg(), e);
}
if(!response.getCode().equals("1000")) {
log.info("获取rtsp流地址失败:{}",response.getErrMsg());
}
return response;
}
} }

@ -0,0 +1,24 @@
package com.zilber.boot.dahua.video;
import lombok.Data;
/**
*实时拉流request
*/
@Data
public class RtspUrlRequest {
private Data data;
@lombok.Data
public static class Data{
private String channelId;
private String dataType;
private String streamType;
}
}

@ -0,0 +1,40 @@
package com.zilber.boot.dahua.video;
import com.dahuatech.icc.oauth.http.IccResponse;
import lombok.Data;
/**
* 实时拉流返回
*/
@Data
public class RtspUrlResponse extends IccResponse {
private RtspData data;
@Data
public static class RtspData {
private String minRate;
private String protocol;
private String ip;
private String port;
private String stunEnable;
private String stunPort;
private String url;
private String connectType;
private String session;
private String token;
private String trackId;
}
}
Loading…
Cancel
Save