WARNING全文由人工撰写并通过AI寻找语病订正,如果无法接受可退出。
1. 概览与先决条件
本文将在一台云服务器上,手把手带你从零开始搭建基于 115 网盘或 123 网盘的影视库。我们将结合 Symedia 进行自动化管理,并提供 Emby 服务端与 Infuse 直连两种观影路径。
在正式开始之前,我们需要理清整体的架构逻辑。

前情提要: 115 网盘对开放 API 接口有着极其严格的速率限制。这就导致了一个非常现实的问题:无论是使用刮削软件、Emby 还是 Infuse,如果选择直接挂载 115 网盘进行读取,扫库速度会慢到令人发指。添加新影片后,刮削入库的过程繁琐且漫长。更糟的是,Infuse 在直接挂载 115 网盘时,请求限制往往导致扫库卡顿,甚至无法起播。
与此同时,Infuse 虽然好用,但也有局限性:
- 在线元数据模式:无法获取 TMDB 里不存在的那类 影片信息。
- 离线元数据模式:识别率感人。
因此,引入 Emby 作为后端来统一管理元数据,是提高观影体验的必要手段。
NOTE主要方案流程:
存储:115网盘 / 123网盘
挂载:通过 CloudDrive (CD2) 挂载为本地目录
管理:Symedia 读取网盘目录树,生成指向本地路径的 STRM 文件,并自动下载影片元数据
媒体库:Emby 直接扫描 STRM 文件极速入库
播放(302) :
- 客户端连接 FastEmby 反代端口
- STRM 链接被拦截并改写
- 115 视频由 FastEmby 获取直链
- 123 等其他盘由 OpenList 302 挂载模式获取直链
客户端:Infuse/Emby直连网盘地址流畅观看
然而,原生的 Emby 在起播 STRM 文件之前,有一个顽固的机制:它总是会尝试读取文件头部,使用 ffprobe -i 获取视频的编码、音轨等详细信息。这带来了三个严重的副作用:
- 起播龟速:客户端点击播放后需要转圈很久。
- 流量爆炸:服务端为了读取文件头,会消耗大量下行流量,对于按流量计费的服务器不友好。
- 性能崩溃:在处理结构不良的 MKV 或 ISO 原盘文件时,可能消耗上 GB 的流量并耗尽低配服务器的内存与磁盘 IO,直接导致假死。
在 Symedia 的官方 Wiki 中有关于此问题的详细描述:Symedia Wiki-神医插件。简单来说:这款 Emby 插件可以有效解决问题 1(起播慢),但对问题 2 和 3 的改善有限。
因此,针对服务端配置较低、或者对起播速度有极致要求的场景,这里也提供一套去除了 Emby 的备选方案。代价是牺牲了媒体库的自由划分能力,且无法展示特殊影片的海报墙。但经实测,该方案针对 Remux 动漫和电影,起播速度可压缩至 2-5 秒。
NOTE备选方案流程(极速起播):
存储:115网盘 / 123网盘
挂载:CloudDrive (CD2) 挂载
管理:Symedia 生成指向 OpenList 的 STRM 文件(而非本地路径),并下载元数据
播放(302) :
- Infuse 直接挂载包含 STRM 的文件夹(通过 WebDAV)
- 所有视频请求由 OpenList 302 模式获取直链
终端:客户端直连网盘观看
如果既想观看特殊影片,又希望普通影片在低配服务器上秒播,可以混合使用这两种方案。即:普通影片走备选方案(Infuse 直连),特殊影片走主要方案(Emby 管理)。
让我们开始吧!
本文所需的前置条件:
IMPORTANT
- 一台 NAS 或云服务器(必需)
- 115 网盘或 123 网盘账号(必需,需付费)
- Symedia 激活码(必需,179 元)
- Infuse PRO(备选方案必需,需付费)
- CloudDrive 会员(若挂载多个网盘则必需)
- Emby 激活码(可选,也可寻找某种版本)
2. 服务端准备工作
2.1 虚空终端(网络环境配置)
Symedia 在刮削元数据、通过 Bot 推送通知以及我们拉取 Docker 镜像时,需要一个相对科学的网络环境。
如果你使用的是家用 NAS,解决方式较多:
- 旁路网关:在局域网内运行基于虚空终端的软件,开启“允许局域网连接”,获取内网代理地址(如
192.168.1.x:7890) - 透明代理:在主路由或软路由层面解决
- 本机运行:直接在服务端运行虚空终端核心
下面重点介绍方法 3,它同时适用于云服务器和 NAS 环境。
操作步骤:
-
下载核心:用电脑下载适用于你服务器架构(通常是
linux-amd64)的虚空终端核心并解压。 -
上传文件:将核心文件上传到服务器的工作目录,假设重命名为
mihomo-linux-amd64。 -
安装与配置:执行以下命令,创建目录并赋予权限。
Terminal window sudo mv mihomo-linux-amd64 /usr/local/bin/mihomosudo chmod +x /usr/local/bin/mihomosudo mkdir -p /etc/mihomosudo vi /etc/mihomo/config.yaml -
编辑配置文件:先填入下面的基础配置,然后从你自己的订阅配置文件中复制
proxies、proxy-groups 和rules部分填入下方。# 基础端口设置port: 7890socks-port: 7891mixed-port: 7893allow-lan: truemode: Rulelog-level: infoipv6: trueexternal-controller: '0.0.0.0:9990'secret: "您的后台密码"external-ui: /etc/mihomo/ui# --- 关键:TUN 模式配置 ---# 在拉取 Docker 镜像时非常有用,日常运行可关闭tun:enable: falsestack: system # 或者 gvisordns-hijack:- any:53auto-route: trueauto-detect-interface: true# --- 关键:DNS 配置 (配合 TUN 必须开启 fake-ip 或 redir-host) ---dns:enable: truelisten: 0.0.0.0:53enhanced-mode: fake-ipnameserver:- 8.8.8.8- 1.1.1.1# --- 请在下方粘贴您的 proxies, proxy-groups, rules --- -
配置 UI 面板:下载 Metacubexd 或其他 UI 的 release 压缩包,解压后将文件夹内的所有文件放入
/etc/mihomo/ui。
注意:运行时如果提示缺少 MMDB 文件,请自行下载 Country.mmdb 放入 /etc/mihomo 目录。 -
设置开机自启:
创建服务文件:Terminal window sudo nano /etc/systemd/system/mihomo.service填入内容:
[Unit]Description=Mihomo DaemonAfter=network.target[Service]Type=simpleUser=root# TUN 模式必须用 root 权限运行ExecStart=/usr/local/bin/mihomo -d /etc/mihomoRestart=on-failure[Install]WantedBy=multi-user.target启动服务:
Terminal window sudo systemctl daemon-reloadsudo systemctl enable mihomo --nowsudo systemctl status mihomo -
验证:访问
http://服务器IP:9990/ui,填入服务器 IP 和密码即可进入控制面板。
2.2 Docker 环境
在安装 Docker 和拉取镜像之前,建议先在虚空终端的网页面板中,开启 “配置” -> “开启 TUN 转发”。下载完成后记得关闭此开关,以免影响其他服务。

