Преглед изворни кода

fix
1. 语音对讲缓存修复

kindring пре 1 година
родитељ
комит
cd9faa351f

+ 9 - 2
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java

@@ -547,6 +547,7 @@ public class SIPCommander implements ISIPCommander {
         String sdpContent = createBroadcastInviteSdp(mediaServerItem,ssrcInfo);
         String _ssrc = ssrcInfo.getSsrc();
         // 使用 返回sdp ack 数据给设备
+        logger.info("recvStream {}", ssrcInfo.getStream());
         logger.info("返回给设备的 audio invite sdp部分为{}",sdpContent);
         try {
             SIPResponse sipResponse = testInviteRequestProcessor.responseBroadcastSdpACK(request,
@@ -556,7 +557,8 @@ public class SIPCommander implements ISIPCommander {
                     sipConfig.getPort()
             );
             logger.info("[语音广播] 添加sip信息至流媒体服务中");
-            streamSession.put(device.getDeviceId(),
+            streamSession.put(
+                device.getDeviceId(),
 				device.getDeviceId(),
 				"broadcast",
 				ssrcInfo.getStream(),
@@ -764,7 +766,12 @@ public class SIPCommander implements ISIPCommander {
             logger.error("无法找到该设备信息");
             return false;
         }
-        SsrcTransaction ssrcTransaction = streamSession.getSsrcTransaction(device.getDeviceId(),device.getDeviceId(), "broadcast", broadcastItem.getRecv_stream());
+        // 从流媒体服务器中关闭推流通道
+        SsrcTransaction ssrcTransaction = streamSession.getSsrcTransaction(
+                device.getDeviceId(),
+                device.getDeviceId(),
+                "broadcast",
+                broadcastItem.getRecv_stream());
         logger.info("关闭语音广播: {}-{}",broadcastItem.getApp() , broadcastItem.getStream());
         MediaServerItem mediaServerItem = mediaServerService.getOne(broadcastItem.getMediaId());
         if(mediaServerItem == null){

+ 6 - 3
src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java

@@ -1022,6 +1022,10 @@ public class PlayServiceImpl implements IPlayService {
         try {
             String steamId = "relay_"+broadcastItem.getStream();
             String ssrcStr = broadcastItem.getSsrc();
+            // 更新
+
+            broadcastItem.setRecv_stream(steamId);
+
             ssrcStr = ssrcStr.replaceAll("\\s*|\r|\n|\t", "");
 
             SSRCInfo ssrcInfo = mediaServerService.startSendRtpServer(mediaServerItem,
@@ -1033,15 +1037,14 @@ public class PlayServiceImpl implements IPlayService {
                     ssrcStr,
                     waitTime
             );
+            broadcastItem.setSsrc(ssrcInfo.getSsrc());
             if (ssrcInfo == null) {
                 logger.error("[zlm控制异常] 创建媒体流失败");
                 errJson.put("msg", "[zlm控制异常] 创建媒体流失败");
                 callback.run(2, errJson, null);
                 return;
             }
-            // 更新
-            broadcastItem.setSsrc(ssrcInfo.getSsrc());
-            broadcastItem.setRecv_stream(steamId);
+
             // 回复invite 200 信息至设备
             cmder.sendBoradcastInviteCmd(broadcastItem.getRequest(), mediaServerItem, ssrcInfo, device, null, null,
                     null,

+ 2 - 2
web_src/config/index.js

@@ -3,8 +3,8 @@
 // see http://vuejs-templates.github.io/webpack for documentation.
 
 const path = require('path')
-// const baseUrl = "https://127.0.0.1:19200"
-const baseUrl = "https://hofuniot.cn:29072"
+const baseUrl = "https://127.0.0.1:19200"
+// const baseUrl = "https://hofuniot.cn:29072"
 const ZLMServer = "https://192.168.1.60:29010"
 module.exports = {
   dev: {