将录像存储路径迁移至wvp中配置,assist以有在需要视频合成的时候才会用

This commit is contained in:
648540858
2023-11-01 14:07:32 +08:00
parent 75fccfaf17
commit 5d3f307b44
13 changed files with 69 additions and 66 deletions

View File

@@ -41,8 +41,8 @@ public class CloudRecordTimer {
/**
* 定时查询待删除的录像文件
*/
// @Scheduled(fixedRate = 5000) //每五秒执行一次,方便测试
@Scheduled(cron = "0 0 0 * * ?") //每天的0点执行
// @Scheduled(fixedRate = 5000)
public void execute(){
logger.info("[录像文件定时清理] 开始清理过期录像文件");
// 获取配置了assist的流媒体节点
@@ -54,10 +54,10 @@ public class CloudRecordTimer {
for (MediaServerItem mediaServerItem : mediaServerItemList) {
Calendar lastCalendar = Calendar.getInstance();
if (mediaServerItem.getRecordDate() > 0) {
if (mediaServerItem.getRecordDay() > 0) {
lastCalendar.setTime(new Date());
// 获取保存的最后截至日期,因为每个节点都有一个日期,也就是支持每个节点设置不同的保存日期,
lastCalendar.add(Calendar.DAY_OF_MONTH, -mediaServerItem.getRecordDate());
lastCalendar.add(Calendar.DAY_OF_MONTH, -mediaServerItem.getRecordDay());
Long lastDate = lastCalendar.getTimeInMillis();
// 获取到截至日期之前的录像文件列表,文件列表满足未被收藏和保持的。这两个字段目前共能一致,
@@ -66,22 +66,16 @@ public class CloudRecordTimer {
if (cloudRecordItemList.isEmpty()) {
continue;
}
List<Integer> cloudRecordItemIdList = new ArrayList<>();
for (CloudRecordItem cloudRecordItem : cloudRecordItemList) {
String date = new File(cloudRecordItem.getFilePath()).getParentFile().getName();
JSONObject jsonObject = zlmresTfulUtils.deleteRecordDirectory(mediaServerItem, cloudRecordItem.getApp(),
cloudRecordItem.getStream(), date, cloudRecordItem.getFileName());
if (jsonObject.getInteger("code") == 0) {
cloudRecordItemIdList.add(cloudRecordItem.getId());
}else {
logger.warn("[录像文件定时清理] 删除磁盘文件错误: {}", jsonObject);
logger.warn("[录像文件定时清理] 删除磁盘文件错误: {}:{}", cloudRecordItem.getFilePath(), jsonObject);
}
}
if (cloudRecordItemIdList.isEmpty()) {
continue;
}
cloudRecordServiceMapper.deleteList(cloudRecordItemIdList, mediaServerItem.getId());
result += cloudRecordItemIdList.size();
result += cloudRecordServiceMapper.deleteList(cloudRecordItemList);
}
}
logger.info("[录像文件定时清理] 共清理{}个过期录像文件", result);

View File

@@ -81,6 +81,12 @@ public class MediaConfig{
@Value("${media.record-assist-port:0}")
private Integer recordAssistPort = 0;
@Value("${media.record-date:7}")
private Integer recordDay = 7;
@Value("${media.record-path}")
private String recordPath;
public String getId() {
return id;
}
@@ -212,13 +218,32 @@ public class MediaConfig{
mediaServerItem.setSendRtpPortRange(rtpSendPortRange);
mediaServerItem.setRecordAssistPort(recordAssistPort);
mediaServerItem.setHookAliveInterval(30.00f);
mediaServerItem.setRecordDay(recordDay);
if (recordPath != null) {
mediaServerItem.setRecordPath(recordPath);
}
mediaServerItem.setCreateTime(DateUtil.getNow());
mediaServerItem.setUpdateTime(DateUtil.getNow());
return mediaServerItem;
}
public Integer getRecordDay() {
return recordDay;
}
public void setRecordDay(Integer recordDay) {
this.recordDay = recordDay;
}
public String getRecordPath() {
return recordPath;
}
public void setRecordPath(String recordPath) {
this.recordPath = recordPath;
}
public String getRtpSendPortRange() {
return rtpSendPortRange;
}

View File

@@ -56,8 +56,6 @@ public class UserSetting {
private String serverId = "000000";
private String recordPath = null;
private String thirdPartyGBIdReg = "[\\s\\S]*";
private String civilCodeFile = "classpath:civilCode.csv";
@@ -252,14 +250,6 @@ public class UserSetting {
this.refuseChannelStatusChannelFormNotify = refuseChannelStatusChannelFormNotify;
}
public String getRecordPath() {
return recordPath;
}
public void setRecordPath(String recordPath) {
this.recordPath = recordPath;
}
public int getMaxNotifyCountQueue() {
return maxNotifyCountQueue;
}