Repository navigation
auto discovery
自动发现从受支持的上游响应中识别媒体后端,再通过 Meridian 的受限路由代理。它适合回源地址动态变化的站点。
- 部署有独立、持久的
DYNAMIC_ROUTE_KEY。 - 站点选择“自动发现”。
- 主地址与普通 Emby 登录正常。
- 实际媒体目标满足所选策略的协议、端口和网络要求。
一键安装与官方 Docker 入口脚本会维护密钥;手工部署见 配置参考。
| 级别 | 常用来源 | 动态目标 | 用法 |
|---|---|---|---|
| Safe | HTTP 30x、PlaybackInfo | 公网 DNS 域名,HTTPS 443
|
上游结构标准,希望收窄自动发现范围。 |
| Compatible | HTTP 30x、PlaybackInfo、HLS、DASH | 公网 HTTP(S),有效端口 | 默认,适合常见 Emby 播放链路。 |
| Extreme | 全部受支持来源及扩展的结构兼容 | 公网 HTTP(S),所有有效端口,允许 HTTPS 降级 | 采用完整兼容预设,界面要求额外确认。 |
Extreme 固定开启 HTTP 30x、PlaybackInfo、HLS、DASH,不要求域名白名单,旧配置中关闭的来源和 HTTPS 降级也会按完整预设生效。单份响应的地址数量与重定向跳数不设固定上限;重定向从首次收到跳转响应起共用 60 秒寻址预算,取得最终响应头后停止计时,不限制随后的视频播放时长。清单体积、解析内存、并发和循环检测继续由程序统一管理。
提高兼容级别不会允许私网、回环、链路本地、自身目标或跳过 TLS 校验,也不会让客户端随意指定目标 URL。
Safe 的空规则表示允许符合网络校验的公网 DNS 域名,且仍只允许 HTTPS 443;并非“允许所有地址”,也不接受 IP literal。
添加规则可以进一步收窄目标:
| 规则 | 例子 | 含义 |
|---|---|---|
| 精确域名 | media.example.com |
只匹配该域名。 |
| 域名后缀 | example.com |
按 DNS 标签边界匹配该域及其子域,不匹配 badexample.com。 |
使用界面提供的规则类型填写,不把完整视频 URL 或令牌放入域名规则。Safe 不允许 HTTPS 降级。
受支持的目标可改写为 Meridian 的 /_meridian/d/<capability> 地址。capability 绑定站点、策略、目标与有效期,只用于受限的播放请求。
- 不把这种地址当作永久分享链接。
- 站点重载、策略变化、重启或有效期结束后,旧地址可能失效。
- 出现路由失效时,让客户端重新获取播放信息并开始播放。
- 网关日志应脱敏 capability 路径,参见 反向代理。
编辑站点,打开“播放设置 → 自动发现选项 → 安全规则与观察记录”。记录按媒体 authority、来源、处理阶段和结果聚合,不保存完整媒体 URL、查询参数、请求头或正文。
| 原因 | 含义 | 优先检查 |
|---|---|---|
scheme_denied / port_denied
|
协议或端口不符合策略 | 实际媒体协议、端口与兼容级别。 |
domain_denied |
未匹配域名规则 | Safe 规则是否覆盖真正的媒体域名。 |
address_denied / self_target
|
网络地址被拒绝 | DNS 中是否混入私网,或回指本机。 |
dns_failure |
DNS 解析失败 | 服务器 DNS 与媒体域名。 |
dial_failure / tls_failure
|
连接或证书验证失败 | 出站网络、证书链、域名和有效期。 |
redirect_loop / hop_limit
|
跳转循环或超出跳数 | 上游跳转配置。 |
redirect_timeout |
Extreme 重定向寻址超过 60 秒,返回 504 | 上游跳转链长度、响应速度与网络连接。 |
parse_failure / hls_feature_denied / dash_feature_denied
|
结构或清单不受支持 | 上游格式;确有需要时再评估兼容级别。 |
capacity_limit / rate_limit
|
命中运行预算 | 并发量、反复生成的节点与服务资源。 |
capability_invalid / capability_expired
|
播放路由失效 | 重新获取 PlaybackInfo,不重复使用旧链接。 |
自动发现会验证全部 DNS 回答并固定校验后的连接目标,要求有效的 HTTPS 证书,不转发管理会话或把固定上游 Header 带到任意跨域目标。
复杂的清单、DRM、第三方 Header 或特殊客户端仍可能不兼容。没有受支持的安全回退时,请求会失败,而不是直接放行原始目标。完整协议与容量边界见项目的 安全策略。
已知且受信任的回源可考虑 手动填写,而不是通过提高兼容级别绕过网络校验。