前言

现在在互联网上,要么看删减版的动画,要么充值看低清虚标的影视剧,我已经受够了这样的现状!于是乎我要搭建一个独属于我自己的媒体影音中心,专注于追剧看番等资源的下载与管理。以下是我在搭建调试过程中遇到的问题和解决思路,希望能对有类似需求的人有所帮助。

部署与搭建

功能需求

我的需求很简单:以动漫为主,电视剧和电影为辅。目标是搭建一个系统,能够实现以下功能:

  • 自动订阅:订阅新番、电影等资源;
  • 自动下载:自动捕获资源并完成下载;
  • 自动整理:将下载的文件归类整理;
  • 自动转码:对视频进行必要的转码处理;
  • 自动推送:资源整理好后,推送到播放器中。

只要能实现这些功能,我的预期就达到了。

系统组成

硬件方面,我使用了一台机架式 NAS:威联通 TS-464eU-8G,搭载 N5095 处理器,板载 8GB 内存。性能方面完全够用。不过需要注意的是,相比自己组装 NAS,机架式 NAS 的价格会贵不少。

软件方面,核心依赖于 Docker 环境,通过安装以下组件来实现功能:

  1. NAStool:媒体管理中心,用于整合检索器、下载器和播放器。
  2. Emby:媒体播放器(也可选择 Plex 或 Jellyfin)。
  3. qBittorrent:下载器。
  4. Jackett:检索器,用于搜索资源。

威联通在升级到 QTS 5.0 后,Container Station(容器工作站)也得到了更新。以下是完整的安装复盘,全程在威联通 QTS 5.1.4 系统框架下进行。

安装与部署

准备工作

  1. 将威联通 NAS 系统和 Container Station 容器工作站更新到最新版本。
  2. 打开 Container Station 容器工作站,点击存储库,登录 Docker Hub 账号。

安装 NAStool

NAStool 是媒体管理的核心组件,可以将检索器、下载器和播放器串联起来运行。虽然最新版本不再支持 BT(转为内网邀请验证,适合 PT 玩家),但对于一般用户而言,使用 v2.9.1 已经足够日常使用。

建立路径

打开 File Station 文件管理器:

  • 找到 Container Station 的安装目录(例如:下载盘)。
  • 在安装目录中,新建文件夹并命名为 nastools
  • 进入该文件夹后,再新建一个文件夹并命名为 config,作为该应用的数据路径。
  • 建议在下载盘中新建一个 Download 文件夹,里面分别创建 MoviesTvAnime 三个子文件夹。
  • 同时,在媒体库中,新建一个 Media 文件夹,作为媒体库同步目录,同样创建 MoviesTvAnime 三个子文件夹。

拉取镜像

  1. 打开 Container Station 容器工作站。
  2. 点击左侧的应用程序,再点击右上角的浏览
  3. 在弹出的搜索框中输入 nastools 并回车。
  4. 在列表中找到 19970688/nastools-bt 镜像并点击部署。

创建容器

  1. 点击左下角的高级设置,按以下参数进行配置:
  2. 网络
    网络模式选择为自定义 host
  3. 环境变量

    NASTOOL_AUTO_UPDATE=false  // 停用自动更新
    PGID=100                  // 根据你的 ID 查询
    PUID=1000                 // 根据你的 ID 查询
  4. 存储
    删除所有默认路径,绑定主机路径到以下目录:

    • config 文件夹映射到容器路径 /config
    • 下载同步路径 Download 映射到容器路径 /Downloads
    • 媒体库同步路径 Media 映射到容器路径 /video
  5. 保存配置后,点击重新启动策略,选择始终
  6. 完成后点击下一步,确认无误后点击完成,等待部署完成即可。

安装 qBittorrent

建立路径

File Station 文件管理器中:

  • 在 Container Station 的安装目录中,新建文件夹并命名为 qbittorrent
  • 在该文件夹中再新建一个文件夹并命名为 config,作为数据路径。
  • 下载同步路径与 NAStool 共用。

拉取镜像

  1. 搜索 qbit,找到 johngong/qbittorrent 镜像(该版本集成了常用 trackers)。
  2. 点击部署。

创建容器

  1. 在高级设置中按以下参数配置:
  2. 网络
    网络模式选择为自定义 host
  3. 环境变量

    GID=1000
    UID=1000
  4. 存储
    删除所有默认路径,绑定主机路径到以下目录:

    • qbittorrent/config 映射到容器路径 /config
    • 下载同步路径 Download 映射到容器路径 /Downloads
  5. 完成后点击下一步,确认无误后完成部署。

安装 Jackett

Jackett 是检索器,负责从资源站点获取种子。

建立路径

在 Container Station 安装目录中:

  • 新建文件夹 jackett,并在其中新建 configdownloads 文件夹。

拉取镜像

搜索 jackett,选择官方镜像 linuxserver/jackett,点击部署。

创建容器

  1. 在高级设置中按以下参数配置:
  2. 网络
    网络模式选择为自定义 host
  3. 存储
    删除所有默认路径,绑定主机路径到以下目录:

    • jackett/config 映射到容器路径 /config
    • jackett/downloads 映射到容器路径 /downloads
  4. 完成后点击下一步,确认无误后完成部署。

安装 Emby

Emby 是播放器,用于管理和播放媒体库中的视频文件。相比 Docker 部署,我选择了直接安装的方式,原因详见后文。

官网下载安装

  1. 访问 Emby 官方威联通离线安装包下载页面
  2. 根据 NAS 处理器架构(如 X86)下载对应版本。
  3. 打开威联通 App Center,点击手动安装,上传安装包并完成安装。

注意事项

Docker 部署的优缺点

Docker 部署简单快捷,但环境变量和路径挂载的设置需要特别注意。部署失败或应用无法启动,大多是因为这些配置有误。建议在部署前仔细阅读文档。

UID/GID 的问题

威联通系统中,普通账户的 UID 通常是 1001000。如果在环境变量中使用 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,并在本地媒体库中创建了三个文件夹:MoviesTvAnime,只需依次选中并填写对应的目录即可。

点击媒体库选项卡

电影=/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
需要简单设置一下下载器,在左侧分类的地方,点击右键添加分类,分别添加MovieTvAnime这三个分类,保存路径分别对应之前目录同步里的源目录地址。

如果下载没有速度,需要点击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 资源占用极低。映射方式有很多,这里就不展开说明了。

如果喜欢弹幕,也可以通过强大的弹幕库插件自建弹幕,完全脱离爱优腾芒哔。此外,还可以进一步扩展到漫画、小说、音乐等领域,打造一个完整的多媒体管理系统。

好了,就说这么多。如果你有更好的方法,欢迎留言交流;有不明白的地方,也可以一起探讨。留言经审核后会展示在评论区,请勿重复提交,以免触发反垃圾规则。

最后,祝您观影愉快!

最后修改:2024 年 12 月 11 日
如果觉得我的文章对你有用,请随意赞赏