From f458c9b79334b88683044ae7ccaab29504700e73 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期三, 10 四月 2024 22:38:12 +0800 Subject: [PATCH] 优化代码调用 --- src/main/java/com/genersoft/iot/vmp/vmanager/ps/PsController.java | 49 +++++++++---------------------------------------- 1 files changed, 9 insertions(+), 40 deletions(-) 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 7f1c869..74e155b 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 @@ -6,6 +6,7 @@ import com.genersoft.iot.vmp.conf.UserSetting; import com.genersoft.iot.vmp.conf.exception.ControllerException; import com.genersoft.iot.vmp.conf.security.JwtUtils; +import com.genersoft.iot.vmp.gb28181.bean.SendRtpItem; import com.genersoft.iot.vmp.media.event.hook.Hook; import com.genersoft.iot.vmp.media.event.hook.HookType; import com.genersoft.iot.vmp.media.zlm.SendRtpPortManager; @@ -44,9 +45,6 @@ public class PsController { private final static Logger logger = LoggerFactory.getLogger(PsController.class); - - @Autowired - private ZLMServerFactory zlmServerFactory; @Autowired private HookSubscribe hookSubscribe; @@ -209,35 +207,12 @@ sendInfo.setPushApp(app); sendInfo.setPushStream(stream); sendInfo.setPushSSRC(ssrc); - - Map<String, Object> param; - - - param = new HashMap<>(); - param.put("vhost","__defaultVhost__"); - param.put("app",app); - param.put("stream",stream); - param.put("ssrc", ssrc); - - param.put("dst_url", dstIp); - param.put("dst_port", dstPort); - String is_Udp = isUdp ? "1" : "0"; - param.put("is_udp", is_Udp); - param.put("src_port", sendInfo.getSendLocalPort()); - - + SendRtpItem sendRtpItem = SendRtpItem.getInstance(app, stream, ssrc, dstIp, dstPort, !isUdp, sendInfo.getSendLocalPort(), null); Boolean streamReady = mediaServerService.isStreamReady(mediaServer, app, stream); if (streamReady) { - JSONObject jsonObject = zlmServerFactory.startSendRtpStream(mediaServer, param); -// mediaServerService.startSendRtp(mediaServer, ); - if (jsonObject.getInteger("code") == 0) { - logger.info("[绗笁鏂筆S鏈嶅姟瀵规帴->鍙戦�佹祦] 瑙嗛娴佸彂娴佹垚鍔燂紝callId->{}锛宲aram->{}", callId, param); - redisTemplate.opsForValue().set(key, sendInfo); - }else { - redisTemplate.delete(key); - logger.info("[绗笁鏂筆S鏈嶅姟瀵规帴->鍙戦�佹祦] 瑙嗛娴佸彂娴佸け璐ワ紝callId->{}, {}", callId, jsonObject.getString("msg")); - throw new ControllerException(ErrorCode.ERROR100.getCode(), "[瑙嗛娴佸彂娴佸け璐 " + jsonObject.getString("msg")); - } + mediaServerService.startSendRtp(mediaServer, null, sendRtpItem); + logger.info("[绗笁鏂筆S鏈嶅姟瀵规帴->鍙戦�佹祦] 瑙嗛娴佸彂娴佹垚鍔燂紝callId->{}锛宲aram->{}", callId, sendRtpItem); + redisTemplate.opsForValue().set(key, sendInfo); }else { logger.info("[绗笁鏂筆S鏈嶅姟瀵规帴->鍙戦�佹祦] 娴佷笉瀛樺湪锛岀瓑寰呮祦涓婄嚎锛宑allId->{}", callId); String uuid = UUID.randomUUID().toString(); @@ -260,15 +235,9 @@ } catch (InterruptedException e) { throw new RuntimeException(e); } - JSONObject jsonObject = zlmServerFactory.startSendRtpStream(mediaServer, param); - if (jsonObject.getInteger("code") == 0) { - logger.info("[绗笁鏂筆S鏈嶅姟瀵规帴->鍙戦�佹祦] 瑙嗛娴佸彂娴佹垚鍔燂紝callId->{}锛宲aram->{}", callId, param); - redisTemplate.opsForValue().set(key, finalSendInfo); - }else { - redisTemplate.delete(key); - logger.info("[绗笁鏂筆S鏈嶅姟瀵规帴->鍙戦�佹祦] 瑙嗛娴佸彂娴佸け璐ワ紝callId->{}, {}", callId, jsonObject.getString("msg")); - throw new ControllerException(ErrorCode.ERROR100.getCode(), "[瑙嗛娴佸彂娴佸け璐 " + jsonObject.getString("msg")); - } + mediaServerService.startSendRtp(mediaServer, null, sendRtpItem); + logger.info("[绗笁鏂筆S鏈嶅姟瀵规帴->鍙戦�佹祦] 瑙嗛娴佸彂娴佹垚鍔燂紝callId->{}锛宲aram->{}", callId, sendRtpItem); + redisTemplate.opsForValue().set(key, finalSendInfo); hookSubscribe.removeSubscribe(hook); }); } @@ -291,7 +260,7 @@ param.put("stream",sendInfo.getPushStream()); param.put("ssrc",sendInfo.getPushSSRC()); MediaServer mediaServerItem = mediaServerService.getDefaultMediaServer(); - Boolean result = zlmServerFactory.stopSendRtpStream(mediaServerItem, param); + boolean result = mediaServerService.stopSendRtp(mediaServerItem, sendInfo.getPushApp(), sendInfo.getStream(), sendInfo.getPushSSRC()); if (!result) { logger.info("[绗笁鏂筆S鏈嶅姟瀵规帴->鍏抽棴鍙戦�佹祦] 澶辫触 callId->{}", callId); throw new ControllerException(ErrorCode.ERROR100.getCode(), "鍋滄鍙戞祦澶辫触"); -- Gitblit v1.8.0