跳转到内容

302 代理

302 代理服务器是 SmartStrm 的核心进阶功能,主要目的是将媒体流压力从你的 NAS 服务器转移到网盘直连。

核心设置

“系统设置->302 代理” 中:

  • 服务端口:代理监听的端口,默认 8097
    • 需把该端口映射到宿主机,或网络模式设为 host
  • 媒体服务器地址:指回你真正的 媒体库 地址(如 http://172.17.0.2:8096)。

连接提示

启用后,你就不再直接访问 8096 端口,而是通过 SmartStrm 指定的 服务端口 来管理和观看。

媒体服务器支持

302代理支持 Emby, Jellyfin, Plex, 飞牛影视 ,兼容性最好是 Emby ,建议优先使用。

以下是特定媒体库的一些帮助信息:

飞牛影视

代理飞牛影视支持 56668005 端口,建议使用后者。

  • 代理 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 的支持,但搭配官方客户端需要复杂的配置,以及受限于解码能力,使用依然是个难用的选项。

  1. 第三方客户端 VidHub、Infuse 连接 Plex 本身就支持 STRM 播放,无须另外的 302 代理。
  2. 本项目对自部署的 Web 服务代理后,可以实现 Web 端 302 播放;将代理后的地址加 HTTPS 设置为 设置 - 网络 - 自定义服务器访问 URL 后,支持 Plex 客户端 302 播放。
  3. 在 app.plex.tv 中无法实现 STRM 播放,因为即使修改了后端返回,无法修改官方前端的代码。
  4. 受限于客户端解码能力,部分非流媒体的视频格式不能播放,这是无法解决的。

Plex 自身有穿透机制,需要调整远程设置才能将代理端口提供于各客户端访问。具体设置方法请参考同类项目帮助:

实用增强功能

性能优化

  • 优化 STRM 首播速度:开启后,SmartStrm 会在 Emby 还未完全解析完媒体编码信息前,优先返回 302 直链,能缩短若干秒的等待时间。(实验性功能,视客户端兼容性使用)

UI 增强

在代理 Emby/Jellyfin 页面时,注入实用的功能脚本:

  • 外部播放器按钮:在媒体播放页面顶部增加按钮,支持一键唤起 PotPlayer, VLC, IINA 等本地播放器,解决 Web 端编码不兼容的问题。
  • 美化去广:支持隐藏 Emby 网页端烦人的 “获取 Emby Premiere” 推广按钮及横幅。