648540858
2024-03-21 b90dc789b429c31674c26bb3ff309b987afaa77a
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java
@@ -17,9 +17,9 @@
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.zlm.dto.MediaServer;
import com.genersoft.iot.vmp.service.IInviteStreamService;
import com.genersoft.iot.vmp.service.IMediaServerService;
import com.genersoft.iot.vmp.media.service.IMediaServerService;
import com.genersoft.iot.vmp.service.IMediaService;
import com.genersoft.iot.vmp.service.IPlayService;
import com.genersoft.iot.vmp.service.bean.InviteErrorCode;
@@ -104,7 +104,7 @@
      logger.info("[开始点播] deviceId:{}, channelId:{}, ", deviceId, channelId);
      // 获取可用的zlm
      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 +148,9 @@
                  streamInfo.channgeStreamIp(host);
               }
               wvpResult.setData(new StreamContent(streamInfo));
            }else {
               wvpResult.setCode(code);
               wvpResult.setMsg(msg);
            }
         }else {
            wvpResult.setCode(code);
@@ -215,7 +218,7 @@
         logger.warn("视频转码API调用失败!, 视频流已经停止!");
         throw new ControllerException(ErrorCode.ERROR100.getCode(), "未找到视频流信息, 视频流可能已经停止");
      }
      MediaServerItem mediaInfo = mediaServerService.getOne(inviteInfo.getStreamInfo().getMediaServerId());
      MediaServer mediaInfo = mediaServerService.getOne(inviteInfo.getStreamInfo().getMediaServerId());
      JSONObject rtpInfo = zlmresTfulUtils.getRtpInfo(mediaInfo, streamId);
      if (!rtpInfo.getBoolean("exist")) {
         logger.warn("视频转码API调用失败!, 视频流已停止推流!");
@@ -254,7 +257,7 @@
      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 {