/// <summary> /// 在多ZLMediaKit部署模式下,调用ZLM接口前,应先调用此方法设置具体的ZLMediaKit /// </summary> /// <param name="mediaServerId"></param> /// <returns></returns> public ZLHttpClient SetMediaServerId(string mediaServerId) { this.MediaServerId = mediaServerId; ZLMediaKitSettings config = default; ZLMediaKitSettings.ZLMediaKitSettingsDict.TryGetValue(mediaServerId, out config); if (config == default) { throw new NullReferenceException("ZLMediaKit服务器配置不存在"); } this.Request = config.HttpUrl .WithTimeout(config.Timeout) .ConfigureRequest(action => { action.CookiesEnabled = false; }) .SetQueryParam("secret", config.ApiSecret); return(this); }
/// <summary> /// ZLMediaKit Client 注册 /// </summary> /// <param name="zLMediaKitSettings"></param> public static void Register(ZLMediaKitSettings zLMediaKitSettings) { if (zLMediaKitSettings == null) { throw new InvalidDataException("ZLMediaKitSettings 不能为空"); } if (string.IsNullOrEmpty(zLMediaKitSettings.IpAddress)) { throw new InvalidDataException("IpAddress 不能为空"); } if (zLMediaKitSettings.ApiPort == 0) { throw new InvalidDataException("ApiPort 参数值错误"); } if (string.IsNullOrEmpty(zLMediaKitSettings.MediaServerId)) { throw new InvalidDataException("MediaServerId 不能为空"); } if (string.IsNullOrEmpty(zLMediaKitSettings.ApiSecret)) { throw new InvalidDataException("ApiSecret 不能为空"); } ZLMediaKitSettings.ZLMediaKitSettingsDict[zLMediaKitSettings.MediaServerId] = zLMediaKitSettings; }