| | |
| | | |
| | | Map<String, Object> param = new HashMap<>(); |
| | | param.put("api.secret",mediaServerItem.getSecret()); // -profile:v Baseline |
| | | param.put("ffmpeg.cmd","%s -fflags nobuffer -i %s -c:a aac -strict -2 -ar 44100 -ab 48k -c:v libx264 -f flv %s"); |
| | | param.put("hook.enable","1"); |
| | | param.put("hook.on_flow_report",String.format("%s/on_flow_report", hookPrex)); |
| | | param.put("hook.on_play",String.format("%s/on_play", hookPrex)); |
| | |
| | | param.put("hook.on_record_mp4",""); |
| | | } |
| | | param.put("hook.timeoutSec","20"); |
| | | param.put("general.streamNoneReaderDelayMS",mediaServerItem.getStreamNoneReaderDelayMS()==-1?"3600000":mediaServerItem.getStreamNoneReaderDelayMS() ); |
| | | // 推流断开后可以在超时时间内重新连接上继续推流,这样播放器会接着播放。 |
| | | // 置0关闭此特性(推流断开会导致立即断开播放器) |
| | | // 此参数不应大于播放器超时时间 |
| | |
| | | mediaServerItem.setStreamIp(ip); |
| | | mediaServerItem.setHookIp(sipConfig.getIp()); |
| | | mediaServerItem.setSdpIp(ip); |
| | | mediaServerItem.setStreamNoneReaderDelayMS(zlmServerConfig.getGeneralStreamNoneReaderDelayMS()); |
| | | return mediaServerItem; |
| | | } |
| | | |
| | |
| | | MediaServerItem mediaServerItem = getOne(mediaServerId); |
| | | if (mediaServerItem == null) { |
| | | // 缓存不存在,从数据库查询,如果数据库不存在则是错误的 |
| | | MediaServerItem mediaServerItemFromDatabase = getOneFromDatabase(mediaServerId); |
| | | if (mediaServerItemFromDatabase == null) { |
| | | return; |
| | | } |
| | | // zlm连接重试 |
| | | logger.warn("[更新ZLM 保活信息]失败,未找到流媒体信息,尝试重连zlm"); |
| | | // reloadZlm(); |
| | | mediaServerItem = getOne(mediaServerId); |
| | | mediaServerItem = getOneFromDatabase(mediaServerId); |
| | | if (mediaServerItem == null) { |
| | | // zlm连接重试 |
| | | logger.warn("[更新ZLM 保活信息]失败,未找到流媒体信息"); |
| | | return; |
| | | } |
| | | // zlm连接重试 |
| | | logger.warn("[更新ZLM 保活信息]尝试链接默认zml"); |
| | | } |
| | | final String zlmKeepaliveKey = zlmKeepaliveKeyPrefix + mediaServerItem.getId(); |
| | | dynamicTask.stop(zlmKeepaliveKey); |