From e94241fc70d1308ea88fec5b57e771c6ecad1cee Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期六, 29 七月 2023 10:37:57 +0800 Subject: [PATCH] 推送app位置优化在线离线 --- ard-work/src/main/java/com/ruoyi/media/service/impl/MediaService.java | 52 ++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 38 insertions(+), 14 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 9a417f4..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; @@ -43,23 +45,45 @@ if (Platform.isWindows()) { String exePath = System.getProperty("user.dir") + File.separator + "lib" + File.separator + "mediamtx" + File.separator + "mediamtx.exe"; String ymlPath = System.getProperty("user.dir") + File.separator + "lib" + File.separator + "mediamtx" + File.separator + "mediamtx.yml"; - try { - // 鏋勫缓鍚姩鍛戒护锛屼娇鐢╟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(); - } catch (IOException | InterruptedException e) { - e.printStackTrace(); - } + // 鏋勫缓鍚姩鍛戒护锛屼娇鐢╟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); + } } - + 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涓�夐」锛屼粠蹇埌鎱� @@ -223,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