From 0bcebc8c3051d607041d3014ecd2a229e529ee10 Mon Sep 17 00:00:00 2001 From: shikong <919411476@qq.com> Date: Thu, 7 Sep 2023 10:36:55 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=20=E5=BD=95=E5=88=B6?= =?UTF-8?q?=E6=97=B6=E9=95=BF=20=E5=92=8C=20=E8=B6=85=E6=97=B6=E6=8E=A7?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gb28181/wvp/service/video/RecordService.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/service/video/RecordService.java b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/service/video/RecordService.java index 2b56364..8af1b6f 100644 --- a/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/service/video/RecordService.java +++ b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/service/video/RecordService.java @@ -33,19 +33,19 @@ public class RecordService { } @SneakyThrows - public void record(HttpServletRequest request, HttpServletResponse response, String url, long timeout) { + public void record(HttpServletRequest request, HttpServletResponse response, String url, long time) { AsyncContext asyncContext = request.startAsync(); asyncContext.setTimeout(0); asyncContext.start(() -> { header(response); - record(asyncContext.getResponse(), url, timeout); + record(asyncContext.getResponse(), url, time, 60); log.info("record 结束"); asyncContext.complete(); }); } @SneakyThrows - public void record(ServletResponse response, String url, long timeout) { + public void record(ServletResponse response, String url, long time ,long timeout) { // response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); Path tmp = Path.of(System.getProperty("java.io.tmpdir"), IdUtil.getSnowflakeNextIdStr()).toAbsolutePath(); File file = new File(tmp + ".mp4"); @@ -69,8 +69,8 @@ public class RecordService { scheduledExecutorService.schedule(() -> { log.info("到达超时时间, 结束录制"); record.set(false); - }, timeout + 60, TimeUnit.SECONDS); - long maxTime = TimeUnit.SECONDS.toMicros(timeout); + }, time + timeout, TimeUnit.SECONDS); + long maxTime = TimeUnit.SECONDS.toMicros(time); try { Frame frame; while (!recorder.isCloseOutputStream() && record.get() && (frame = grabber.grab()) != null) {