|  |  |  | 
|---|
|  |  |  | package com.genersoft.iot.vmp.service; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.genersoft.iot.vmp.gb28181.bean.Device; | 
|---|
|  |  |  | import com.genersoft.iot.vmp.common.CommonCallback; | 
|---|
|  |  |  | import com.genersoft.iot.vmp.media.zlm.ZLMServerConfig; | 
|---|
|  |  |  | import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; | 
|---|
|  |  |  | import com.genersoft.iot.vmp.media.zlm.dto.ServerKeepaliveData; | 
|---|
|  |  |  | import com.genersoft.iot.vmp.service.bean.MediaServerLoad; | 
|---|
|  |  |  | import com.genersoft.iot.vmp.service.bean.SSRCInfo; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | MediaServerItem getOne(String generalMediaServerId); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | MediaServerItem getOneByHostAndPort(String host, int port); | 
|---|
|  |  |  | void syncCatchFromDatabase(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 新的节点加入 | 
|---|
|  |  |  | * @param zlmServerConfig | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | void handLeZLMServerConfig(ZLMServerConfig zlmServerConfig); | 
|---|
|  |  |  | void zlmServerOnline(ZLMServerConfig zlmServerConfig); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | MediaServerItem getMediaServerForMinimumLoad(); | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 节点离线 | 
|---|
|  |  |  | * @param mediaServerId | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | void zlmServerOffline(String mediaServerId); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | void setZLMConfig(MediaServerItem mediaServerItem); | 
|---|
|  |  |  | MediaServerItem getMediaServerForMinimumLoad(Boolean hasAssist); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId); | 
|---|
|  |  |  | void setZLMConfig(MediaServerItem mediaServerItem, boolean restart); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | void closeRTPServer(Device device, String channelId); | 
|---|
|  |  |  | void updateVmServer(List<MediaServerItem>  mediaServerItemList); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId, boolean ssrcCheck, boolean isPlayback); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId, String ssrc, boolean ssrcCheck, boolean isPlayback); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId, String ssrc, boolean ssrcCheck, boolean isPlayback, Integer port); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | void closeRTPServer(MediaServerItem mediaServerItem, String streamId); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | void closeRTPServer(MediaServerItem mediaServerItem, String streamId, CommonCallback<Boolean> callback); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | void closeRTPServer(String mediaServerId, String streamId); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | void clearRTPServer(MediaServerItem mediaServerItem); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | void removeCount(String mediaServerId); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | void releaseSsrc(MediaServerItem mediaServerItem, String ssrc); | 
|---|
|  |  |  | void releaseSsrc(String mediaServerItemId, String ssrc); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | void clearMediaServerForOnline(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | void add(MediaServerItem mediaSerItem); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | int addToDatabase(MediaServerItem mediaSerItem); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | int updateToDatabase(MediaServerItem mediaSerItem); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | void resetOnlineServerItem(MediaServerItem serverItem); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | MediaServerItem checkMediaServer(String ip, int port, String secret); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | boolean checkMediaRecordServer(String ip, int port); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | void delete(String id); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | void deleteDb(String id); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | MediaServerItem getDefaultMediaServer(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | void updateMediaServerKeepalive(String mediaServerId, ServerKeepaliveData data); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | boolean checkRtpServer(MediaServerItem mediaServerItem, String rtp, String stream); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取负载信息 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | MediaServerLoad getLoad(MediaServerItem mediaServerItem); | 
|---|
|  |  |  | } | 
|---|