From 71fe60d885b09d53fcd4c58afcfccf18d24a94c2 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 11 四月 2024 15:34:56 +0800
Subject: [PATCH] 更新README
---
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java | 75 +++++++++++++++----------------------
1 files changed, 30 insertions(+), 45 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
index 338f467..247dd8e 100755
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
@@ -14,14 +14,11 @@
import com.genersoft.iot.vmp.gb28181.transmit.cmd.SIPRequestHeaderProvider;
import com.genersoft.iot.vmp.gb28181.utils.NumericUtil;
import com.genersoft.iot.vmp.gb28181.utils.SipUtils;
+import com.genersoft.iot.vmp.media.event.hook.Hook;
+import com.genersoft.iot.vmp.media.event.hook.HookSubscribe;
+import com.genersoft.iot.vmp.media.event.hook.HookType;
import com.genersoft.iot.vmp.media.service.IMediaServerService;
-import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory;
-import com.genersoft.iot.vmp.media.event.HookSubscribe;
-import com.genersoft.iot.vmp.media.zlm.dto.HookSubscribeFactory;
-import com.genersoft.iot.vmp.media.zlm.dto.HookSubscribeForStreamChange;
-import com.genersoft.iot.vmp.media.zlm.dto.HookSubscribeForStreamPush;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
-import com.genersoft.iot.vmp.media.zlm.dto.hook.HookParam;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
import com.genersoft.iot.vmp.service.bean.SSRCInfo;
import com.genersoft.iot.vmp.utils.DateUtil;
import gov.nist.javax.sip.message.SIPRequest;
@@ -77,8 +74,6 @@
@Autowired
private IMediaServerService mediaServerService;
- @Autowired
- private ZLMServerFactory zlmServerFactory;
/**
@@ -279,11 +274,11 @@
}
logger.info("{} 鍒嗛厤鐨刏LM涓�: {} [{}:{}]", stream, mediaServerItem.getId(), mediaServerItem.getSdpIp(), ssrcInfo.getPort());
- HookSubscribeForStreamChange hookSubscribe = HookSubscribeFactory.on_stream_changed("rtp", stream, true, "rtsp", mediaServerItem.getId());
- subscribe.addSubscribe(hookSubscribe, (MediaServer mediaServerItemInUse, HookParam hookParam) -> {
+ Hook rtpHook = Hook.getInstance(HookType.on_media_arrival, "rtp", stream, mediaServerItem.getId());
+ subscribe.addSubscribe(rtpHook, (hookData) -> {
if (event != null) {
- event.response(mediaServerItemInUse, hookParam);
- subscribe.removeSubscribe(hookSubscribe);
+ event.response(hookData);
+ subscribe.removeSubscribe(rtpHook);
}
});
String sdpIp;
@@ -453,13 +448,13 @@
//ssrc
content.append("y=" + ssrcInfo.getSsrc() + "\r\n");
- HookSubscribeForStreamChange hookSubscribe = HookSubscribeFactory.on_stream_changed("rtp", ssrcInfo.getStream(), true, "rtsp", mediaServerItem.getId());
+ Hook rtpHook = Hook.getInstance(HookType.on_media_arrival, "rtp", ssrcInfo.getStream(), mediaServerItem.getId());
// 娣诲姞璁㈤槄
- subscribe.addSubscribe(hookSubscribe, (MediaServer mediaServerItemInUse, HookParam hookParam) -> {
+ subscribe.addSubscribe(rtpHook, (hookData) -> {
if (hookEvent != null) {
- hookEvent.response(mediaServerItemInUse, hookParam);
+ hookEvent.response(hookData);
}
- subscribe.removeSubscribe(hookSubscribe);
+ subscribe.removeSubscribe(rtpHook);
});
Request request = headerProvider.createPlaybackInviteRequest(device, channelId, content.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport()), ssrcInfo.getSsrc());
@@ -554,19 +549,18 @@
content.append("y=" + ssrcInfo.getSsrc() + "\r\n");//ssrc
logger.debug("姝ゆ椂璇锋眰涓嬭浇淇′护鐨剆src===>{}",ssrcInfo.getSsrc());
- HookSubscribeForStreamChange hookSubscribe = HookSubscribeFactory.on_stream_changed("rtp", ssrcInfo.getStream(), true, "rtsp", mediaServerItem.getId());
+ Hook rtpHook = Hook.getInstance(HookType.on_media_arrival, "rtp", ssrcInfo.getStream(), mediaServerItem.getId());
// 娣诲姞璁㈤槄
CallIdHeader newCallIdHeader = sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()), device.getTransport());
String callId= newCallIdHeader.getCallId();
- subscribe.addSubscribe(hookSubscribe, (mediaServerItemInUse, hookParam) -> {
+ subscribe.addSubscribe(rtpHook, (hookData) -> {
logger.debug("sipc 娣诲姞璁㈤槄===callId {}",callId);
- hookEvent.response(mediaServerItemInUse, hookParam);
- subscribe.removeSubscribe(hookSubscribe);
- hookSubscribe.getContent().put("regist", false);
- hookSubscribe.getContent().put("schema", "rtsp");
+ hookEvent.response(hookData);
+ subscribe.removeSubscribe(rtpHook);
// 娣诲姞娴佹敞閿�鐨勮闃咃紝娉ㄩ攢浜嗗悗鍚戣澶囧彂閫乥ye
- subscribe.addSubscribe(hookSubscribe,
- (mediaServerItemForEnd, hookParam1) -> {
+ Hook departureHook = Hook.getInstance(HookType.on_media_departure, "rtp", ssrcInfo.getStream(), mediaServerItem.getId());
+ subscribe.addSubscribe(departureHook,
+ (departureHookData) -> {
logger.info("[褰曞儚]涓嬭浇缁撴潫锛� 鍙戦�丅YE");
try {
streamByeCmd(device, channelId, ssrcInfo.getStream(), callId);
@@ -604,20 +598,20 @@
}
logger.info("[璇煶鍠婅瘽] {} 鍒嗛厤鐨刏LM涓�: {} [{}:{}]", stream, mediaServerItem.getId(), mediaServerItem.getIp(), sendRtpItem.getPort());
- HookSubscribeForStreamChange hookSubscribeForStreamChange = HookSubscribeFactory.on_stream_changed("rtp", stream, true, "rtsp", mediaServerItem.getId());
- subscribe.addSubscribe(hookSubscribeForStreamChange, (mediaServerItemInUse, hookParam) -> {
+ Hook hook = Hook.getInstance(HookType.on_media_arrival, "rtp", stream, mediaServerItem.getId());
+ subscribe.addSubscribe(hook, (hookData) -> {
if (event != null) {
- event.response(mediaServerItemInUse, hookParam);
- subscribe.removeSubscribe(hookSubscribeForStreamChange);
+ event.response(hookData);
+ subscribe.removeSubscribe(hook);
}
});
CallIdHeader callIdHeader = sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()), device.getTransport());
callIdHeader.setCallId(callId);
- HookSubscribeForStreamPush hookSubscribeForStreamPush = HookSubscribeFactory.on_publish("rtp", stream, null, mediaServerItem.getId());
- subscribe.addSubscribe(hookSubscribeForStreamPush, (mediaServerItemInUse, hookParam) -> {
+ Hook publishHook = Hook.getInstance(HookType.on_publish, "rtp", stream, mediaServerItem.getId());
+ subscribe.addSubscribe(publishHook, (hookData) -> {
if (eventForPush != null) {
- eventForPush.response(mediaServerItemInUse, hookParam);
+ eventForPush.response(hookData);
}
});
//
@@ -875,7 +869,7 @@
* @param presetIndex 璋冪敤棰勭疆浣嶇紪鍙凤紝寮�鍚湅瀹堜綅鏃朵娇鐢紝鍙栧�艰寖鍥�0~255
*/
@Override
- public void homePositionCmd(Device device, String channelId, String enabled, String resetTime, String presetIndex, SipSubscribe.Event errorEvent,SipSubscribe.Event okEvent) throws InvalidArgumentException, SipException, ParseException {
+ public void homePositionCmd(Device device, String channelId, Boolean enabled, Integer resetTime, Integer presetIndex, SipSubscribe.Event errorEvent,SipSubscribe.Event okEvent) throws InvalidArgumentException, SipException, ParseException {
StringBuffer cmdXml = new StringBuffer(200);
String charset = device.getCharset();
@@ -889,18 +883,10 @@
cmdXml.append("<DeviceID>" + channelId + "</DeviceID>\r\n");
}
cmdXml.append("<HomePosition>\r\n");
- if (NumericUtil.isInteger(enabled) && (!enabled.equals("0"))) {
+ if (enabled) {
cmdXml.append("<Enabled>1</Enabled>\r\n");
- if (NumericUtil.isInteger(resetTime)) {
- cmdXml.append("<ResetTime>" + resetTime + "</ResetTime>\r\n");
- } else {
- cmdXml.append("<ResetTime>0</ResetTime>\r\n");
- }
- if (NumericUtil.isInteger(presetIndex)) {
- cmdXml.append("<PresetIndex>" + presetIndex + "</PresetIndex>\r\n");
- } else {
- cmdXml.append("<PresetIndex>0</PresetIndex>\r\n");
- }
+ cmdXml.append("<ResetTime>" + resetTime + "</ResetTime>\r\n");
+ cmdXml.append("<PresetIndex>" + presetIndex + "</PresetIndex>\r\n");
} else {
cmdXml.append("<Enabled>0</Enabled>\r\n");
}
@@ -1268,7 +1254,6 @@
* @param startPriority 鎶ヨ璧峰绾у埆锛堝彲閫夛級
* @param endPriority 鎶ヨ缁堟绾у埆锛堝彲閫夛級
* @param alarmMethod 鎶ヨ鏂瑰紡鏉′欢锛堝彲閫夛級
- * @param alarmType 鎶ヨ绫诲瀷
* @param startTime 鎶ヨ鍙戠敓璧峰鏃堕棿锛堝彲閫夛級
* @param endTime 鎶ヨ鍙戠敓缁堟鏃堕棿锛堝彲閫夛級
* @return true = 鍛戒护鍙戦�佹垚鍔�
--
Gitblit v1.8.0