Commit 02fc7f8c by chenjunxiong

build(hikvision-sdk):

网域应用 - 获取所有网域
视频预览 - 根据监控点 UUID 和网域 UUID 获取预览参数
parent c523ec37
package org.jeecg.pm.hikvision.sdk.entity.body.base.netzone;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.pm.hikvision.sdk.entity.body.HikvisionBodyModel;
/**
* <p>
*
* </p>
*
* @author 陈俊雄
* @since 2022/3/23
*/
@Slf4j
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class HikvisionGetNetZones extends HikvisionBodyModel {
}
package org.jeecg.pm.hikvision.sdk.entity.body.vss.preview;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.pm.hikvision.sdk.entity.body.HikvisionBodyModel;
/**
* <p>
*
* </p>
*
* @author 陈俊雄
* @since 2022/3/23
*/
@Slf4j
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class HikvisiongetPreviewParamByCameraUuid extends HikvisionBodyModel {
public HikvisiongetPreviewParamByCameraUuid(String cameraUuid, String netZoneUuid) {
this.cameraUuid = cameraUuid;
this.netZoneUuid = netZoneUuid;
}
/**
* 监控点 UUID
*/
private String cameraUuid;
/**
* 网域 UUID
*/
private String netZoneUuid;
}
package org.jeecg.pm.hikvision.sdk.request.base.netzone;
import com.chanjx.utils.HttpMethod;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.apache.http.entity.ContentType;
import org.jeecg.pm.hikvision.sdk.entity.body.HikvisionBodyModel;
import org.jeecg.pm.hikvision.sdk.entity.body.base.netzone.HikvisionGetNetZones;
import org.jeecg.pm.hikvision.sdk.request.HikvisionAbstractRequest;
import org.jeecg.pm.hikvision.sdk.response.base.netzone.HikvisionGetNetZonesResponse;
import org.jeecg.pm.hikvision.sdk.result.base.netzone.HikvisionGetNetZonesResult;
/**
* @author: JJww
* @Date:2022/3/21
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class HikvisionGetNetZonesRequest extends HikvisionAbstractRequest<HikvisionGetNetZonesResponse, HikvisionGetNetZonesResult> {
private final HikvisionGetNetZones hikvisionGetNetZones = new HikvisionGetNetZones();
@Override
public ContentType getContentType() {
return ContentType.APPLICATION_JSON;
}
@Override
public Class<HikvisionGetNetZonesResponse> getResponseClazz() {
return HikvisionGetNetZonesResponse.class;
}
@Override
public Class<HikvisionGetNetZonesResult> getResultClazz() {
return HikvisionGetNetZonesResult.class;
}
@Override
public HttpMethod getHttpMethod() {
return HttpMethod.POST;
}
@Override
public String getReqPath() {
return "/openapi/service/base/netZone/getNetZones";
}
@Override
public HikvisionBodyModel getModel() {
return hikvisionGetNetZones;
}
}
package org.jeecg.pm.hikvision.sdk.request.vss.preview;
import com.chanjx.utils.HttpMethod;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.apache.http.entity.ContentType;
import org.jeecg.pm.hikvision.sdk.entity.body.HikvisionBodyModel;
import org.jeecg.pm.hikvision.sdk.entity.body.vss.preview.HikvisiongetPreviewParamByCameraUuid;
import org.jeecg.pm.hikvision.sdk.request.HikvisionAbstractRequest;
import org.jeecg.pm.hikvision.sdk.response.vss.preview.HikvisionPreviewParamByCameraUuidResponse;
import org.jeecg.pm.hikvision.sdk.result.vss.preview.HikvisionPreviewParamByCameraUuidResult;
/**
* @author: JJww
* @Date:2022/3/21
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class HikvisionPreviewParamByCameraUuidRequest extends HikvisionAbstractRequest<HikvisionPreviewParamByCameraUuidResponse, HikvisionPreviewParamByCameraUuidResult> {
private HikvisiongetPreviewParamByCameraUuid hikvisiongetPreviewParamByCameraUuid;
public HikvisionPreviewParamByCameraUuidRequest(HikvisiongetPreviewParamByCameraUuid hikvisiongetPreviewParamByCameraUuid) {
this.hikvisiongetPreviewParamByCameraUuid = hikvisiongetPreviewParamByCameraUuid;
}
@Override
public ContentType getContentType() {
return ContentType.APPLICATION_JSON;
}
@Override
public Class<HikvisionPreviewParamByCameraUuidResponse> getResponseClazz() {
return HikvisionPreviewParamByCameraUuidResponse.class;
}
@Override
public Class<HikvisionPreviewParamByCameraUuidResult> getResultClazz() {
return HikvisionPreviewParamByCameraUuidResult.class;
}
@Override
public HttpMethod getHttpMethod() {
return HttpMethod.POST;
}
@Override
public String getReqPath() {
return "/openapi/service/vss/preview/getPreviewParamByCameraUuid";
}
@Override
public HikvisionBodyModel getModel() {
return hikvisiongetPreviewParamByCameraUuid;
}
@Override
public void setModel(HikvisionBodyModel model) {
this.hikvisiongetPreviewParamByCameraUuid = (HikvisiongetPreviewParamByCameraUuid) model;
}
}
package org.jeecg.pm.hikvision.sdk.response.base.netzone;
import org.jeecg.pm.hikvision.sdk.response.HikvisionAbstractResponse;
import org.jeecg.pm.hikvision.sdk.result.base.netzone.HikvisionGetNetZonesResult;
/**
* @author: JJww
* @Date:2022/3/22
*/
public class HikvisionGetNetZonesResponse extends HikvisionAbstractResponse<HikvisionGetNetZonesResult> {
public HikvisionGetNetZonesResponse() {
super(HikvisionGetNetZonesResult.class, false);
}
}
package org.jeecg.pm.hikvision.sdk.response.vss.preview;
import org.jeecg.pm.hikvision.sdk.response.HikvisionAbstractResponse;
import org.jeecg.pm.hikvision.sdk.result.vss.preview.HikvisionPreviewParamByCameraUuidResult;
/**
* <p>
*
* </p>
*
* @author 陈俊雄
* @since 2022/3/23
*/
public class HikvisionPreviewParamByCameraUuidResponse extends HikvisionAbstractResponse<HikvisionPreviewParamByCameraUuidResult> {
public HikvisionPreviewParamByCameraUuidResponse() {
super(HikvisionPreviewParamByCameraUuidResult.class, false);
}
}
package org.jeecg.pm.hikvision.sdk.result.base.netzone;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.pm.hikvision.sdk.result.HikvisionBaseResult;
import java.io.Serializable;
import java.util.List;
/**
* <p>
*
* </p>
*
* @author 陈俊雄
* @since 2022/3/23
*/
@Slf4j
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class HikvisionGetNetZonesResult extends HikvisionBaseResult {
private List<NetZone> data;
@Slf4j
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public static class NetZone implements Serializable {
/**
*网域 UUID
*/
private String netZoneUuid;
/**
*网域名称
*/
private String netZoneName;
}
}
package org.jeecg.pm.hikvision.sdk.result.vss.preview;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.pm.hikvision.sdk.result.HikvisionBaseResult;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author 陈俊雄
* @since 2022/3/23
*/
@Slf4j
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class HikvisionPreviewParamByCameraUuidResult extends HikvisionBaseResult {
private String data;
@Slf4j
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public static class Preview implements Serializable {
}
}
import org.jeecg.pm.hikvision.sdk.client.HikvisionBaseClient; import org.jeecg.pm.hikvision.sdk.client.HikvisionBaseClient;
import org.jeecg.pm.hikvision.sdk.client.HikvisionClient; import org.jeecg.pm.hikvision.sdk.client.HikvisionClient;
import org.jeecg.pm.hikvision.sdk.entity.body.vss.preview.HikvisiongetPreviewParamByCameraUuid;
import org.jeecg.pm.hikvision.sdk.entity.body.vss.res.HikvisionGetCamerasEx; import org.jeecg.pm.hikvision.sdk.entity.body.vss.res.HikvisionGetCamerasEx;
import org.jeecg.pm.hikvision.sdk.entity.body.vss.res.HikvisionGetEncoders; import org.jeecg.pm.hikvision.sdk.entity.body.vss.res.HikvisionGetEncoders;
import org.jeecg.pm.hikvision.sdk.request.base.netzone.HikvisionGetNetZonesRequest;
import org.jeecg.pm.hikvision.sdk.request.base.user.HikvisionGetDefaultUserUuidRequest; import org.jeecg.pm.hikvision.sdk.request.base.user.HikvisionGetDefaultUserUuidRequest;
import org.jeecg.pm.hikvision.sdk.request.vss.preview.HikvisionPreviewParamByCameraUuidRequest;
import org.jeecg.pm.hikvision.sdk.request.vss.res.HikvisionGetCamerasExRequest; import org.jeecg.pm.hikvision.sdk.request.vss.res.HikvisionGetCamerasExRequest;
import org.jeecg.pm.hikvision.sdk.request.vss.res.HikvisionGetEncodersRequest; import org.jeecg.pm.hikvision.sdk.request.vss.res.HikvisionGetEncodersRequest;
import org.jeecg.pm.hikvision.sdk.response.base.netzone.HikvisionGetNetZonesResponse;
import org.jeecg.pm.hikvision.sdk.response.base.user.HikvisionGetDefaultUserUuidResponse; import org.jeecg.pm.hikvision.sdk.response.base.user.HikvisionGetDefaultUserUuidResponse;
import org.jeecg.pm.hikvision.sdk.response.vss.preview.HikvisionPreviewParamByCameraUuidResponse;
import org.jeecg.pm.hikvision.sdk.response.vss.res.HikvisionGetCamerasExResponse; import org.jeecg.pm.hikvision.sdk.response.vss.res.HikvisionGetCamerasExResponse;
import org.jeecg.pm.hikvision.sdk.response.vss.res.HikvisionGetEncodersResponse; import org.jeecg.pm.hikvision.sdk.response.vss.res.HikvisionGetEncodersResponse;
import org.jeecg.pm.hikvision.sdk.result.base.netzone.HikvisionGetNetZonesResult;
import org.jeecg.pm.hikvision.sdk.result.vss.res.HikvisionGetCamerasExResult;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import java.util.List;
/** /**
* <p> * <p>
* *
...@@ -32,6 +41,12 @@ public class HikvisionSdkTest { ...@@ -32,6 +41,12 @@ public class HikvisionSdkTest {
} }
@Test @Test
void getNetZon() {
final HikvisionGetNetZonesResponse response = CLIENT.execute(new HikvisionGetNetZonesRequest());
System.out.println(response);
}
@Test
void getEncoders() { void getEncoders() {
final HikvisionGetEncoders encoders = new HikvisionGetEncoders(1, 10); final HikvisionGetEncoders encoders = new HikvisionGetEncoders(1, 10);
final HikvisionGetEncodersResponse response = CLIENT.execute(new HikvisionGetEncodersRequest(encoders)); final HikvisionGetEncodersResponse response = CLIENT.execute(new HikvisionGetEncodersRequest(encoders));
...@@ -44,4 +59,21 @@ public class HikvisionSdkTest { ...@@ -44,4 +59,21 @@ public class HikvisionSdkTest {
final HikvisionGetCamerasExResponse response = CLIENT.execute(new HikvisionGetCamerasExRequest(camerasEx)); final HikvisionGetCamerasExResponse response = CLIENT.execute(new HikvisionGetCamerasExRequest(camerasEx));
System.out.println(response); System.out.println(response);
} }
@Test
void previewParamByCameraUuid() {
final HikvisionGetCamerasEx camerasEx = new HikvisionGetCamerasEx(1, 10);
final HikvisionGetCamerasExResponse camerasExResponse = CLIENT.execute(new HikvisionGetCamerasExRequest(camerasEx));
final HikvisionGetCamerasExResult camerasExResult = camerasExResponse.getResult();
final String cameraUuid = camerasExResult.getData().getList().get(0).getCameraUuid();
final HikvisionGetNetZonesResponse netZonesResponse = CLIENT.execute(new HikvisionGetNetZonesRequest());
final List<HikvisionGetNetZonesResult.NetZone> netZones = netZonesResponse.getResult().getData();
netZones.forEach(netZone -> {
final HikvisionPreviewParamByCameraUuidResponse response = CLIENT.execute(
new HikvisionPreviewParamByCameraUuidRequest(
new HikvisiongetPreviewParamByCameraUuid(cameraUuid, netZone.getNetZoneUuid())));
System.out.println(response.getResult());
});
}
} }
<!DOCTYPE html>
<html lang="en">
<head>
<link href="https://vjs.zencdn.net/7.18.1/video-js.css" rel="stylesheet" />
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<video
id="my-video"
class="video-js"
controls
preload="auto"
width="640"
height="264"
poster="MY_VIDEO_POSTER.jpg"
data-setup="{}">
<source src="MY_VIDEO.mp4" type="video/mp4" />
<source src="MY_VIDEO.webm" type="video/webm" />
<p class="vjs-no-js">
To view this video please enable JavaScript, and consider upgrading to a
web browser that
<a href="https://videojs.com/html5-video-support/" target="_blank"
>supports HTML5 video</a
>
</p>
</video>
<script src="https://vjs.zencdn.net/7.18.1/video.min.js"></script>
</body>
</html>
{
"errorCode": 0,
"errorMessage": "fetchPreviewXml success!",
"data": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<previewInfo><camera guids=\"19052415352287106520_3\" encoderPwd=\"DdAPB9Ntuh0=\" encoderUserName=\"DYVQXYk=\" cameraChannelNum=\"1\" encoderModel=\"134742528\" cascade=\"0\" decodeTag=\"hikvision\" installPosition=\"0\" supportFishEye=\"0\" extraSupport=\"0\" url=\"rtsp://172.16.16.2:554/hikvision://172.16.16.232:8000:0:0?cnid=4&amp;pnid=4&amp;username=1&amp;password=1&amp;token=pt-1a1bQOxF7cVo79HYKK31dh9faUUB7ezL6yx4\" sysCode=\"ac95e3a8c51348c6b110358a0cb46b9a\" name=\"B-10F电梯厅\" id=\"260\"/><presetlist/><cruiselist/><server password=\"12345\" username=\"admin\" port=\"7302\" ip=\"172.16.16.2\" id=\"1\"/><vrmServer port=\"6300\" ip=\"172.16.16.2\"/><right ptzcfg=\"1\" ptzcontrol=\"1\" videoParamcfg=\"1\" record=\"1\"/><user locktime=\"30\" priority=\"100\" id=\"4\"/></previewInfo>"
}
<?xml version="1.0" encoding="UTF-8"?>
<previewInfo>
<camera guids="19052415352287106520_3" encoderPwd="DdAPB9Ntuh0=" encoderUserName="DYVQXYk=" cameraChannelNum="1"
encoderModel="134742528" cascade="0" decodeTag="hikvision" installPosition="0" supportFishEye="0"
extraSupport="0"
url="rtsp://172.16.16.2:554/hikvision://172.16.16.232:8000:0:0?cnid=4&amp;pnid=4&amp;username=1&amp;password=1&amp;token=pt-1Q1X1ncDBatzVXNdqBHc0hMXebedzndHMEtR"
sysCode="ac95e3a8c51348c6b110358a0cb46b9a" name="B-10F电梯厅" id="260"/>
<presetlist/>
<cruiselist/>
<server password="12345" username="admin" port="7302" ip="172.16.16.2" id="1"/>
<vrmServer port="6300" ip="172.16.16.2"/>
<right ptzcfg="1" ptzcontrol="1" videoParamcfg="1" record="1"/>
<user locktime="30" priority="100" id="4"/>
</previewInfo>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment