添加 设备视频下载接口 /device/video.mp4
This commit is contained in:
parent
845d049ad5
commit
6d1dfc6445
@ -1,6 +1,8 @@
|
||||
package cn.skcks.docking.gb28181.wvp.api.video;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.skcks.docking.gb28181.media.config.ZlmMediaConfig;
|
||||
import cn.skcks.docking.gb28181.wvp.api.video.dto.VideoMp4Req;
|
||||
import cn.skcks.docking.gb28181.wvp.api.video.dto.VideoReq;
|
||||
import cn.skcks.docking.gb28181.wvp.config.SwaggerConfig;
|
||||
import cn.skcks.docking.gb28181.wvp.config.WvpProxyConfig;
|
||||
@ -22,6 +24,8 @@ import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Slf4j
|
||||
@Tag(name = "视频api")
|
||||
@Controller
|
||||
@ -41,7 +45,7 @@ public class VideoController {
|
||||
return SwaggerConfig.api("VideoApi", "/video");
|
||||
}
|
||||
|
||||
@Operation(summary = "获取视频 (目前仅供测试)")
|
||||
@Operation(summary = "获取视频 (返回视频流)")
|
||||
@GetMapping(produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
|
||||
@ResponseBody
|
||||
public void video(HttpServletRequest request, HttpServletResponse response, @ParameterObject VideoReq req) {
|
||||
@ -51,4 +55,13 @@ public class VideoController {
|
||||
gb28181DownloadService.video(request,response,req.getDeviceCode(), req.getStartTime(), req.getEndTime(), req.getFileHeader());
|
||||
}
|
||||
}
|
||||
|
||||
@Operation(summary = "获取视频 (返回视频流)")
|
||||
@GetMapping(value = "/device/video.mp4",produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
|
||||
@ResponseBody
|
||||
public void video(HttpServletRequest request, HttpServletResponse response, @ParameterObject VideoMp4Req req) {
|
||||
Date startTime = DateUtil.date(req.getStartTime());
|
||||
Date endTime = DateUtil.date(req.getEndTime());
|
||||
gb28181DownloadService.video(request,response,req.getDeviceCode(), startTime, endTime, req.getFileHeader());
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,26 @@
|
||||
package cn.skcks.docking.gb28181.wvp.api.video.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public class VideoMp4Req {
|
||||
|
||||
@NotBlank(message = "设备编码 不能为空")
|
||||
@Schema(description = "设备编码")
|
||||
private String deviceCode;
|
||||
|
||||
@Schema(description = "开始时间 (毫秒)",example = "1695593100207")
|
||||
@NotBlank(message = "开始时间 不能为空")
|
||||
private Long startTime;
|
||||
|
||||
@Schema(description = "结束时间 (毫秒)",example = "1695593190207")
|
||||
@NotBlank(message = "结束时间 不能为空")
|
||||
private Long endTime;
|
||||
|
||||
@Schema(description = "http 头是否需要文件名 (没有文件名时浏览器会试图直接播放,会导致短时间内重复访问同一设备,导致失败)")
|
||||
private Boolean fileHeader = true;
|
||||
}
|
Loading…
Reference in New Issue
Block a user