package com.ard.zlm.domain;
|
|
import com.ard.zlm.mediaServer.MediaRecordMp4Event;
|
import com.ard.zlm.mediaServer.MediaRecordProcessEvent;
|
import com.ard.zlm.api.utils.MediaServerUtils;
|
import lombok.Data;
|
|
import java.util.Map;
|
|
/**
|
* 云端录像数据
|
*/
|
@Data
|
public class CloudRecordItem {
|
/**
|
* 主键
|
*/
|
private int id;
|
|
/**
|
* 应用名
|
*/
|
private String app;
|
|
/**
|
* 流
|
*/
|
private String stream;
|
|
/**
|
* 健全ID
|
*/
|
private String callId;
|
|
/**
|
* 开始时间
|
*/
|
private long startTime;
|
|
/**
|
* 结束时间
|
*/
|
private long endTime;
|
|
/**
|
* ZLM Id
|
*/
|
private String mediaServerId;
|
|
/**
|
* 文件名称
|
*/
|
private String fileName;
|
|
/**
|
* 文件路径
|
*/
|
private String filePath;
|
|
/**
|
* 文件夹
|
*/
|
private String folder;
|
|
/**
|
* 收藏,收藏的文件不移除
|
*/
|
private Boolean collect;
|
|
/**
|
* 保留,收藏的文件不移除
|
*/
|
private Boolean reserve;
|
|
/**
|
* 文件大小
|
*/
|
private long fileSize;
|
|
/**
|
* 文件时长
|
*/
|
private double timeLen;
|
|
/**
|
* 所属服务ID
|
*/
|
private String serverId;
|
|
public static CloudRecordItem getInstance(MediaRecordMp4Event param) {
|
CloudRecordItem cloudRecordItem = new CloudRecordItem();
|
cloudRecordItem.setApp(param.getApp());
|
cloudRecordItem.setStream(param.getStream());
|
cloudRecordItem.setStartTime(param.getRecordInfo().getStartTime());
|
cloudRecordItem.setFileName(param.getRecordInfo().getFileName());
|
cloudRecordItem.setFolder(param.getRecordInfo().getFolder());
|
cloudRecordItem.setFileSize(param.getRecordInfo().getFileSize());
|
cloudRecordItem.setFilePath(param.getRecordInfo().getFilePath());
|
cloudRecordItem.setMediaServerId(param.getMediaServer().getId());
|
cloudRecordItem.setTimeLen(param.getRecordInfo().getTimeLen());
|
cloudRecordItem.setEndTime((param.getRecordInfo().getStartTime() + (long)param.getRecordInfo().getTimeLen()));
|
Map<String, String> paramsMap = MediaServerUtils.urlParamToMap(param.getRecordInfo().getParams());
|
if (paramsMap.get("callId") != null) {
|
cloudRecordItem.setCallId(paramsMap.get("callId"));
|
}
|
return cloudRecordItem;
|
}
|
|
public static CloudRecordItem getInstance(MediaRecordProcessEvent event) {
|
CloudRecordItem cloudRecordItem = new CloudRecordItem();
|
cloudRecordItem.setApp(event.getApp());
|
cloudRecordItem.setStream(event.getStream());
|
cloudRecordItem.setFileName(event.getFileName());
|
cloudRecordItem.setMediaServerId(event.getMediaServer().getId());
|
cloudRecordItem.setTimeLen(event.getCurrentFileDuration() * 1000);
|
return cloudRecordItem;
|
}
|
|
}
|