Commit dbe6ece653823a9487a04cbf69428119fd4011c4

Authored by 648540858
1 parent f7006e48

优化播放中zlm离线判断

src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java
... ... @@ -283,10 +283,10 @@ public class ZLMRTPServerFactory {
283 283 */
284 284 public int totalReaderCount(MediaServerItem mediaServerItem, String app, String streamId) {
285 285 JSONObject mediaInfo = zlmresTfulUtils.getMediaInfo(mediaServerItem, app, "rtmp", streamId);
286   - Integer code = mediaInfo.getInteger("code");
287 286 if (mediaInfo == null) {
288 287 return 0;
289 288 }
  289 + Integer code = mediaInfo.getInteger("code");
290 290 if ( code < 0) {
291 291 logger.warn("查询流({}/{})是否有其它观看者时得到: {}", app, streamId, mediaInfo.getString("msg"));
292 292 return -1;
... ...
src/main/java/com/genersoft/iot/vmp/media/zlm/event/ZLMKeepliveTimeoutListener.java
... ... @@ -61,13 +61,12 @@ public class ZLMKeepliveTimeoutListener extends RedisKeyExpirationEventMessageLi
61 61 // 发起http请求验证zlm是否确实无法连接,如果确实无法连接则发送离线事件,否则不作处理
62 62 MediaServerItem mediaServerItem = mediaServerService.getOne(mediaServerId);
63 63 JSONObject mediaServerConfig = zlmresTfulUtils.getMediaServerConfig(mediaServerItem);
64   - if (mediaServerConfig == null || mediaServerConfig.getInteger("code") == -2) {
65   - publisher.zlmOfflineEventPublish(mediaServerId);
66   - }else {
  64 + if (mediaServerConfig != null && mediaServerConfig.getInteger("code") == 0) {
67 65 logger.info("[zlm心跳到期]:{}验证后zlm仍在线,恢复心跳信息", mediaServerId);
68 66 // 添加zlm信息
69 67 mediaServerService.updateMediaServerKeepalive(mediaServerId, mediaServerConfig);
  68 + }else {
  69 + publisher.zlmOfflineEventPublish(mediaServerId);
70 70 }
71   -
72 71 }
73 72 }
... ...