package com.genersoft.iot.vmp.vmanager.rtp; import com.genersoft.iot.vmp.conf.SipConfig; import com.genersoft.iot.vmp.conf.UserSetting; import com.genersoft.iot.vmp.conf.VersionInfo; import com.genersoft.iot.vmp.conf.exception.ControllerException; import com.genersoft.iot.vmp.media.zlm.ZlmHttpHookSubscribe; import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; import com.genersoft.iot.vmp.service.*; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.vmanager.bean.ErrorCode; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; import java.util.List; @SuppressWarnings("rawtypes") @Tag(name = "第三方服务对接") @RestController @RequestMapping("/api/rtp") public class RtpController { @Autowired private ZlmHttpHookSubscribe zlmHttpHookSubscribe; @Autowired private IMediaServerService mediaServerService; @Autowired private VersionInfo versionInfo; @Autowired private SipConfig sipConfig; @Autowired private UserSetting userSetting; @Autowired private IDeviceService deviceService; @Autowired private IDeviceChannelService channelService; @Autowired private IStreamPushService pushService; @Autowired private IStreamProxyService proxyService; @Value("${server.port}") private int serverPort; @Autowired private IRedisCatchStorage redisCatchStorage; @GetMapping(value = "/send/ready") @ResponseBody @Operation(summary = "为发送视频流获取信息") public List getMediaServerList(Boolean onlySender, ) { MediaServerItem mediaServerItem = mediaServerService.getMediaServerForMinimumLoad(null); if (mediaServerItem == null) { throw new ControllerException(ErrorCode.ERROR100.getCode(),"没有可用的MediaServer"); } mediaServerService.openRTPServer() return mediaServerService.getAll(); } }