SmartStrm部署+Emby媒体库+openlist 零成本NAS播放完全指南
SmartStrm + Emby + OpenList +Emby联动删除直链播放
适用人群:有夸克/123 网盘,却没有大上传带宽,但想拥有"秒播"私人影院的朋友
硬件要求:任意能跑 Docker 的机器(飞牛,群晖,CacaOS)
本文将为您介绍一种新思路:Cp0204 大佬的 SmartStrm 项目。Cp0204/SmartStrm: 一个媒体库 STRM 文件生成工具。和 Emby 优雅配合,媒体资源丝滑入库,支持 302 直链播放,支持同步删除。 配合 Quark-Auto-Save, CloudSaver, Emby 力求即存即看。🥳它能让您的 Emby 媒体库实现夸克网盘和alist 302 直链播放。这意味着您的服务器只负责一个简单的“重定向”操作,数据流完全由网盘和您的播放设备之间传输,从而彻底解放您的本地服务器和带宽压力,实现极致流畅的观影体验。用一句话说就是
“让网盘"吐"流量,服务器指路人——本地 0 上行,下行满带宽。”
来一张结构图方便理解

下面,我们将以 DPanel 环境为例,详细介绍如何配置 SmartStrm 与 Emby。
一、准备清单
先说下原理 :SmartStrm 定时扫描您的夸克网盘和openlist文件服务器,并为每个媒体文件(如.mp4.mkv)生成一个 .strm 文件。但是像是字幕(ass,srt)刮削的数据(nfo)就是会自己下载下到emby,你用支持.strm 播放此文件时,SmartStrm 会接收请求,并重定向夸克网盘的真实下载地址。
环境要求(我使用的是白嫖的aws服务器并且安装CasaOS,可以自己搭建别的,比如飞牛)
DPanel(推荐安装,小白上手快)
Emby 媒体服务器
openlist(只用夸克可以不用)
Cp0204/SmartStrm 项目
二、统一目录与 docker-compose 模板
首先,我们需要规划好文件路径并安装 Docker 容器。
推荐使用DPanel:
curl -sSL https://dpanel.cc/quick.sh -o quick.sh && bash quick.sh
目录准备: 为了方便管理,建议统一规划目录结构。先给个结构框架和结构图
/yourpath
├── smartstrm
│ ├── config
│ └── logs
└── strm ▶ 给 Emby和smartstrm同时读的目录
│
└── openlist
│
└── emby
├── config
└── cache
做成这样就行
关键映射: 将 SmartStrm 的
strm目录映射到 Emby 容器内的/strm路径。这是 Emby 读取.strm文件的关键。
smartstrmdocker compose直接抄(emby只用302的话应该不用正版)
version: "3"
services:
smartstrm:
image: cp0204/smartstrm:latest
container_name: smartstrm
restart: unless-stopped
network_mode: host
volumes:
- ./smartstrm/config:/app/config
- ./smartstrm/logs:/app/logs
- ./smartstrm/strm:/strm
environment:
- PORT=8024
- ADMIN_USERNAME=admin
- ADMIN_PASSWORD=admin123
- LICENSE= # 购买 Pro 后填密钥
emby:
image: emby/embyserver:latest
container_name: emby
restart: unless-stopped
ports:
- "8096:8096"
volumes:
- ./emby/config:/config
- ./emby/cache:/cache
- ./smartstrm/strm:/strm # 关键映射
网络选host就可以,环境变量新增三个参数分别是账户名密码以及Pro版本的key
Emby的配置,我用的是emby,大佬说jellyfin没法联动删除我就换了(没错我就是群里问这个问题的那个
)。
emby三、SmartStrm 后台配置
浏览器打开 http://IP:8024 ,进入 SmartStrm 后台进行配置。
升级 Pro(想 302 必开)
点"免费版"图标 → 开通Pro → 回 Docker 把 LICENSE 填上 → 重启容器。

打开 302 代理
系统设置 ▶ 302 代理
服务端口:8097
媒体服务器地址:
http://<公网IP>:8096媒体服务器地址: 填写 Emby 的本地地址,例如
http://192.168.x.x:8096。(我是用服务器所以是公网)
重要: Emby 播放器需要通过代理端口 8097 访问,而不是直接访问 8096。
如果你是大内网环境可以试试虚拟组网或者是IPV6+DDNS

STRM 规则
大佬项目默认配置的就够用

3. 添加夸克网盘和openlist存储
项目里有说这里大概说下
进入 “存储管理” -> “添加存储”。
夸克
驱动: 选择 夸克 。
Cookie: 登录夸克网盘后,按
F12打开开发者工具,找到并复制完整的 Cookie 字段内容。引用下openlist的获取夸克Cookie的方法,一定要保护好,这东西相对于夸克的登录密码了
按F12打开“调试”,选中“网络”,随意在左侧选择请求,找到携带
Cookie参数的就可以
quark
填入cookie其他的不用管openlist
驱动: 选择 OpenList /alit。
地址:填你的OpenList后台地址
Token: 可在 OpenList 管理后台-设置-其他-令牌 获取。

四、生成 STRM & 入库
1. 生成strm任务
进入 “存储浏览” -> “添加任务”。
完成同步后,SmartStrm 会在/strm目录下生成对应的 .strm 文件。
点这里
根据你自己配置2. 配置 Emby 媒体库
进入 Emby 后台,添加新的媒体库。
类型: 选择
电影或电视。文件夹路径: 选择容器内路径,例如
/strm/网盘动漫。
保存并扫描媒体库,Emby 会自动识别生成的 .strm 文件并进行刮削。如果库为空,请检查 .strm 文件是否已生成,以及路径映射是否正确。可以先打开文件自己看下是不是这样的

五、播放验证
秒拖进度条
看服务器上行 ≈ 0
SmartStrm 日志出现 "strm 302" = 成功
为了验证 302 直链播放是否成功,请确保您的播放器(如:yamby)或客户端是通过代理地址 http://宿主机IP:8097 访问 Emby 服务器。
这样就行您可以尝试拖动进度条,如果是秒播且视频链接是 SmartStrm 的地址,观察日志是否命中,然后看上行有没有跑就行了
六、Emby联动删除
这是我认为这个软件最与众不同的一个地方,你可直接从emby中删除你的strm文件,SmartStrm检测到就会同步删除文件,我本来是用jellyfin的,被这个功能吸引转emby了(大佬说jellyfin不行)
其实本质就是通过Webhook通知来告知SmartStrm emby是否删除文件,就比如我现在要删除这部

通过日志就能看到

设置起来也很简单复制系统设置里面Webhook 地址并且打开Emby删除同步设置

然后粘贴到emby的通知里面

按照我的步骤来就行


然后发送测试通知试下就行如果这样就算成功

dayunnas
校验提示文案
值友6868742314
校验提示文案
值友6868742314
校验提示文案
dayunnas
校验提示文案