Skip to content

反代 302 直连

FlowMedia 提供 Emby 和 Navidrome 反向代理,将客户端的播放请求 302 重定向到云盘 CDN 直链,实现零中转流量播放。

端口

端口服务说明
6689Emby 反代拦截 Emby DirectPlay 请求,302 到云盘 CDN
6699Navidrome 反代拦截 Navidrome 流媒体请求,302 到云盘 CDN

确保 docker-compose.yml 中已映射这两个端口:

yaml
ports:
  - "6689:6689"
  - "6699:6699"

Emby 反代配置

客户端设置

将 Emby 客户端(Infuse / VidHub / Emby App 等)的服务器地址改为 FlowMedia 反代地址:

http://<FlowMedia主机IP>:6689

而非原来的 Emby 服务器地址。

工作原理

  1. 客户端向 6689 发送播放请求
  2. FlowMedia 反代解析 STRM 文件中的云盘 pick_code
  3. 调用云盘 API 获取 CDN 直链
  4. 返回 302 重定向,客户端直接从云盘 CDN 下载播放

STRM 格式要求

反代仅支持内嵌 pick_code 的新版 STRM 格式。如果使用的是旧版挂载路径 STRM,需要执行一次「强制同步」重新生成。

路径映射

在 FlowMedia「设置 → 反代」中配置 Emby 媒体路径与云盘路径的映射关系:

Emby 媒体库路径云盘路径前缀
/media/电影/CloudNAS/影视库/电影
/media/电视剧/CloudNAS/影视库/电视剧

客户端设置

将 Subsonic 兼容客户端(如 Symfonium、substreamer)的服务器地址改为:

http://<FlowMedia主机IP>:6699

工作原理

与 Emby 反代对称,拦截 /rest/stream/rest/download 请求,302 到云盘 CDN。

音乐链接同步推荐使用软链接模式,Navidrome 索引软链接后,反代同样能解析并 302 直连。

DirectPlay 优先策略

FlowMedia 反代采用激进的 DirectPlay 策略:

  • 支持:Infuse、VidHub、Emby App、mpv 等支持 DirectPlay 的客户端
  • 不支持:浏览器软解播放、服务器端转码
  • 优势:容器侧流量趋近零(实测 1 分钟 200MB 降至 7MB)

如需转码播放,请直接使用 Emby / Navidrome 原生地址,不经过 FlowMedia 反代。

缓存机制

反代内置 URL 缓存(TTL 5 分钟),避免 seek 操作时的黑屏问题。缓存自动管理,无需手动配置。

故障排查

问题排查方法
播放失败确认 STRM 文件为新格式(含 pick_code),必要时强制同步
无法连接反代检查 6689/6699 端口是否已映射且防火墙已放通
播放卡顿检查云盘账号是否在线,直链是否有效
群晖 6690 冲突Navidrome 反代使用 6699 端口,避开群晖保留的 6690

下一步