| | |
| | | private int[] portRangeArray = new int[2]; |
| | | |
| | | public int getFreePort(MediaServerItem mediaServerItem, int startPort, int endPort, List<Integer> usedFreelist) { |
| | | if (endPort <= startPort) return -1; |
| | | if (endPort <= startPort) { |
| | | return -1; |
| | | } |
| | | if (usedFreelist == null) { |
| | | usedFreelist = new ArrayList<>(); |
| | | } |
| | |
| | | return result; |
| | | } |
| | | |
| | | public int createRTPServer(MediaServerItem mediaServerItem, String streamId) { |
| | | |
| | | Map<String, Object> param = new HashMap<>(); |
| | | public int createRTPServer(MediaServerItem mediaServerItem, String streamId, int ssrc) { |
| | | int result = -1; |
| | | // 查询此rtp server 是否已经存在 |
| | | JSONObject rtpInfo = zlmresTfulUtils.getRtpInfo(mediaServerItem, streamId); |
| | | if (rtpInfo != null && rtpInfo.getInteger("code") == 0 && rtpInfo.getBoolean("exist")) { |
| | | result = rtpInfo.getInteger("local_port"); |
| | | return result; |
| | | } |
| | | Map<String, Object> param = new HashMap<>(); |
| | | // 推流端口设置0则使用随机端口 |
| | | param.put("enable_tcp", 1); |
| | | param.put("stream_id", streamId); |
| | | param.put("port", 0); |
| | | param.put("ssrc", ssrc); |
| | | JSONObject openRtpServerResultJson = zlmresTfulUtils.openRtpServer(mediaServerItem, param); |
| | | |
| | | if (openRtpServerResultJson != null) { |
| | |
| | | result= true; |
| | | logger.info("停止RTP推流成功"); |
| | | } else { |
| | | logger.error("RTP推流失败: {}, 参数:{}",jsonObject.getString("msg"),JSONObject.toJSON(param)); |
| | | logger.error("停止RTP推流失败: {}, 参数:{}",jsonObject.getString("msg"),JSONObject.toJSON(param)); |
| | | } |
| | | return result; |
| | | } |