安装 Docker :
curl -fsSL https://get.docker.com | bash3. 安装 CD2 与 OpenList
CloudDrive2 (CD2)
此处不使用 Docker 版本的 CD2,前往 CloudDrive2 官网 下载 Linux x86_64 版本。
请详细阅读 CD2 官方教程。将下载的 tgz 包解压到你的工作目录,例如 /root。解压后,最终的可执行文件路径应类似:/root/clouddrive-2-linux-x86_64-x.x.x/clouddrive。
设置开机自启服务:
sudo nano /etc/systemd/system/clouddrive.service[Unit]Description=CloudDrive DaemonAfter=network.target
[Service]Type=simpleUser=root# 请根据实际解压路径修改 WorkingDirectory 和 ExecStartWorkingDirectory=/root/clouddrive-2-linux-x86_64-你的版本号ExecStart=/root/clouddrive-2-linux-x86_64-你的版本号/clouddriveRestart=on-failure
[Install]WantedBy=multi-user.target启动 CD2:
sudo systemctl daemon-reloadsudo systemctl enable clouddrive --nowsudo systemctl status clouddrive安装完成后,可通过 http://服务器IP:19798 访问 CD2 管理页面。
OpenList
OpenList 是一个轻量级的目录列表程序,支持 302 重定向,是本方案中处理非 115 网盘(如 123 盘)直链的工具。
使用官方一键脚本安装(脚本可能随时间更新,建议到官网一键安装寻找最新脚本):
curl -fsSL https://res.oplist.org/script/v4.sh > install-openlist-v4.sh && sudo bash install-openlist-v4.sh脚本运行过程中选择“安装OpenList”即可。安装完成后,通过 http://服务器IP:5244 访问。初始用户名和密码会显示在终端输出中,请务必记录。如果遗忘,可再次运行脚本重置密码。
4. 创建 Symedia、Emby、FastEmby 容器
这一步涉及到路径映射,逻辑需要非常清晰。
我们将通过 CD2 把网盘挂载到宿主机的本地路径。
- 对于群晖/飞牛等 NAS,通常挂载到
/volume1/CloudNAS。 - 对于普通 Linux 服务器,推荐挂载到
/mnt/CloudNAS。
关键: 本文不使用 Docker 化的 CD2,因此挂载路径完全由我们控制。为了统一后续配置,我们假设宿主机的挂载点为 /mnt/CloudNAS/CloudDrive。
NOTE关于 Symedia 官方 Wiki 的说明: Wiki 中的逻辑是针对“全容器化”场景,即网盘在宿主机的路径和在 CD2 容器内的路径存在映射关系。由于我们直接在宿主机运行 CD2,请勿参考 Wiki 中“标准挂载”部分的映射逻辑。
请直接复制以下命令创建容器,确保路径一致。
Symedia
Symedia 负责刮削、整理和生成 STRM。
docker run -d \ --name symedia \ -e TZ=Asia/Shanghai \ -e LICENSE_KEY=你的Symedia激活码 \ -e COVER_MAKER=true \ -e HTTP_PROXY=http://127.0.0.1:7890 \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ -v ./config:/app/config \ -v ./playwright:/symedia/.cache/ms-playwright \ -v ./fonts:/app/static/fonts \ -v /mnt/CloudNAS:/CloudNAS:rslave \ -v /mnt/media_strm:/media \ -p 8095:8095 \ --restart always \ --network host \ shenxianmq/symedia:latest-
HTTP_PROXY:指向你搭建的虚空终端。如果 Symedia 使用host 网络模式,填127.0.0.1:7890即可;否则需填服务器内网 IP。 -
/mnt/CloudNAS:这是 CD2 挂载网盘的根目录的上级目录。 -
/mnt/media_strm:这是 Symedia 生成的 STRM 文件存放的本地路径。
访问端口:8095
Emby
媒体服务器核心。
docker run -d \ --name emby_server \ --restart always \ --network host \ -e PUID=0 \ -e PGID=0 \ -e TZ=Asia/Shanghai \ -v /mnt/emby_data:/config \ -v /mnt/CloudNAS:/CloudNAS:rslave \ -v /mnt/media_strm:/media \ linuxserver/emby:latest-
/mnt/emby_data:Emby 的配置数据目录,可以改变。 -
/mnt/media_strm:/media:将 Symedia 生成的 STRM 映射给 Emby 读取。
访问端口:8096
FastEmby
用于接管 115 视频流量并实现重定向。
docker run -d \ --name FastEmby \ --network host \ --restart unless-stopped \ -e LICENSE_KEY=你的Symedia激活码 \ -v /mnt/fastEmby/config:/app/config \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ shenxianmq/fastemby:latest访问端口:9026
所有容器部署完毕后,请务必回到虚空终端面板,将 TUN 模式 开关关闭,避免影响服务器正常的网络流量转发。
5. 在 CD2 和 OpenList 挂载网盘
CloudDrive2 挂载
访问 CD2 后台,登录你的 115 和 123 网盘账号。
- 115 网盘挂载名设为:
/115open - 123 网盘挂载名设为:
/123云盘

