云端录像回放使用单文件播放

This commit is contained in:
lin
2025-09-19 18:02:53 +08:00
parent a064f27bf8
commit fd306d8ede
14 changed files with 171 additions and 62 deletions

View File

@@ -97,6 +97,9 @@ public class StreamContent {
@Schema(description = "结束时间")
private String endTime;
@Schema(description = "时长(回放时使用)")
private Double duration;
@Schema(description = "文件下载地址(录像下载使用)")
private DownloadFileInfo downLoadFilePath;
@@ -185,6 +188,7 @@ public class StreamContent {
this.startTime = streamInfo.getStartTime();
this.endTime = streamInfo.getEndTime();
this.progress = streamInfo.getProgress();
this.duration = streamInfo.getDuration();
this.key = streamInfo.getKey();
if (streamInfo.getDownLoadFilePath() != null) {

View File

@@ -253,17 +253,17 @@ public class CloudRecordController {
@Operation(summary = "加载录像文件形成播放地址")
@Parameter(name = "app", description = "应用名", required = true)
@Parameter(name = "stream", description = "流ID", required = true)
@Parameter(name = "date", description = "日期, 例如 2025-04-10", required = true)
@Parameter(name = "cloudRecordId", description = "云端录像ID", required = true)
public DeferredResult<WVPResult<StreamContent>> loadRecord(
HttpServletRequest request,
@RequestParam(required = true) String app,
@RequestParam(required = true) String stream,
@RequestParam(required = true) String date
@RequestParam(required = true) int cloudRecordId
) {
DeferredResult<WVPResult<StreamContent>> result = new DeferredResult<>();
result.onTimeout(()->{
log.info("[加载录像文件超时] app={}, stream={}, date={}", app, stream, date);
log.info("[加载录像文件超时] app={}, stream={}, cloudRecordId={}", app, stream, cloudRecordId);
WVPResult<StreamContent> wvpResult = new WVPResult<>();
wvpResult.setCode(ErrorCode.ERROR100.getCode());
wvpResult.setMsg("加载录像文件超时");
@@ -304,7 +304,7 @@ public class CloudRecordController {
result.setResult(wvpResult);
};
cloudRecordService.loadRecord(app, stream, date, callback);
cloudRecordService.loadMP4File(app, stream, cloudRecordId, callback);
return result;
}