| | |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * 调用zlm RESTful API —— startSendRtp |
| | | */ |
| | | public Boolean startSendRtpStream(Map<String, Object>param) { |
| | | Boolean result = false; |
| | | JSONObject jsonObject = zlmresTfulUtils.startSendRtp(param); |
| | | System.out.println(jsonObject); |
| | | if (jsonObject != null) { |
| | | switch (jsonObject.getInteger("code")){ |
| | | case 0: |
| | | result= true; |
| | | logger.error("RTP推流请求成功,本地推流端口:" + jsonObject.getString("local_port")); |
| | | break; |
| | | // case -300: // id已经存在 |
| | | // result = false; |
| | | // break; |
| | | // case -400: // 端口占用 |
| | | // result= false; |
| | | // break; |
| | | default: |
| | | logger.error("RTP推流失败: " + jsonObject.getString("msg")); |
| | | break; |
| | | } |
| | | }else { |
| | | // 检查ZLM状态 |
| | | if (jsonObject == null) { |
| | | logger.error("RTP推流失败: 请检查ZLM服务"); |
| | | } else if (jsonObject.getInteger("code") == 0) { |
| | | result= true; |
| | | logger.error("RTP推流请求成功,本地推流端口:" + jsonObject.getString("local_port")); |
| | | } else { |
| | | logger.error("RTP推流失败: " + jsonObject.getString("msg")); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * 查询待转推的流是否就绪 |
| | | */ |
| | | public Boolean isRtpReady(String streamId) { |
| | | JSONObject mediaInfo = zlmresTfulUtils.getMediaInfo("rtp", "rtmp", streamId); |
| | | if (mediaInfo.getInteger("code") == 0 && mediaInfo.getBoolean("online")) { |
| | | logger.info("设备RTP推流成功"); |
| | | return true; |
| | | } else { |
| | | logger.info("设备RTP推流未完成"); |
| | | return false; |
| | | } |
| | | return (mediaInfo.getInteger("code") == 0 && mediaInfo.getBoolean("online")); |
| | | } |
| | | } |