package com.ard.zlm.domain; import com.ard.zlm.api.domain.ZlmCloudRecord; import com.ard.zlm.hook.OnRecordMp4ABLHookParam; import com.ard.zlm.hook.OnRecordMp4HookParam; import com.ard.zlm.utils.DateUtil; import lombok.Data; @Data public class RecordInfo { private String app; private String stream; private String fileName; private String filePath; private long fileSize; private String folder; private String url; /** * 单位毫秒 */ private long startTime; /** * 单位毫秒 */ private double timeLen; private String params; public static RecordInfo getInstance(OnRecordMp4HookParam hookParam) { RecordInfo recordInfo = new RecordInfo(); recordInfo.setApp(hookParam.getApp()); recordInfo.setStream(hookParam.getStream()); recordInfo.setFileName(hookParam.getFile_name()); recordInfo.setUrl(hookParam.getUrl()); recordInfo.setFolder(hookParam.getFolder()); recordInfo.setFilePath(hookParam.getFile_path()); recordInfo.setFileSize(hookParam.getFile_size()); recordInfo.setStartTime(hookParam.getStart_time() * 1000); recordInfo.setTimeLen(hookParam.getTime_len() * 1000); return recordInfo; } public static RecordInfo getInstance(OnRecordMp4ABLHookParam hookParam) { RecordInfo recordInfo = new RecordInfo(); recordInfo.setApp(hookParam.getApp()); recordInfo.setStream(hookParam.getStream()); recordInfo.setFileName(hookParam.getFileName()); recordInfo.setStartTime(DateUtil.urlToTimestampMs(hookParam.getStartTime())); recordInfo.setTimeLen(DateUtil.urlToTimestampMs(hookParam.getEndTime()) - recordInfo.getStartTime()); recordInfo.setFileSize(hookParam.getFileSize()); return recordInfo; } public static RecordInfo getInstance(CloudRecordItem cloudRecordItem) { RecordInfo recordInfo = new RecordInfo(); recordInfo.setApp(cloudRecordItem.getApp()); recordInfo.setStream(cloudRecordItem.getStream()); recordInfo.setFileName(cloudRecordItem.getFileName()); recordInfo.setStartTime(cloudRecordItem.getStartTime()); recordInfo.setTimeLen(cloudRecordItem.getTimeLen()); recordInfo.setFileSize(cloudRecordItem.getFileSize()); recordInfo.setFilePath(cloudRecordItem.getFilePath()); return recordInfo; } public static RecordInfo getInstance(ZlmCloudRecord zlmCloudRecord) { RecordInfo recordInfo = new RecordInfo(); recordInfo.setApp(zlmCloudRecord.getApp()); recordInfo.setStream(zlmCloudRecord.getStream()); recordInfo.setFileName(zlmCloudRecord.getFileName()); recordInfo.setStartTime(zlmCloudRecord.getStartTime()); recordInfo.setTimeLen(zlmCloudRecord.getTimeLen()); recordInfo.setFileSize(zlmCloudRecord.getFileSize()); recordInfo.setFilePath(zlmCloudRecord.getFilePath()); return recordInfo; } @Override public String toString() { return "RecordInfo{" + "文件名称='" + fileName + '\'' + ", 文件路径='" + filePath + '\'' + ", 文件大小=" + fileSize + ", 开始时间=" + startTime + ", 时长=" + timeLen + ", params=" + params + '}'; } }