|
@@ -179,11 +179,12 @@ public class MediaServerServiceImpl implements IMediaServerService {
|
|
|
|
|
|
@Override
|
|
|
public SSRCInfo startSendRtpServer(MediaServerItem mediaServerItem,String app, String recv_stream_id,String audioStreamId,
|
|
|
- String addr,String port,String _ssrc) {
|
|
|
+ String addr,String port,String _ssrc,int waitTime) {
|
|
|
if (mediaServerItem == null || mediaServerItem.getId() == null) {
|
|
|
logger.warn("无法连接至zlm!!!!!!!");
|
|
|
return null;
|
|
|
}
|
|
|
+
|
|
|
// 获取mediaServer可用的ssrc
|
|
|
String key = VideoManagerConstants.MEDIA_SERVER_PREFIX + userSetting.getServerId() + "_" + mediaServerItem.getId();
|
|
|
|
|
@@ -200,19 +201,16 @@ public class MediaServerServiceImpl implements IMediaServerService {
|
|
|
// }
|
|
|
int rtpServerPort;
|
|
|
// 创建
|
|
|
- Map<String, Object> rtpParam = zlmrtpServerFactory.createStartSendRtpStreamAudioData(mediaServerItem,app, recv_stream_id,audioStreamId,_ssrc,addr, Integer.parseInt(port));
|
|
|
+ Map<String, Object> rtpParam = zlmrtpServerFactory.createStartSendRtpStreamAudioData(mediaServerItem,app, recv_stream_id,audioStreamId,_ssrc,addr, Integer.parseInt(port),waitTime);
|
|
|
logger.info("[wvp ==> zlm:{}] {}",mediaServerItem.getId(),rtpParam.toString());
|
|
|
if (mediaServerItem == null || mediaServerItem.getId() == null) {
|
|
|
logger.warn("无法连接至zlm!!!!!!!");
|
|
|
return null;
|
|
|
}
|
|
|
- JSONObject result = zlmrtpServerFactory.startSendRtpPassive(mediaServerItem,rtpParam,30);
|
|
|
+ // 等待zlm回复时间为 waitTime+5 秒 毫秒转换为秒
|
|
|
+ JSONObject result = zlmrtpServerFactory.startSendRtpPassive(mediaServerItem,rtpParam,(waitTime / 1000) + 5);
|
|
|
// JSONObject result = zlmrtpServerFactory.startSendRtpStream(mediaServerItem,rtpParam);
|
|
|
logger.info("zlm start send {}",result.toJSONString());
|
|
|
-// if((Integer.parseInt((String) result.get("code")) != 0)){
|
|
|
-// logger.error("[语音广播 流媒体异常] {}",result.get("msg"));
|
|
|
-// return null;
|
|
|
-// }
|
|
|
Integer code = (Integer) result.get("code");
|
|
|
if(code != null && code.intValue() != 0){ logger.error("[语音广播 流媒体异常] {}", result.get("msg")); return null; }
|
|
|
RedisUtil.set(key, mediaServerItem);
|