From 4362a5b499692ff31ae02744428696a5894f2439 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 20 三月 2023 15:42:59 +0800
Subject: [PATCH] 主线合并对讲broadcast级联模式
---
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java | 4 +-
src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java | 5 +-
web_src/src/components/dialog/devicePlayer.vue | 2
src/main/java/com/genersoft/iot/vmp/conf/redis/RedisConfig.java | 5 --
src/main/java/com/genersoft/iot/vmp/gb28181/bean/AudioBroadcastCatch.java | 48 ++++++------------------
src/main/java/com/genersoft/iot/vmp/service/IPlayService.java | 4 --
6 files changed, 19 insertions(+), 49 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/conf/redis/RedisConfig.java b/src/main/java/com/genersoft/iot/vmp/conf/redis/RedisConfig.java
index 006a65f..ab90ac6 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/redis/RedisConfig.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/redis/RedisConfig.java
@@ -10,7 +10,6 @@
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;
import org.springframework.data.redis.connection.RedisConnectionFactory;
-import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.listener.PatternTopic;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
@@ -50,8 +49,6 @@
@Bean
public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
- LettuceConnectionFactory lettuceConnectionFactory = (LettuceConnectionFactory) redisConnectionFactory;
- lettuceConnectionFactory.afterPropertiesSet();
RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>();
// 浣跨敤fastJson搴忓垪鍖�
@@ -63,7 +60,7 @@
// key鐨勫簭鍒楀寲閲囩敤StringRedisSerializer
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
- redisTemplate.setConnectionFactory(lettuceConnectionFactory);
+ redisTemplate.setConnectionFactory(redisConnectionFactory);
return redisTemplate;
}
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/AudioBroadcastCatch.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/AudioBroadcastCatch.java
index 4fff352..814d984 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/AudioBroadcastCatch.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/AudioBroadcastCatch.java
@@ -109,44 +109,12 @@
return sipTransactionInfo;
}
- public String getApp() {
- return app;
- }
-
- public void setApp(String app) {
- this.app = app;
- }
-
- public String getStream() {
- return stream;
- }
-
- public void setStream(String stream) {
- this.stream = stream;
- }
-
- public void setSipTransactionInfo(SipTransactionInfo sipTransactionInfo) {
- this.sipTransactionInfo = sipTransactionInfo;
- }
-
- public void setSipTransactionInfoByRequset(SIPResponse response) {
- this.sipTransactionInfo = new SipTransactionInfo(response, false);
- }
-
public MediaServerItem getMediaServerItem() {
return mediaServerItem;
}
public void setMediaServerItem(MediaServerItem mediaServerItem) {
this.mediaServerItem = mediaServerItem;
- }
-
- public AudioBroadcastEvent getEvent() {
- return event;
- }
-
- public void setEvent(AudioBroadcastEvent event) {
- this.event = event;
}
public String getApp() {
@@ -173,11 +141,19 @@
isFromPlatform = fromPlatform;
}
- public MediaServerItem getMediaServerItem() {
- return mediaServerItem;
+ public void setSipTransactionInfo(SipTransactionInfo sipTransactionInfo) {
+ this.sipTransactionInfo = sipTransactionInfo;
}
- public void setMediaServerItem(MediaServerItem mediaServerItem) {
- this.mediaServerItem = mediaServerItem;
+ public AudioBroadcastEvent getEvent() {
+ return event;
+ }
+
+ public void setEvent(AudioBroadcastEvent event) {
+ this.event = event;
+ }
+
+ public void setSipTransactionInfoByRequset(SIPResponse sipResponse) {
+ this.sipTransactionInfo = new SipTransactionInfo(sipResponse);
}
}
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java
index 9a9dbe1..c8dcdfe 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java
@@ -357,11 +357,11 @@
public JSONObject startSendRtp(MediaServerItem mediaInfo, SendRtpItem sendRtpItem) {
String is_Udp = sendRtpItem.isTcp() ? "0" : "1";
- logger.info("rtp/{}寮�濮嬪悜涓婄骇鎺ㄦ祦, 鐩爣={}:{}锛孲SRC={}", sendRtpItem.getStreamId(), sendRtpItem.getIp(), sendRtpItem.getPort(), sendRtpItem.getSsrc());
+ logger.info("rtp/{}寮�濮嬪悜涓婄骇鎺ㄦ祦, 鐩爣={}:{}锛孲SRC={}", sendRtpItem.getStream(), sendRtpItem.getIp(), sendRtpItem.getPort(), sendRtpItem.getSsrc());
Map<String, Object> param = new HashMap<>(12);
param.put("vhost","__defaultVhost__");
param.put("app",sendRtpItem.getApp());
- param.put("stream",sendRtpItem.getStreamId());
+ param.put("stream",sendRtpItem.getStream());
param.put("ssrc", sendRtpItem.getSsrc());
param.put("src_port", sendRtpItem.getLocalPort());
param.put("pt", sendRtpItem.getPt());
diff --git a/src/main/java/com/genersoft/iot/vmp/service/IPlayService.java b/src/main/java/com/genersoft/iot/vmp/service/IPlayService.java
index 3d6352b..796bb99 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/IPlayService.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/IPlayService.java
@@ -12,9 +12,7 @@
import com.genersoft.iot.vmp.service.bean.SSRCInfo;
import com.genersoft.iot.vmp.vmanager.bean.AudioBroadcastResult;
import com.genersoft.iot.vmp.vmanager.gb28181.play.bean.AudioBroadcastEvent;
-import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
import gov.nist.javax.sip.message.SIPResponse;
-import org.springframework.web.context.request.async.DeferredResult;
import javax.sip.InvalidArgumentException;
import javax.sip.SipException;
@@ -62,8 +60,6 @@
boolean audioBroadcastInUse(Device device, String channelId);
void stopAudioBroadcast(String deviceId, String channelId);
-
- void audioBroadcastCmd(Device device, String channelId, int timeout, MediaServerItem mediaServerItem, String sourceApp, String sourceStream, AudioBroadcastEvent event) throws InvalidArgumentException, ParseException, SipException;
void pauseRtp(String streamId) throws ServiceException, InvalidArgumentException, ParseException, SipException;
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java
index 7e85f0c..eea990d 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java
@@ -999,7 +999,7 @@
if (streamReady) {
logger.warn("[璇煶瀵硅] 杩涜涓細 {}", channelId);
event.call("璇煶瀵硅杩涜涓�");
- return;
+ return false;
} else {
stopTalk(device, channelId);
}
@@ -1026,7 +1026,7 @@
if (sendRtpItem != null && sendRtpItem.isOnlyAudio()) {
// 鏌ヨ娴佹槸鍚﹀瓨鍦紝涓嶅瓨鍦ㄥ垯璁や负鏄紓甯哥姸鎬�
MediaServerItem mediaServerServiceOne = mediaServerService.getOne(sendRtpItem.getMediaServerId());
- Boolean streamReady = zlmrtpServerFactory.isStreamReady(mediaServerServiceOne, sendRtpItem.getApp(), sendRtpItem.getStreamId());
+ Boolean streamReady = zlmrtpServerFactory.isStreamReady(mediaServerServiceOne, sendRtpItem.getApp(), sendRtpItem.getStream());
if (streamReady) {
logger.warn("璇煶骞挎挱閫氶亾浣跨敤涓細 {}", channelId);
return true;
@@ -1073,6 +1073,7 @@
}
}
+
@Override
public void zlmServerOnline(String mediaServerId) {
// TODO 鏌ユ壘涔嬪墠鐨勭偣鎾紝娴佸鏋滀笉瀛樺湪鍒欑粰涓嬬骇鍙戦�乥ye
diff --git a/web_src/src/components/dialog/devicePlayer.vue b/web_src/src/components/dialog/devicePlayer.vue
index 61cf066..94e5b6f 100644
--- a/web_src/src/components/dialog/devicePlayer.vue
+++ b/web_src/src/components/dialog/devicePlayer.vue
@@ -655,7 +655,7 @@
method: 'get',
url: '/api/play/broadcast/' + this.deviceId + '/' + this.channelId + "?timeout=30&broadcastMode=" + this.broadcastMode
}).then( (res)=> {
- if (res.data.code == 0) {
+ if (res.data.code === 0) {
let streamInfo = res.data.data.streamInfo;
if (document.location.protocol.includes("https")) {
this.startBroadcast(streamInfo.rtcs)
--
Gitblit v1.8.0