进入“挂载”,点击添加挂载点。按照下图填写,将网盘挂载到我们预设的 /mnt/CloudNAS/CloudDrive。

挂载完成后,进入“我的文件”,找到网盘内的影视库文件夹,点击“详情”,将缓存时间修改为 0 秒。如果后期遇到添加了影片,但是Symedia却找不到文件、无法链接的情况,可以点击黄色时钟按钮清空缓存。

目录结构建议: 为了配合 Symedia 的自动整理,建议按照如下树状结构组织你的网盘影视库:
115影视库├── 电影│ └── 上海堡垒 (2019)│ ├── 上海堡垒 (2019) {tmdb-xxxxx} - 4K DV.mkv│ └── (元数据)├── 动漫│ └── 笨女孩 (2017)│ ├── (元数据)│ └── Season 1│ ├── (集元数据)│ └── 笨女孩 (2017) S01E01 - 标题.mkv├── 演唱会└── 电视剧OpenList 挂载
OpenList 主要用于解决 123 盘等非 115 网盘的直链分发。
-
全局设置:进入设置 -> 全局,关闭“签名所有”。

-
添加驱动:
- 进入存储 -> 添加。
- 驱动选择:123开放平台
- 挂载路径:
/123云盘 - WebDAV 策略:302 重定向
- 其他参数(客户端 ID、密钥等):请参考 OpenList 官方文档 - 123开放平台驱动 获取并填写
6. 配置 Symedia
6.1 插件配置:EmbyServer
进入 Symedia 插件中心,找到 EmbyServer。
按照下图填写 Emby 地址和 API Key。API Key 可以在 Emby 后台 -> API 页面生成。填写完毕记得保存。

6.2 添加网盘账号
-
115 设置:设置 -> 115设置 -> 添加配置 -> 随便填写名称 -> 保存。

- Cookie 获取:去插件中心安装“115扫码cookie”插件,扫码获取 Cookie 后,可以一键填入刚才创建的配置中。
-
123 设置:设置 -> 123设置 -> 直接填写账号密码保存。

