From 2d68f48eeb8f874240f7b02ff20dbf1e784271b4 Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期六, 29 七月 2023 08:28:38 +0800 Subject: [PATCH] 单兵端-新任务轮询接口-更新弹窗标记/统计弹窗未查看数量 --- ard-work/src/main/java/com/ruoyi/media/service/impl/MediaService.java | 56 ++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 38 insertions(+), 18 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/media/service/impl/MediaService.java b/ard-work/src/main/java/com/ruoyi/media/service/impl/MediaService.java index 01c3869..31a8fe7 100644 --- a/ard-work/src/main/java/com/ruoyi/media/service/impl/MediaService.java +++ b/ard-work/src/main/java/com/ruoyi/media/service/impl/MediaService.java @@ -15,8 +15,10 @@ import javax.annotation.PostConstruct; import javax.annotation.Resource; +import java.io.BufferedReader; import java.io.File; import java.io.IOException; +import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; @@ -38,32 +40,50 @@ @Value("${mediamtx.host}") String mediamtxHost; - @Async @PostConstruct public void initMediaMtx() { if (Platform.isWindows()) { String exePath = System.getProperty("user.dir") + File.separator + "lib" + File.separator + "mediamtx" + File.separator + "mediamtx.exe"; - try { - // 鏋勫缓鍚姩鍛戒护锛屼娇鐢╟md /c start鍛戒护鏉ュ惎鍔ㄥ彲鎵ц绋嬪簭骞舵樉绀哄懡浠ゆ彁绀虹绐楀彛 - String[] cmd = {"cmd", "/c", "start", exePath}; + String ymlPath = System.getProperty("user.dir") + File.separator + "lib" + File.separator + "mediamtx" + File.separator + "mediamtx.yml"; + // 鏋勫缓鍚姩鍛戒护锛屼娇鐢╟md /c start鍛戒护鏉ュ惎鍔ㄥ彲鎵ц绋嬪簭骞舵樉绀哄懡浠ゆ彁绀虹绐楀彛 +// String[] cmd = {"cmd", "/c", "start", exePath,ymlPath}; +// ProcessBuilder processBuilder = new ProcessBuilder(cmd); +// processBuilder.redirectErrorStream(true); // 灏嗛敊璇緭鍑洪噸瀹氬悜鍒版爣鍑嗚緭鍑� +// Process process = processBuilder.start(); + // 濡傛灉浣犳兂绛夊緟绋嬪簭瀹屾垚 + // int exitCode = process.waitFor(); + List<String> cmd = new ArrayList<>(); + cmd.add(exePath); + cmd.add(ymlPath); + commandStart(cmd); - ProcessBuilder processBuilder = new ProcessBuilder(cmd); - processBuilder.redirectErrorStream(true); // 灏嗛敊璇緭鍑洪噸瀹氬悜鍒版爣鍑嗚緭鍑� - - Process process = processBuilder.start(); - - // 濡傛灉浣犳兂绛夊緟绋嬪簭瀹屾垚 - int exitCode = process.waitFor(); - System.out.println("绋嬪簭閫�鍑轰唬鐮�: " + exitCode); - } catch (IOException | InterruptedException e) { - e.printStackTrace(); - } } } - + public static void commandStart(List<String> command) { + command.forEach(v -> System.out.print(v + " ")); + System.out.println(); + System.out.println(); + ProcessBuilder builder = new ProcessBuilder(); + //姝e父淇℃伅鍜岄敊璇俊鎭悎骞惰緭鍑� + builder.redirectErrorStream(true); + builder.command(command); + //寮�濮嬫墽琛屽懡浠� + Process process = null; + try { + process = builder.start(); + //濡傛灉浣犳兂鑾峰彇鍒版墽琛屽畬鍚庣殑淇℃伅锛岄偅涔堜笅闈㈢殑浠g爜涔熸槸闇�瑕佺殑 +// String line = ""; +// BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream())); +// while ((line = br.readLine()) != null) { +// System.out.println(line); +// } + } catch (IOException e) { + e.printStackTrace(); + } + } @Override public String addPath(String name, String rtspPath, String mode) { - String rtspUrl = "rtsp://" + mediamtxHost + ":8554/"; + String rtspUrl = "rtsp://" + mediamtxHost + ":7554/"; Conf mediaInfo = new Conf(); //-vcodec libx264 //鎸囧畾瑙嗛缂栫爜鍣ㄤ负 libx264锛屼娇鐢� H.264 缂栫爜鏍煎紡杩涜瑙嗛鍘嬬缉 //-preset ultrafast //--preset鐨勫弬鏁颁富瑕佽皟鑺傜紪鐮侀�熷害鍜岃川閲忕殑骞宠 锛屾湁ultrafast锛堣浆鐮侀�熷害鏈�蹇紝瑙嗛寰�寰�涔熸渶妯$硦锛夈�乻uperfast銆乿eryfast銆乫aster銆乫ast銆乵edium銆乻low銆乻lower銆乿eryslow銆乸lacebo杩�10涓�夐」锛屼粠蹇埌鎱� @@ -227,7 +247,7 @@ String name = item.getName(); info.setName(name); //RTSP鎾斁鍦板潃 - String rtspUrl = "rtsp://" + mediamtxHost + ":8554/" + name; + String rtspUrl = "rtsp://" + mediamtxHost + ":7554/" + name; info.setRtspUrl(rtspUrl); Source source = item.getSource(); if (source == null) { -- Gitblit v1.9.3