我发现使用 Smart 策略组时遇到了一个关于 YouTube 视频播放的问题,希望在此反馈并提出一个功能建议。
问题描述:
在使用 Smart 策略组观看 YouTube 时,经常出现网页 ( youtube.com ) 可以正常加载,但视频本身无法播放(播放器一直转圈)的情况。
原因分析:
YouTube 的工作方式: 加载 YouTube 页面主要涉及 youtube.com 域名,而视频流媒体内容则由 googlevideo.com 域名下的服务器提供。
Smart 策略组的行为: Smart 策略组会独立为 youtube.com 和 googlevideo.com 选择最优(例如延迟最低)的节点。这可能导致 youtube.com 被路由到 A 节点(如日本),而 googlevideo.com 被路由到 B 节点(如香港)。
Google 的 CDN 似乎要求加载页面和获取视频内容的请求来自同一区域或关联节点。当上述两个域名被分配到不同区域的节点时,CDN 可能拒绝视频内容的请求,导致视频无法加载。
之前使用“自动测试策略组”(或其他类似基于延迟选择单一最优节点的策略组)时,由于 youtube.com 和 googlevideo.com 通常会被路由到 同一个 最优节点,因此不会出现此问题。
当前的临时解决方案:
可以通过添加额外的规则,强制将 youtube.com 和 googlevideo.com 指向同一个特定的策略组(例如 “日本节点组”)或 Fallback 策略组来解决。
当前方案的不足:
这些手动配置规则虽然有效,但不够“智能”和优雅,违背了使用 Smart 策略组自动优化选择的初衷,且需要用户手动维护特定网站的规则。
功能建议:
希望能在配置文件中增加一个选项或机制,允许用户定义一组域名(例如 youtube.com 和 googlevideo.com),确保这组内的所有域名在通过 Smart 策略组选择节点时,总是被路由到 同一个 节点。
这样既能保留 Smart 策略组的自动优化能力,又能解决类似 YouTube 这种需要多个相关域名协同工作的服务的兼容性问题,使体验更加无缝和智能。