前言
现在在互联网上,要么看删减版的动画,要么充值看低清虚标的影视剧,我已经受够了这样的现状!于是乎我要搭建一个独属于我自己的媒体影音中心,专注于追剧看番等资源的下载与管理。以下是我在搭建调试过程中遇到的问题和解决思路,希望能对有类似需求的人有所帮助。
部署与搭建
功能需求
我的需求很简单:以动漫为主,电视剧和电影为辅。目标是搭建一个系统,能够实现以下功能:
- 自动订阅:订阅新番、电影等资源;
- 自动下载:自动捕获资源并完成下载;
- 自动整理:将下载的文件归类整理;
- 自动转码:对视频进行必要的转码处理;
- 自动推送:资源整理好后,推送到播放器中。
只要能实现这些功能,我的预期就达到了。
系统组成
硬件方面,我使用了一台机架式 NAS:威联通 TS-464eU-8G,搭载 N5095 处理器,板载 8GB 内存。性能方面完全够用。不过需要注意的是,相比自己组装 NAS,机架式 NAS 的价格会贵不少。
软件方面,核心依赖于 Docker 环境,通过安装以下组件来实现功能:
- NAStool:媒体管理中心,用于整合检索器、下载器和播放器。
- Emby:媒体播放器(也可选择 Plex 或 Jellyfin)。
- qBittorrent:下载器。
- Jackett:检索器,用于搜索资源。
威联通在升级到 QTS 5.0 后,Container Station(容器工作站)也得到了更新。以下是完整的安装复盘,全程在威联通 QTS 5.1.4 系统框架下进行。
安装与部署
准备工作
- 将威联通 NAS 系统和 Container Station 容器工作站更新到最新版本。
- 打开 Container Station 容器工作站,点击存储库,登录 Docker Hub 账号。
安装 NAStool
NAStool 是媒体管理的核心组件,可以将检索器、下载器和播放器串联起来运行。虽然最新版本不再支持 BT(转为内网邀请验证,适合 PT 玩家),但对于一般用户而言,使用 v2.9.1 已经足够日常使用。
建立路径
打开 File Station 文件管理器:
- 找到 Container Station 的安装目录(例如:下载盘)。
- 在安装目录中,新建文件夹并命名为
nastools
。 - 进入该文件夹后,再新建一个文件夹并命名为
config
,作为该应用的数据路径。 - 建议在下载盘中新建一个
Download
文件夹,里面分别创建Movies
、Tv
、Anime
三个子文件夹。 - 同时,在媒体库中,新建一个
Media
文件夹,作为媒体库同步目录,同样创建Movies
、Tv
、Anime
三个子文件夹。
拉取镜像
- 打开 Container Station 容器工作站。
- 点击左侧的应用程序,再点击右上角的浏览。
- 在弹出的搜索框中输入
nastools
并回车。 - 在列表中找到
19970688/nastools-bt
镜像并点击部署。
创建容器
- 点击左下角的高级设置,按以下参数进行配置:
- 网络
网络模式选择为自定义host
。 环境变量
NASTOOL_AUTO_UPDATE=false // 停用自动更新 PGID=100 // 根据你的 ID 查询 PUID=1000 // 根据你的 ID 查询
存储
删除所有默认路径,绑定主机路径到以下目录:config
文件夹映射到容器路径/config
。- 下载同步路径
Download
映射到容器路径/Downloads
。 - 媒体库同步路径
Media
映射到容器路径/video
。
- 保存配置后,点击重新启动策略,选择始终。
- 完成后点击下一步,确认无误后点击完成,等待部署完成即可。
安装 qBittorrent
建立路径
在 File Station 文件管理器中:
- 在 Container Station 的安装目录中,新建文件夹并命名为
qbittorrent
。 - 在该文件夹中再新建一个文件夹并命名为
config
,作为数据路径。 - 下载同步路径与 NAStool 共用。
拉取镜像
- 搜索
qbit
,找到johngong/qbittorrent
镜像(该版本集成了常用 trackers)。 - 点击部署。
创建容器
- 在高级设置中按以下参数配置:
- 网络
网络模式选择为自定义host
。 环境变量
GID=1000 UID=1000
存储
删除所有默认路径,绑定主机路径到以下目录:qbittorrent/config
映射到容器路径/config
。- 下载同步路径
Download
映射到容器路径/Downloads
。
- 完成后点击下一步,确认无误后完成部署。
安装 Jackett
Jackett 是检索器,负责从资源站点获取种子。
建立路径
在 Container Station 安装目录中:
- 新建文件夹
jackett
,并在其中新建config
和downloads
文件夹。
拉取镜像
搜索 jackett
,选择官方镜像 linuxserver/jackett
,点击部署。
创建容器
- 在高级设置中按以下参数配置:
- 网络
网络模式选择为自定义host
。 存储
删除所有默认路径,绑定主机路径到以下目录:jackett/config
映射到容器路径/config
。jackett/downloads
映射到容器路径/downloads
。
- 完成后点击下一步,确认无误后完成部署。
安装 Emby
Emby 是播放器,用于管理和播放媒体库中的视频文件。相比 Docker 部署,我选择了直接安装的方式,原因详见后文。
官网下载安装
- 访问 Emby 官方威联通离线安装包下载页面。
- 根据 NAS 处理器架构(如 X86)下载对应版本。
- 打开威联通 App Center,点击手动安装,上传安装包并完成安装。
注意事项
Docker 部署的优缺点
Docker 部署简单快捷,但环境变量和路径挂载的设置需要特别注意。部署失败或应用无法启动,大多是因为这些配置有误。建议在部署前仔细阅读文档。
UID/GID 的问题
威联通系统中,普通账户的 UID 通常是 100
或 1000
。如果在环境变量中使用 0
(超管权限),可能会导致权限问题。例如下载的文件无法删除,需要切换到超管账户处理。因此,建议根据实际用户组设置正确的 UID 和 GID。
Emby 的硬解问题
在威联通的 Container Station 中部署的 Emby 无法实现显卡直通,导致只能软解码,性能大幅下降。我尝试了多种方式无果,最终选择通过官方提供的安装包直接安装,成功启用了硬解功能。
软件配置
主要以nastool为中心,将下载器(qbit)、检索器(jackett)和播放器(Emby)都连接到nastool这个系统中来,实现自动化操作
基础设置
进入 NAStool 后台。默认地址为 http://localhost:3000
,默认账号为 admin
,密码为 password
。
系统
点击右边【设置】,单击【基础设置】选项卡。
- 基础设置-系统
WEB管理用户 = 看你需求,可以改也可以不改
WEB管理密码 = 建议修改
其他的无需修改,点击右下的【保存】按钮
- 基础设置-媒体
TMDB API Key=必填;去https://www.themoviedb.org/ 注册申请;
TMDB域名=默认即可;具体可以鼠标移到旁边【?】看注释;
默认文件转移方式=根据自己需求选择;可看旁边【?】的注释。我因为之前有一个库,且硬盘够大,直接选择的复制;
实时刷新媒体库=需要勾选;
刮削元数据及图片=需要勾选;
其他参数看自己需求调整即可,修改完,点击右下的【保存】按钮;
- 基础设置-服务|安全|实验室
根据自己的需求去调整吧,不懂可以读文档去理解,一般用户默认即可,如果搜索不出来资源,可以考虑将实验室里的搜索优先使用英文名取消掉,修改后记得点右下角的保存按钮,每一项都对应了一个保存按钮,别忘了
媒体库
媒体库主要是连接 NAStool 和播放器的重要桥梁,确保播放器能够正确识别并播放影音文件。在部署 NAStool 时,我们已经将本地媒体库映射到 /video
,并在本地媒体库中创建了三个文件夹:Movies、Tv 和 Anime,只需依次选中并填写对应的目录即可。
点击媒体库选项卡
电影=/video/Movies/
电视剧=/video/Tv/
动漫=/video/Anime/
未识别=/Downloads/other/
我们将本地媒体库的Media文件夹映射为video,但里面的子文件是可以随意增添的,这就比直接映射每个单独的文件夹更灵活。
这样我们nastool里的媒体库就指定好了。
同步目录
这个目录主要是设置下载器和媒体库的链接,当下载完成后,需要将下载地址的文件以何种形式转移到目录文件,这里的设置就是围绕nastool映射的媒体库和qbittorrent下载器映射的下载地址目录做同步。
点击右上角【新增同步目录】,分别创建如下三个同步目录
源目录 | 目的目录 | 未识别目录 | 同步方式 | 识别重命名 | 状态 |
---|---|---|---|---|---|
/Downloads/Anime | /video/Anime | 不填 | 复制 | 默认 | 默认 |
/Downloads/Movies | /video/Movies | 不填复制 | 默认 | 默认 | 默认 |
/Downloads/Tv | /video/Tv | 不填 | 复制 | 默认 | 默认 |
索引器
新打开一个浏览器标签页,在新页面中输入 http://localhost:9117/
进入Jackett配置页面,具体配置网上有非常多的教程,这里就不过多赘述了。
在nastool页面设置里,点击索引器,再点击Jackett
Jackett地址=就是你Jackett的配置地址(localhost:端口号)
Api Key=在Jackett配置页面的右上角,复制粘贴即可
密码=没有设置就不填
点击测试,如果反馈为测试成功,则点击确定保存。
下载器
新建一个浏览器页面,输入http://localhost:8989/ 回车,就可以进入qbittorrent的下载页面
默认账号admin
默认密码adminadmin
需要简单设置一下下载器,在左侧分类
的地方,点击右键添加分类
,分别添加Movie、Tv、Anime这三个分类,保存路径分别对应之前目录同步里的源目录地址。
如果下载没有速度,需要点击qbit里的设置
—连接
—在监听端口
后面点击一下随机
,然后下拉到最下面点击保存即可。
回到nastool,点击下载器,点击Qbittorrent,配置选项卡
Qbittorrent
IP地址=localhost
端口=你分配给qbit的网页端口,例如我的就是8989
用户名=admin(默认是这个,如果你自己修改了,填你改后的)
密码=你修改后的密码
其他选项默认
点击测试,如果反馈为测试成功,则点击确定保存。
媒体服务器
这个也就是我常说的播放器了,返回威联通系统桌面,点击App Center
,在我的应用程序
里找到Emby Server
,单击打开
,记住浏览器里的IP地址和端口,后面就可以直接在局域网内通过这个IP地址加端口号访问了,打开Emby后需要创建管理员账户,请牢记账户名和密码。
点击右上角设置
,在Emby Premiere中填写自己的Key(没有则跳过)
点击媒体库,单击新媒体库,分别创建电影、电视剧、动漫三个媒体库,并分别挂载到nastool中的对应媒体库地址,由于采用离线安装,所以Emby这次可以全盘读取文件,不需要依赖映射,所以需要通过威联通的文件管理器拿到【真实具体的文件夹地址】,填写到对应的媒体库里,才能和nastool建立联系。
在最左侧的设置选项单,下拉到最下面的高级这一列,点击API密匙,新建1个API密匙,应用名字随意填写,复制该密钥。
在Emby中创建媒体库的时候 ,建议取消Emby的刮削设置和字幕下载设置,这些功能都由nastool做完了 ,不> 需要emby再重复工作了。
Emby中的其余功能可以参考其他文档来研究,在这里就不过多展开了。
回到nastool中,点击媒体服务器,点击Emby,在弹出的选项卡中填写对应信息
服务器地址=localhost:端口号
Api Key=粘贴刚刚创建的密钥
点击测试,如果反馈为测试成功,则点击确定保存。
至此,一套完整的自动追片系统就搭建好了!可以优雅的观影了!
后记
规则
下载资源有时候会乱下载一堆,有时候会提示搜索不到资源,这个大概率和你设定的规则有很大的关系,建议阅读一下文档,在nastool—设置—过滤规则中仔细看看,还有检查下索引器,test一下所有接口,看看是不是能连通站点,这样可以排除大部分问题。
缓存
在使用 qBittorrent 下载时,我遇到了一件令人郁闷的事情。正常情况下,流程应该是这样的:我订阅一部电视剧,NAStool 自动检索到资源后推送给下载器,下载完成后文件会自动转移到媒体库,分类整理并刮削数据,最后通过媒体服务器播放。
但中间却出了问题。
在文件从下载目录同步到媒体库的过程中,媒体库中的视频文件提示错误无法播放。我尝试用电脑端播放器打开,同样无法播放,怀疑是文件损坏。但回头检查下载目录的文件,却能正常播放。经过排查,问题发生在文件转移过程中。
我使用的是“复制”而非“转移”,按理说文件不应该损坏。但实际上,NAStool 在同步时检测到下载目录中预生成的不完整文件,就直接将其复制到了媒体库,而这些文件尚未下载完成,自然无法正常播放。等下载完成后,NAStool 再次检测时,发现媒体库已有同名文件,就跳过了同步,导致媒体库中始终是损坏的文件。
这个问题让我百思不得其解,但最终找到了一个解决办法:在下载目录 Downloads 下创建一个缓存文件夹 temp,并在 qBittorrent 的设置中,勾选“保存未完成的 torrent 到”选项,路径填写为 /Downloads/temp。这样一来,未完成的文件会存放在缓存文件夹中,只有下载完成后,文件才会根据标签自动转移到 Movies、Tv 和 Anime 对应的下载目录。NAStool 检测到完整文件后,才会将其同步到媒体库。
通过这个方法,文件损坏问题得到了完美解决!
功能
这套系统的功能远不止如此。NAStool 是一款功能强大的综合媒体管理工具,不仅可以管理媒体资源,还支持接入公众号、微信、飞书、钉钉等平台,实现实时通知、远程下达下载或订阅指令等功能。我目前已经实现了消息推送到 iPhone,使用起来非常方便。
Emby 在硬解支持下,还可以映射到公网,变成一个随时随地可用的视频网站,而且对 NAS 资源占用极低。映射方式有很多,这里就不展开说明了。
如果喜欢弹幕,也可以通过强大的弹幕库插件自建弹幕,完全脱离爱优腾芒哔。此外,还可以进一步扩展到漫画、小说、音乐等领域,打造一个完整的多媒体管理系统。
好了,就说这么多。如果你有更好的方法,欢迎留言交流;有不明白的地方,也可以一起探讨。留言经审核后会展示在评论区,请勿重复提交,以免触发反垃圾规则。
最后,祝您观影愉快!