基于网盘的自动转存与 STRM 生成方案
使用 CloudSaver + SmartSTRM + Jellyfin 实现零本地存储播放
近年来硬盘价格持续走高,相比之下,各类网盘的性价比反而愈发凸显。
如果你不希望在本地存储大量影音文件,但又想在 Jellyfin 中实现流畅播放,那么 STRM + 网盘直链 的方案是一个非常理想的选择。
本文将分享一套 完整的网盘转存系统方案,可以实现:
资源一键转存到网盘
自动生成本地
STRM文件
Jellyfin 直接播放
几乎不占用本地存储空间
相关文档下载:下载地址
📺 本文对应的视频演示已发布在 YouTube,建议结合视频一起查看完整操作流程。
/
一、方案整体架构说明
本方案主要由三个部分组成:
CloudSaver
负责资源搜索与一键转存
支持多个主流网盘
提供转存完成后的自动触发能力
SmartSTRM
将网盘中的资源自动映射为本地
STRM文件
为 Jellyfin / Emby / Plex 提供本地媒体结构
Jellyfin
作为媒体服务器
直接播放 STRM 对应的网盘资源
整个流程中,不需要本地存储真实视频文件,仅生成体积极小的 STRM 文件。
二、部署环境说明
本文演示环境为 飞牛系统(FnOS)。
如果你使用的是其他 Linux / NAS 系统,Docker Compose 的部署方式基本一致。
本次需要部署 两个 Docker 容器:
CloudSaver
SmartSTRM
三、部署 SmartSTRM
1. 创建项目目录
建议为 Docker 项目统一建立一个主目录,方便后期管理。
在该目录下为 SmartSTRM 创建独立子目录。
2. 新建 Docker Compose 项目
在 Docker 管理界面中:
新增 Compose 项目
填写项目名称(如
smartstrm)
选择刚才创建的目录路径
粘贴 SmartSTRM 的 Compose 文件
name: smartstrm
services:
smartstrm:
image: cp0204/smartstrm:latest
container_name: smartstrm
restart: unless-stopped
network_mode: host
volumes:
- ./config:/app/config # 挂载配置目录
- ./logs:/app/logs # 挂载日志目录,可选
- /vol1/1000/Media/strm:/strm # 挂载 STRM 生成目录
# 以上 /yourpath 改为你实际存放配置的路径
environment:
- PORT=8025 # 管理端口,可选
- ADMIN_USERNAME=admin # 管理用户名
- ADMIN_PASSWORD=admin123 # 管理用户密码
- LICENSE= # 许可证字符串(如有)
3. 修改配置参数
根据自己的实际情况修改以下内容:
STRM 本地存储路径(非常重要)
端口号(避免与其他服务冲突)
访问用户名和密码
配置完成后即可开始构建容器。
四、部署 CloudSaver
1. 新建 CloudSaver 项目
部署方式与 SmartSTRM 类似:
新增 Compose 项目
填写项目名称和路径
粘贴 CloudSaver 的 Compose 文件
version: "3"
services:
cloudsaver:
image: jiangrui1994/cloudsaver:latest
container_name: cloud-saver
ports:
- "8088:8008"
volumes:
- ./data:/app/data
- ./config:/app/config
restart: unless-stopped需要注意的地方:
检查端口是否被占用
如果冲突,修改为其他端口即可
其余参数一般无需修改
2. 构建并访问 CloudSaver
构建完成后,通过浏览器访问 CloudSaver 页面。
首次使用需要注册账号:
管理员注册码:230713
注册完成后即可进入后台管理界面。
五、CloudSaver 基本配置
1. 添加网盘支持
CloudSaver 支持多种网盘类型:
115 网盘(Cookie 登录)
夸克网盘(Cookie 登录)
天翼云盘(账号登录)
123 网盘(账号登录)
本文以 夸克网盘 为例进行演示。
2. 获取夸克网盘 Cookie
获取方法如下:
打开夸克网盘网页版并登录
按
F12打开开发者工具
切换到「网络(Network)」
刷新页面
在第一个
list请求中找到cookie
将完整 Cookie 内容复制
将复制的 Cookie 粘贴到 CloudSaver 的网盘配置中并保存。
3. 导入搜索频道(搜索源)
在设置中找到 搜索频道:
支持批量导入
相关文件我会放在视频简介中
导入时选择 增量更新
保存设置即可生效。
六、配置 SmartSTRM
1. 访问 SmartSTRM 管理页面
使用:
IP:端口
Compose 中设置的用户名和密码
登录 SmartSTRM 后开始配置。
2. 添加存储(网盘)
进入「存储管理」
新增存储
名称可自定义(如:夸克)
驱动类型选择对应网盘
粘贴刚才获取的 Cookie
保存设置
保存后,可以在存储浏览中看到网盘内容。
3. 创建 STRM 生成任务
进入「任务管理」→ 新建任务:
任务名称:如
电影
使用存储:选择刚才添加的网盘
扫描路径:网盘中电影所在目录
执行时间:暂时保持默认
保存后,STRM 任务即创建完成。
七、CloudSaver 与 SmartSTRM 联动配置
1. 新建自定义推送插件
在 CloudSaver 中:
进入插件管理
新建自定义推送
执行类型选择 转存后执行
云盘选择对应网盘
保存
2. 配置 Webhook
在 SmartSTRM 设置中找到 Webhook 地址
将地址复制到 CloudSaver 推送配置中
触发延迟时间设置为 3 秒
表示转存完成后 3 秒触发 STRM 生成任务
添加自定义字段
具体字段和条件我会整理在文档中提供
启用该推送规则。
八、完整流程测试
进行一次测试转存:
在 CloudSaver 中选择资源
点击转存
选择目标目录
在“保存后执行推送”中选择对应网盘
转存成功后:
CloudSaver 触发推送
SmartSTRM 自动执行任务
本地生成 STRM 文件
可以在 SmartSTRM 日志中看到执行记录。
九、Jellyfin 中的使用
1. 安装 Jellyfin
如果尚未安装 Jellyfin,可先完成安装(具体过程可参考视频)。
2. 添加媒体库
在 Jellyfin 中:
将 STRM 文件所在目录映射为媒体库
媒体类型按「电影 / 剧集」分别添加
媒体库扫描完成后,即可看到影片条目。
测试播放确认可以正常播放即可。
十、总结
通过 CloudSaver + SmartSTRM + Jellyfin 这套方案,可以实现:
几乎不占用本地存储
网盘资源自动转存
STRM 文件自动生成
媒体库自动更新
如果你希望构建一个 低成本、高扩展性、适合长期使用的影音系统,这套方案非常值得尝试。
相关代码、Compose 文件和配置文档,都会放在视频简介中供大家参考。
如果在部署过程中遇到问题,欢迎留言交流。
评论区