增加设备状态保持任务
This commit is contained in:
10
README.md
10
README.md
@@ -16,11 +16,11 @@ WEB VIDEO PLATFORM是一个基于GB28181-2016标准实现的开箱即用的网
|
|||||||
前端页面基于vue-admin-template构建 [https://github.com/PanJiaChen/vue-admin-template?tab=readme-ov-file](https://github.com/PanJiaChen/vue-admin-template?tab=readme-ov-file)
|
前端页面基于vue-admin-template构建 [https://github.com/PanJiaChen/vue-admin-template?tab=readme-ov-file](https://github.com/PanJiaChen/vue-admin-template?tab=readme-ov-file)
|
||||||
|
|
||||||
# 应用场景:
|
# 应用场景:
|
||||||
支持浏览器无插件播放摄像头视频。
|
- 支持浏览器无插件播放摄像头视频。
|
||||||
支持国标设备(摄像机、平台、NVR等)设备接入
|
- 支持国标设备(摄像机、平台、NVR等)设备接入
|
||||||
支持rtsp, rtmp,直播设备设备接入,充分利旧。
|
- 支持rtsp, rtmp,直播设备设备接入,充分利旧。
|
||||||
支持国标级联。多平台级联。跨网视频预览。
|
- 支持国标级联。多平台级联。跨网视频预览。
|
||||||
支持跨网网闸平台互联。
|
- 支持跨网网闸平台互联。
|
||||||
|
|
||||||
|
|
||||||
# 文档
|
# 文档
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package com.genersoft.iot.vmp.common;
|
||||||
|
|
||||||
|
import com.genersoft.iot.vmp.gb28181.bean.SipTransactionInfo;
|
||||||
|
|
||||||
|
public interface DeviceStatusCallback {
|
||||||
|
public void run(String deviceId, SipTransactionInfo transactionInfo);
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
package com.genersoft.iot.vmp.gb28181.task.deviceStatus;
|
||||||
|
|
||||||
|
import com.genersoft.iot.vmp.common.DeviceStatusCallback;
|
||||||
|
import com.genersoft.iot.vmp.gb28181.bean.SipTransactionInfo;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import java.util.concurrent.Delayed;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public abstract class DeviceStatusTask implements Delayed {
|
||||||
|
|
||||||
|
private String deviceId;
|
||||||
|
|
||||||
|
private DeviceStatusCallback callback;
|
||||||
|
|
||||||
|
private SipTransactionInfo transactionInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 超时时间(单位: 毫秒)
|
||||||
|
*/
|
||||||
|
private long delayTime;
|
||||||
|
|
||||||
|
public abstract void expired();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long getDelay(@NotNull TimeUnit unit) {
|
||||||
|
return unit.convert(delayTime - System.currentTimeMillis(), TimeUnit.MILLISECONDS);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int compareTo(@NotNull Delayed o) {
|
||||||
|
return (int) (this.getDelay(TimeUnit.MILLISECONDS) - o.getDelay(TimeUnit.MILLISECONDS));
|
||||||
|
}
|
||||||
|
|
||||||
|
public DeviceStatusTaskInfo getInfo(){
|
||||||
|
DeviceStatusTaskInfo taskInfo = new DeviceStatusTaskInfo();
|
||||||
|
taskInfo.setTransactionInfo(transactionInfo);
|
||||||
|
taskInfo.setDeviceId(deviceId);
|
||||||
|
return taskInfo;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.genersoft.iot.vmp.gb28181.task.deviceStatus;
|
||||||
|
|
||||||
|
import com.genersoft.iot.vmp.gb28181.bean.SipTransactionInfo;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class DeviceStatusTaskInfo{
|
||||||
|
|
||||||
|
private String deviceId;
|
||||||
|
|
||||||
|
private SipTransactionInfo transactionInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 过期时间
|
||||||
|
*/
|
||||||
|
private long expireTime;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user