增加设备状态保持任务
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)
|
||||
|
||||
# 应用场景:
|
||||
支持浏览器无插件播放摄像头视频。
|
||||
支持国标设备(摄像机、平台、NVR等)设备接入
|
||||
支持rtsp, rtmp,直播设备设备接入,充分利旧。
|
||||
支持国标级联。多平台级联。跨网视频预览。
|
||||
支持跨网网闸平台互联。
|
||||
- 支持浏览器无插件播放摄像头视频。
|
||||
- 支持国标设备(摄像机、平台、NVR等)设备接入
|
||||
- 支持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