From 86a701ce885871d2468ec31eb13be5595673a01b Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 28 三月 2024 10:24:13 +0800
Subject: [PATCH] Merge branch 'master' into dev/abl支持
---
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java | 79 +++++----------------------------------
1 files changed, 10 insertions(+), 69 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java
index 4324175..c32c3e5 100755
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java
@@ -16,17 +16,14 @@
import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder;
import com.genersoft.iot.vmp.gb28181.transmit.callback.RequestMessage;
import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander;
-import com.genersoft.iot.vmp.media.zlm.ZLMRESTfulUtils;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
+import com.genersoft.iot.vmp.media.service.IMediaServerService;
+import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
import com.genersoft.iot.vmp.service.IInviteStreamService;
-import com.genersoft.iot.vmp.service.IMediaServerService;
-import com.genersoft.iot.vmp.service.IMediaService;
import com.genersoft.iot.vmp.service.IPlayService;
import com.genersoft.iot.vmp.service.bean.InviteErrorCode;
-import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
import com.genersoft.iot.vmp.utils.DateUtil;
-import com.genersoft.iot.vmp.vmanager.bean.*;
+import com.genersoft.iot.vmp.vmanager.bean.AudioBroadcastResult;
import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
import com.genersoft.iot.vmp.vmanager.bean.StreamContent;
import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
@@ -71,22 +68,13 @@
private IVideoManagerStorage storager;
@Autowired
- private IRedisCatchStorage redisCatchStorage;
-
- @Autowired
private IInviteStreamService inviteStreamService;
-
- @Autowired
- private ZLMRESTfulUtils zlmresTfulUtils;
@Autowired
private DeferredResultHolder resultHolder;
@Autowired
private IPlayService playService;
-
- @Autowired
- private IMediaService mediaService;
@Autowired
private IMediaServerService mediaServerService;
@@ -104,7 +92,7 @@
logger.info("[寮�濮嬬偣鎾璢 deviceId锛歿}, channelId锛歿}, ", deviceId, channelId);
// 鑾峰彇鍙敤鐨剒lm
Device device = storager.queryVideoDevice(deviceId);
- MediaServerItem newMediaServerItem = playService.getNewMediaServerItem(device);
+ MediaServer newMediaServerItem = playService.getNewMediaServerItem(device);
RequestMessage requestMessage = new RequestMessage();
String key = DeferredResultHolder.CALLBACK_CMD_PLAY + deviceId + channelId;
@@ -148,6 +136,9 @@
streamInfo.channgeStreamIp(host);
}
wvpResult.setData(new StreamContent(streamInfo));
+ }else {
+ wvpResult.setCode(code);
+ wvpResult.setMsg(msg);
}
}else {
wvpResult.setCode(code);
@@ -199,50 +190,6 @@
json.put("isSubStream", isSubStream);
return json;
}
-
- /**
- * 灏嗕笉鏄痟264鐨勮棰戦�氳繃ffmpeg 杞爜涓篽264 + aac
- * @param streamId 娴両D
- */
- @Operation(summary = "灏嗕笉鏄痟264鐨勮棰戦�氳繃ffmpeg 杞爜涓篽264 + aac", security = @SecurityRequirement(name = JwtUtils.HEADER))
- @Parameter(name = "streamId", description = "瑙嗛娴両D", required = true)
- @PostMapping("/convert/{streamId}")
- public JSONObject playConvert(@PathVariable String streamId) {
-// StreamInfo streamInfo = redisCatchStorage.queryPlayByStreamId(streamId);
-
- InviteInfo inviteInfo = inviteStreamService.getInviteInfoByStream(null, streamId);
- if (inviteInfo == null || inviteInfo.getStreamInfo() == null) {
- logger.warn("瑙嗛杞爜API璋冪敤澶辫触锛�, 瑙嗛娴佸凡缁忓仠姝�!");
- throw new ControllerException(ErrorCode.ERROR100.getCode(), "鏈壘鍒拌棰戞祦淇℃伅, 瑙嗛娴佸彲鑳藉凡缁忓仠姝�");
- }
- MediaServerItem mediaInfo = mediaServerService.getOne(inviteInfo.getStreamInfo().getMediaServerId());
- JSONObject rtpInfo = zlmresTfulUtils.getRtpInfo(mediaInfo, streamId);
- if (!rtpInfo.getBoolean("exist")) {
- logger.warn("瑙嗛杞爜API璋冪敤澶辫触锛�, 瑙嗛娴佸凡鍋滄鎺ㄦ祦!");
- throw new ControllerException(ErrorCode.ERROR100.getCode(), "鏈壘鍒拌棰戞祦淇℃伅, 瑙嗛娴佸彲鑳藉凡鍋滄鎺ㄦ祦");
- } else {
- String dstUrl = String.format("rtmp://%s:%s/convert/%s", "127.0.0.1", mediaInfo.getRtmpPort(),
- streamId );
- String srcUrl = String.format("rtsp://%s:%s/rtp/%s", "127.0.0.1", mediaInfo.getRtspPort(), streamId);
- JSONObject jsonObject = zlmresTfulUtils.addFFmpegSource(mediaInfo, srcUrl, dstUrl, "1000000", true, false, null);
- logger.info(jsonObject.toJSONString());
- if (jsonObject != null && jsonObject.getInteger("code") == 0) {
- JSONObject data = jsonObject.getJSONObject("data");
- if (data != null) {
- JSONObject result = new JSONObject();
- result.put("key", data.getString("key"));
- StreamInfo streamInfoResult = mediaService.getStreamInfoByAppAndStreamWithCheck("convert", streamId, mediaInfo.getId(), false);
- result.put("StreamInfo", streamInfoResult);
- return result;
- }else {
- throw new ControllerException(ErrorCode.ERROR100.getCode(), "杞爜澶辫触");
- }
- }else {
- throw new ControllerException(ErrorCode.ERROR100.getCode(), "杞爜澶辫触");
- }
- }
- }
-
/**
* 缁撴潫杞爜
*/
@@ -254,18 +201,12 @@
if (mediaServerId == null) {
throw new ControllerException(ErrorCode.ERROR400.getCode(), "娴佸獟浣擄細" + mediaServerId + "涓嶅瓨鍦�" );
}
- MediaServerItem mediaInfo = mediaServerService.getOne(mediaServerId);
+ MediaServer mediaInfo = mediaServerService.getOne(mediaServerId);
if (mediaInfo == null) {
throw new ControllerException(ErrorCode.ERROR100.getCode(), "浣跨敤鐨勬祦濯掍綋宸茬粡鍋滄杩愯" );
}else {
- JSONObject jsonObject = zlmresTfulUtils.delFFmpegSource(mediaInfo, key);
- logger.info(jsonObject.toJSONString());
- if (jsonObject != null && jsonObject.getInteger("code") == 0) {
- JSONObject data = jsonObject.getJSONObject("data");
- if (data == null || data.getBoolean("flag") == null || !data.getBoolean("flag")) {
- throw new ControllerException(ErrorCode.ERROR100 );
- }
- }else {
+ Boolean deleted = mediaServerService.delFFmpegSource(mediaInfo, key);
+ if (!deleted) {
throw new ControllerException(ErrorCode.ERROR100 );
}
}
--
Gitblit v1.8.0