动态设置 GSLB 域名
更新时间: 2025/05/28 09:17:47
本文介绍如何为播放器自定义设置 GSLB(Global Server Load Balance)服务器域名,实现降低播放前的预处理耗时,以及如何配置备用域名以提高连接成功率。
版本变更
- 自 3.4.3 版本起,支持自行配置 GSLB 服务器域名。
- 自 3.6.0 版本起,支持设置备用 GSLB 服务器域名。
适用场景
在播放器拉流过程中,手动指定 URL 之后,播放器首先通过请求 GSLB 服务器将 URL 映射成相对用户物理位置最优的拉流 URL,然后与该 URL 建连拉取视频数据。
由于默认的 GSLB 服务器地址对用户来说可能不是最优选择,为了优化首个请求的耗时时间,您可以自行配置主备 GSLB 服务器域名,进一步降低播放前的预处理耗时,确保在网络波动或区域性服务器故障时仍能正常播放,提高直播和点播的连接成功率。
sequenceDiagram
actor 开发者
par 默认配置
用户播放器 ->> GSLB 服务器: 请求最优的拉流地址
GSLB 服务器 -->> 用户播放器: 返回最优的拉流地址
用户播放器 ->> CDN 服务器: 请求拉流
CDN 服务器 -->> 用户播放器: 返回拉流
end
par 自定义配置
开发者 ->> 用户播放器: 自定义设置 GSLB 服务器域名
用户播放器 ->> GSLB 服务器: 请求拉流地址
GSLB 服务器 -->> 用户播放器: 返回已设置的拉流地址
用户播放器 ->> CDN 服务器: 请求拉流
CDN 服务器 -->> 用户播放器: 返回拉流
end
par 备用域名配置
开发者 ->> 用户播放器: 设置备用 GSLB 服务器域名
用户播放器 ->> GSLB 服务器: 请求拉流地址(失败)
用户播放器 ->> 备用 GSLB 服务器: 请求拉流地址
备用 GSLB 服务器 -->> 用户播放器: 返回拉流地址
用户播放器 ->> CDN 服务器: 请求拉流
CDN 服务器 -->> 用户播放器: 返回拉流
end
以上流程适用于非中国大陆地区的服务区域。网易云信已在中国大陆服务区域默认配置备用域名,您无需额外设置。
示例代码
设置主 GSLB 域名
设置海外 GSLB 服务器地址,可以参考以下示例代码:
JavaSDKOptions config = new SDKOptions();
config.GSLBDomain = "gslb-sea.yunxinvcloud.com"; //如果是海外应用,配置此域名
PlayerManager.init(getApplicationContext(), config);
设置备用 GSLB 域名
设置备用 GSLB 域名,以支持智能域名切换功能。当播放器无法连接到默认的 GSLB 域名时,会自动尝试备用服务器,提高直播和点播的连接成功率。
-
直接使用
NEMediaPlayer设置:如果不使用
PlayerKit,可以直接调用NEMediaPlayer的接口设置备用域名:Java//如果是海外应用,配置此域名 ArrayList<String> gslbDomainsBackUp = new ArrayList<>(); gslbDomainsBackUp.add("gslb-sea.live.netease.im"); NEMediaPlayer.setGSLBDomainsBackup(gslbDomainsBackUp); -
使用
PlayerKit设置:如果使用
PlayerKit,可以在初始化时同时配置主域名和备用域名:Java//如果是海外应用,配置此域名 ArrayList<String> gslbDomainsBackUp = new ArrayList<>(); gslbDomainsBackUp.add("gslb-sea.live.netease.im"); SDKOptions config = new SDKOptions(); config.gslbDomain = "gslb-sea.yunxinvcloud.com"; config.gslbDomainsBackUp = gslbDomainsBackUp; PlayerManager.init(getApplicationContext(), config);
此文档是否对你有帮助?





