侧边栏壁纸
博主头像
Eric‘s Blog

To be a better man.

  • 累计撰写 45 篇文章
  • 累计创建 14 个标签
  • 累计收到 6 条评论

目 录CONTENT

文章目录
NAS

基于网盘的自动转存与 STRM 生成方案CloudSaver + SmartSTRM + Jellyfin 实现零本地存储播放

Eric
2026-01-26 / 1 评论 / 0 点赞 / 107 阅读 / 0 字

基于网盘的自动转存与 STRM 生成方案

使用 CloudSaver + SmartSTRM + Jellyfin 实现零本地存储播放

近年来硬盘价格持续走高,相比之下,各类网盘的性价比反而愈发凸显。

如果你不希望在本地存储大量影音文件,但又想在 Jellyfin 中实现流畅播放,那么 STRM + 网盘直链 的方案是一个非常理想的选择。

本文将分享一套 完整的网盘转存系统方案,可以实现:

  • 资源一键转存到网盘

  • 自动生成本地 STRM 文件

  • Jellyfin 直接播放

  • 几乎不占用本地存储空间

相关文档下载:下载地址

📺 本文对应的视频演示已发布在 YouTube,建议结合视频一起查看完整操作流程。

/


一、方案整体架构说明

本方案主要由三个部分组成:

  1. CloudSaver

  • 负责资源搜索与一键转存

  • 支持多个主流网盘

  • 提供转存完成后的自动触发能力

  1. SmartSTRM

  • 将网盘中的资源自动映射为本地 STRM 文件

  • 为 Jellyfin / Emby / Plex 提供本地媒体结构

  1. Jellyfin

  • 作为媒体服务器

  • 直接播放 STRM 对应的网盘资源

整个流程中,不需要本地存储真实视频文件,仅生成体积极小的 STRM 文件。


二、部署环境说明

本文演示环境为 飞牛系统(FnOS)

如果你使用的是其他 Linux / NAS 系统,Docker Compose 的部署方式基本一致。

本次需要部署 两个 Docker 容器

  • CloudSaver

  • SmartSTRM


三、部署 SmartSTRM

1. 创建项目目录

建议为 Docker 项目统一建立一个主目录,方便后期管理。

在该目录下为 SmartSTRM 创建独立子目录。


2. 新建 Docker Compose 项目

在 Docker 管理界面中:

  1. 新增 Compose 项目

  1. 填写项目名称(如 smartstrm

  1. 选择刚才创建的目录路径

  1. 粘贴 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 类似:

  1. 新增 Compose 项目

  1. 填写项目名称和路径

  1. 粘贴 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 网盘(账号登录)

本文以 夸克网盘 为例进行演示。


获取方法如下:

  1. 打开夸克网盘网页版并登录

  1. F12 打开开发者工具

  1. 切换到「网络(Network)」

  1. 刷新页面

  1. 在第一个 list 请求中找到 cookie

  1. 将完整 Cookie 内容复制

将复制的 Cookie 粘贴到 CloudSaver 的网盘配置中并保存。


3. 导入搜索频道(搜索源)

在设置中找到 搜索频道

  • 支持批量导入

  • 相关文件我会放在视频简介中

  • 导入时选择 增量更新

保存设置即可生效。


六、配置 SmartSTRM

1. 访问 SmartSTRM 管理页面

使用:

  • IP:端口

  • Compose 中设置的用户名和密码

登录 SmartSTRM 后开始配置。


2. 添加存储(网盘)

  1. 进入「存储管理」

  1. 新增存储

  1. 名称可自定义(如:夸克)

  1. 驱动类型选择对应网盘

  1. 粘贴刚才获取的 Cookie

  1. 保存设置

保存后,可以在存储浏览中看到网盘内容。


3. 创建 STRM 生成任务

进入「任务管理」→ 新建任务:

  • 任务名称:如 电影

  • 使用存储:选择刚才添加的网盘

  • 扫描路径:网盘中电影所在目录

  • 执行时间:暂时保持默认

保存后,STRM 任务即创建完成。


七、CloudSaver 与 SmartSTRM 联动配置

1. 新建自定义推送插件

在 CloudSaver 中:

  1. 进入插件管理

  1. 新建自定义推送

  1. 执行类型选择 转存后执行

  1. 云盘选择对应网盘

  1. 保存


2. 配置 Webhook

  1. 在 SmartSTRM 设置中找到 Webhook 地址

  1. 将地址复制到 CloudSaver 推送配置中

  1. 触发延迟时间设置为 3 秒

  • 表示转存完成后 3 秒触发 STRM 生成任务

  1. 添加自定义字段

  • 具体字段和条件我会整理在文档中提供

启用该推送规则。


八、完整流程测试

进行一次测试转存:

  1. 在 CloudSaver 中选择资源

  1. 点击转存

  1. 选择目标目录

  1. 在“保存后执行推送”中选择对应网盘

转存成功后:

  • CloudSaver 触发推送

  • SmartSTRM 自动执行任务

  • 本地生成 STRM 文件

可以在 SmartSTRM 日志中看到执行记录。


九、Jellyfin 中的使用

1. 安装 Jellyfin

如果尚未安装 Jellyfin,可先完成安装(具体过程可参考视频)。


2. 添加媒体库

在 Jellyfin 中:

  • 将 STRM 文件所在目录映射为媒体库

  • 媒体类型按「电影 / 剧集」分别添加

媒体库扫描完成后,即可看到影片条目。

测试播放确认可以正常播放即可。


十、总结

通过 CloudSaver + SmartSTRM + Jellyfin 这套方案,可以实现:

  • 几乎不占用本地存储

  • 网盘资源自动转存

  • STRM 文件自动生成

  • 媒体库自动更新

如果你希望构建一个 低成本、高扩展性、适合长期使用的影音系统,这套方案非常值得尝试。

相关代码、Compose 文件和配置文档,都会放在视频简介中供大家参考。

如果在部署过程中遇到问题,欢迎留言交流。

0

评论区