liusuyi
2026-06-01 a2e7e8ff9cfaa69b001d483710bddbda50d55c91
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
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;
    }
 
}