反代 302 直连
FlowMedia 提供 Emby 和 Navidrome 反向代理,将客户端的播放请求 302 重定向到云盘 CDN 直链,实现零中转流量播放。
端口
| 端口 | 服务 | 说明 |
|---|---|---|
6689 | Emby 反代 | 拦截 Emby DirectPlay 请求,302 到云盘 CDN |
6699 | Navidrome 反代 | 拦截 Navidrome 流媒体请求,302 到云盘 CDN |
确保 docker-compose.yml 中已映射这两个端口:
yaml
ports:
- "6689:6689"
- "6699:6699"Emby 反代配置
客户端设置
将 Emby 客户端(Infuse / VidHub / Emby App 等)的服务器地址改为 FlowMedia 反代地址:
http://<FlowMedia主机IP>:6689而非原来的 Emby 服务器地址。
工作原理
- 客户端向
6689发送播放请求 - FlowMedia 反代解析 STRM 文件中的云盘 pick_code
- 调用云盘 API 获取 CDN 直链
- 返回 302 重定向,客户端直接从云盘 CDN 下载播放
STRM 格式要求
反代仅支持内嵌 pick_code 的新版 STRM 格式。如果使用的是旧版挂载路径 STRM,需要执行一次「强制同步」重新生成。
路径映射
在 FlowMedia「设置 → 反代」中配置 Emby 媒体路径与云盘路径的映射关系:
| Emby 媒体库路径 | 云盘路径前缀 |
|---|---|
/media/电影 | /CloudNAS/影视库/电影 |
/media/电视剧 | /CloudNAS/影视库/电视剧 |
Navidrome 反代配置
客户端设置
将 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 |
下一步
- 链接同步 — 确保 STRM 文件格式正确