6.3 STRM 链接同步
115 网盘同步任务: 打开“链接同步”界面,创建任务。
- 媒体目录:选择 CD2 挂载的 115 影视库目录。
- 链接目录:选择
/media/影视库115(Symedia 容器内的路径)。


在“实时监控”选项卡中,选择 Webhook 模式。

123 网盘同步任务: 创建新任务,设置逻辑同上,但请注意下图红框标记的字段。

6.4 连接 CD2 并开启 Webhook
Symedia 插件 -> clouddrive2助手。
- 服务器地址:填写 CD2 的访问地址(如果你的CD2是容器化的,IP填写服务器的内网IP,如果你按照本文来部署的,无需改动)。
- API Token:在 CD2 界面创建一个拥有**所有权限**的 Token 填入。
保存配置后,Symedia 就能接收到 CD2 的文件变动通知。

6.5 运行同步与归档
-
启动同步:在链接同步界面,启动 115 和 123 的任务。可以在日志中查看进度。
如果卡住,可以在“CD2-系统任务-下载任务”查看情况,通常是由于下载到了体积较大的元数据或者多音轨。这是正常现象,如果嫌慢,可以编辑任务-高级配置-元数据后缀-去掉mka,mp3,flac等体积可能较大的文件。 -
配置自动归档:
- 创建规则:Symedia -> 归档刮削 -> 规则。推荐使用“自动二级分类”,文件名保持默认。
- 创建任务:Symedia -> 归档刮削 -> 任务列表。源目录指向网盘内的“影视库待归档”文件夹,目标目录指向正式的“影视库”文件夹。


设置完成后,只需将下载或转存的影片丢入“待归档”文件夹,Symedia 就会全自动刮削、重命名并移动到影视库,整个过程行云流水。
7. 配置 Emby 媒体库 + FastEmby
-
Emby 媒体库设置:
进入 Emby 设置 -> 媒体库。
将/media内的文件夹按你的喜好添加为媒体库,去掉一切可能导致读取视频信息、生成缩略图有关的选项。之后开始扫库,体验速度带来的快感,所有人保持衣物干燥。 -
FastEmby 设置:
打开 FastEmby 后台,参照下图配置:
- 115 授权:打开 Symedia 设置 -> 115设置,复制 Cookie。然后去 FastEmby -> 115助手,粘贴并测试。
最终效果:
客户端连接 http://服务器IP:8098(FastEmby 的反代端口),即可实现 302 播放。Emby 负责展示精美的海报墙,FastEmby 负责在后台偷梁换柱。
至此,新片转存后,Emby将会快速完成入库。emby由于会在播放前尝试解析视频信息,导致起播速度缓慢,可通过购买神医助手插件解决,详见本文开头部分。注意,这无法解决服务器流量消耗和配置不足、解析视频时卡死的问题。
8. 低配服务器的备用方案(极速起播)
如果服务器配置实在太低或者流量费用太高,可以将普通影片的播放任务完全交给 Infuse,抛弃 Emby,或者只把Emby用于特殊影片的观看。
原理变更: 在备用方案中,Symedia 生成的 STRM 文件不再包含指向本地文件的路径,而是直接指向 OpenList 的网盘视频文件地址。Infuse 挂载 OpenList STRM文件夹后,请求视频时,OpenList 直接返回网盘直链(302 跳转),Infuse 随之直连网盘。
改造步骤:
-
清理旧数据:
删除/mnt/media_strm内的所有旧 STRM 文件(因为它们是给 Emby 用的本地路径)。
先预览要删除的文件:Terminal window find /mnt/media_strm -type f -name "*.strm"确认无误后,执行删除:
Terminal window find /mnt/media_strm -type f -name "*.strm" -delete -
修改同步任务:
回到 Symedia -> 链接同步,修改 115 和 123 的任务配置。
重点关注红框部分,将链接前缀指向 OpenList 路径。
重新执行同步任务。这次速度会飞快,因为元数据之前已经下载过了。
-
配置 OpenList:
-
添加本机存储:
进入 OpenList -> 存储 -> 添加。
驱动:本机存储。
挂载路径:/media_strm。
根文件夹路径:/mnt/media_strm(即 Symedia 生成 STRM 的位置)。
保存。
-
添加 115 存储:
驱动:115开放平台。
挂载路径:/115open。
WebDAV 策略:302 重定向。
令牌获取方式到OpenList官方文档去查
-
-
Infuse 客户端设置:
- 添加 WebDAV 共享。
- 地址:服务器 IP,端口
5244。 - 用户名/密码:OpenList 的账号密码(默认是admin)。
- 路径:
/dav/media_strm。 - 关闭“预获取详情”和“预缓存海报”,但可以开启“智能文件夹”。
等待 Infuse 扫描完成,点击播放。此时,Infuse 获取到的是经过 OpenList 302 重定向后的直链,起播速度通常在 5 秒以内,拖拽进度条丝般顺滑。
