302 代理
302 代理服务器是 SmartStrm 的核心进阶功能,主要目的是将媒体流压力从你的 NAS 服务器转移到网盘直连。
核心设置
在 “系统设置->302 代理” 中:
- 服务端口:代理监听的端口,默认
8097- 需把该端口映射到宿主机,或网络模式设为 host
- 媒体服务器地址:指回你真正的 媒体库 地址(如
http://172.17.0.2:8096)。
连接提示
启用后,你就不再直接访问 8096 端口,而是通过 SmartStrm 指定的 服务端口 来管理和观看。
媒体服务器支持
302代理支持 Emby, Jellyfin, Plex, 飞牛影视 ,兼容性最好是 Emby ,建议优先使用。
以下是特定媒体库的一些帮助信息:
飞牛影视
代理飞牛影视支持 5666 或 8005 端口,建议使用后者。
- 代理
5666时,可在 飞牛APP 或 飞牛播放器 中使用 (不能用 FN ID) - 代理
8005时,可在 飞牛播放器 和 第三方播放器 中使用
TIP
SmartStrm 对第三方播放器添加飞牛影视无法播放 STRM 的情况特别做了支持,代理后可以播放,已测试客户端 VidHub、SenPlayer、网易爆米花。如你依然无法播放且为 Docker 部署,请尝试将主机的 strm 目录真实路径加入容器目录映射中,如 /vol1/1000/path/strm:/vol1/1000/path/strm
Plex
前方有坑预警
Plex 是账号体系+自部署服务,和独立自部署有本质区别。即便 SmartStrm 对 Plex 做了 302 的支持,但搭配官方客户端需要复杂的配置,以及受限于解码能力,使用依然是个难用的选项。
- 第三方客户端 VidHub、Infuse 连接 Plex 本身就支持 STRM 播放,无须另外的 302 代理。
- 本项目对自部署的 Web 服务代理后,可以实现 Web 端 302 播放;将代理后的地址加 HTTPS 设置为
设置 - 网络 - 自定义服务器访问 URL后,支持 Plex 客户端 302 播放。 - 在 app.plex.tv 中无法实现 STRM 播放,因为即使修改了后端返回,无法修改官方前端的代码。
- 受限于客户端解码能力,部分非流媒体的视频格式不能播放,这是无法解决的。
Plex 自身有穿透机制,需要调整远程设置才能将代理端口提供于各客户端访问。具体设置方法请参考同类项目帮助:
实用增强功能
性能优化
- 优化 STRM 首播速度:开启后,SmartStrm 会在 Emby 还未完全解析完媒体编码信息前,优先返回 302 直链,能缩短若干秒的等待时间。(实验性功能,视客户端兼容性使用)
UI 增强
在代理 Emby/Jellyfin 页面时,注入实用的功能脚本:
- 外部播放器按钮:在媒体播放页面顶部增加按钮,支持一键唤起 PotPlayer, VLC, IINA 等本地播放器,解决 Web 端编码不兼容的问题。
- 美化去广:支持隐藏 Emby 网页端烦人的 “获取 Emby Premiere” 推广按钮及横幅。