From f1c4287611fc90eaf85bffc88c7c6352287398a2 Mon Sep 17 00:00:00 2001 From: zxb <919411476@qq.com> Date: Wed, 16 Aug 2023 15:49:56 +0800 Subject: [PATCH] =?UTF-8?q?ssrc=20=E7=A0=81=E6=B5=81=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iot/vmp/media/zlm/AssistRESTfulUtils.java | 72 +++++++++---------- .../service/impl/MediaServerServiceImpl.java | 2 +- .../iot/vmp/vmanager/ps/PsController.java | 36 +++++----- .../iot/vmp/vmanager/rtp/RtpController.java | 22 +++--- 4 files changed, 66 insertions(+), 66 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/AssistRESTfulUtils.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/AssistRESTfulUtils.java index cf71bf1d..8ddd3ce9 100644 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/AssistRESTfulUtils.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/AssistRESTfulUtils.java @@ -73,51 +73,51 @@ public class AssistRESTfulUtils { .get() .url(url) .build(); - if (callback == null) { - try { - Response response = client.newCall(request).execute(); + if (callback == null) { + try { + Response response = client.newCall(request).execute(); + if (response.isSuccessful()) { + ResponseBody responseBody = response.body(); + if (responseBody != null) { + String responseStr = responseBody.string(); + responseJSON = JSON.parseObject(responseStr); + } + }else { + response.close(); + Objects.requireNonNull(response.body()).close(); + } + } catch (ConnectException e) { + logger.error(String.format("连接Assist失败: %s, %s", e.getCause().getMessage(), e.getMessage())); + logger.info("请检查media配置并确认Assist已启动..."); + }catch (IOException e) { + logger.error(String.format("[ %s ]请求失败: %s", url, e.getMessage())); + } + }else { + client.newCall(request).enqueue(new Callback(){ + + @Override + public void onResponse(@NotNull Call call, @NotNull Response response){ if (response.isSuccessful()) { - ResponseBody responseBody = response.body(); - if (responseBody != null) { - String responseStr = responseBody.string(); - responseJSON = JSON.parseObject(responseStr); + try { + String responseStr = Objects.requireNonNull(response.body()).string(); + callback.run(JSON.parseObject(responseStr)); + } catch (IOException e) { + logger.error(String.format("[ %s ]请求失败: %s", url, e.getMessage())); } + }else { response.close(); Objects.requireNonNull(response.body()).close(); } - } catch (ConnectException e) { + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { logger.error(String.format("连接Assist失败: %s, %s", e.getCause().getMessage(), e.getMessage())); logger.info("请检查media配置并确认Assist已启动..."); - }catch (IOException e) { - logger.error(String.format("[ %s ]请求失败: %s", url, e.getMessage())); } - }else { - client.newCall(request).enqueue(new Callback(){ - - @Override - public void onResponse(@NotNull Call call, @NotNull Response response){ - if (response.isSuccessful()) { - try { - String responseStr = Objects.requireNonNull(response.body()).string(); - callback.run(JSON.parseObject(responseStr)); - } catch (IOException e) { - logger.error(String.format("[ %s ]请求失败: %s", url, e.getMessage())); - } - - }else { - response.close(); - Objects.requireNonNull(response.body()).close(); - } - } - - @Override - public void onFailure(@NotNull Call call, @NotNull IOException e) { - logger.error(String.format("连接Assist失败: %s, %s", e.getCause().getMessage(), e.getMessage())); - logger.info("请检查media配置并确认Assist已启动..."); - } - }); - } + }); + } diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java index 6bbb4bc3..a8aa8def 100755 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java @@ -600,7 +600,7 @@ public class MediaServerServiceImpl implements IMediaServerService { param.put("protocol.continue_push_ms", "3000" ); // 最多等待未初始化的Track时间,单位毫秒,超时之后会忽略未初始化的Track, 设置此选项优化那些音频错误的不规范流, // 等zlm支持给每个rtpServer设置关闭音频的时候可以不设置此选项 -// param.put("general.wait_track_ready_ms", "3000" ); + // param.put("general.wait_track_ready_ms", "3000" ); if (mediaServerItem.isRtpEnable() && !ObjectUtils.isEmpty(mediaServerItem.getRtpPortRange())) { param.put("rtp_proxy.port_range", mediaServerItem.getRtpPortRange().replace(",", "-")); } diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/ps/PsController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/ps/PsController.java index d5fbf43a..cfe8f7db 100755 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/ps/PsController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/ps/PsController.java @@ -185,7 +185,7 @@ public class PsController { String stream, String callId, Boolean isUdp - ) { + ) { logger.info("[第三方PS服务对接->发送流] " + "ssrc->{}, \r\n" + "dstIp->{}, \n" + @@ -193,12 +193,12 @@ public class PsController { "app->{}, \n" + "stream->{}, \n" + "callId->{} \n", - ssrc, - dstIp, - dstPort, - app, - stream, - callId); + ssrc, + dstIp, + dstPort, + app, + stream, + callId); MediaServerItem mediaServerItem = mediaServerService.getDefaultMediaServer(); String key = VideoManagerConstants.WVP_OTHER_SEND_PS_INFO + userSetting.getServerId() + "_" + callId; OtherPsSendInfo sendInfo = (OtherPsSendInfo)redisTemplate.opsForValue().get(key); @@ -305,17 +305,17 @@ public class PsController { public int getTestPort() { MediaServerItem defaultMediaServer = mediaServerService.getDefaultMediaServer(); -// for (int i = 0; i <300; i++) { -// new Thread(() -> { -// int nextPort = sendRtpPortManager.getNextPort(defaultMediaServer); -// try { -// Thread.sleep((int)Math.random()*10); -// } catch (InterruptedException e) { -// throw new RuntimeException(e); -// } -// System.out.println(nextPort); -// }).start(); -// } + // for (int i = 0; i <300; i++) { + // new Thread(() -> { + // int nextPort = sendRtpPortManager.getNextPort(defaultMediaServer); + // try { + // Thread.sleep((int)Math.random()*10); + // } catch (InterruptedException e) { + // throw new RuntimeException(e); + // } + // System.out.println(nextPort); + // }).start(); + // } return sendRtpPortManager.getNextPort(defaultMediaServer); } diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/rtp/RtpController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/rtp/RtpController.java index a579c48c..ba190a1e 100755 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/rtp/RtpController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/rtp/RtpController.java @@ -198,7 +198,7 @@ public class RtpController { Boolean isUdp, @RequestParam(required = false)Integer ptForAudio, @RequestParam(required = false)Integer ptForVideo - ) { + ) { logger.info("[第三方服务对接->发送流] " + "ssrc->{}, \r\n" + "dstIpForAudio->{}, \n" + @@ -210,16 +210,16 @@ public class RtpController { "callId->{}, \n" + "ptForAudio->{}, \n" + "ptForVideo->{}", - ssrc, - dstIpForAudio, - dstIpForVideo, - dstPortForAudio, - dstPortForVideo, - app, - stream, - callId, - ptForAudio, - ptForVideo); + ssrc, + dstIpForAudio, + dstIpForVideo, + dstPortForAudio, + dstPortForVideo, + app, + stream, + callId, + ptForAudio, + ptForVideo); if (!((dstPortForAudio > 0 && !ObjectUtils.isEmpty(dstPortForAudio) || (dstPortForVideo > 0 && !ObjectUtils.isEmpty(dstIpForVideo))))) { throw new ControllerException(ErrorCode.ERROR400.getCode(), "至少应该存在一组音频或视频发送参数"); }