从pt到家庭媒体中心全攻略(一)

背景

本人一直是玩 PT 站的,从去年开始到现在一年左右了吧。

从最开始百度云+迅雷到群晖+transmission+video station 到 pt 助手,再到 Emby,再到 sonarr+radarr+jackett,中间也试水了 plex,到现在基本定型的 Sonarr + Radarr + Prowlarr + Lidarr + Readarr + Subfinder + Emby + Infuse + Transmission + qBittorrent,着实是踩了不少坑涨了不少经验。在此总结之际做个总结。

先看效果

  • 媒体资源库 媒体资源库

  • 电视剧/综艺自动搜刮器 剧集搜刮器

  • 电影搜刮器 电影搜刮器

  • 追剧跟踪 追剧跟踪

这个是第三方平台。

还有很多其他意义没这么重要的就不截图了。

基础准备

硬件配置:

  • 群晖(1618+,配了 6 块 12t 硬盘)媒体的存储和下载器
  • 主机(i7-10700+32g 内存) 各类应用软件的搭建
  • Apple tv 6 当然是主要的观看设备了
  • 千兆交换机 便于网内通信不需要走路由器,提高速度
  • 装有 openwrt 的树莓派 对于媒体信息搜刮提供有效帮助

网络情况:

  • 联通 500M
  • 移动 200M

资源情况:

  • 零至多个 PT 站账号
  • 如果没有 PT 站账号,可以选用公开站点,但是资源有限且保种情况很差

先来看一下网上通用的解决方案:

在群晖中套件中心搜索 Emby、transmission、Sonarr、Radarr 等下载安装…然后一番配置之后就可以用了。

但实际上,群晖作为一个存储器,cpu 采用的是 intel atom 系列,算是低端到不行的芯片,内存也只有 4G,一般配置也并没有显卡。而 emby 的媒体分析(ffmpeg)是极度消耗 CPU 和显卡计算能力的。

对于种子的搜刮,也需要大量的网络请求。而且这几个 Servarr 系列工具都是用 C# 去写的,在 linux 中跑.exe 程序所需要的 cpu 资源可想而知。我最初也是这么实现的,但是这几个程序都慢的不行。一开始我以为就是这个样子的,直到后来切换到了主机端才发现这些程序真正的速度是怎么样的。

核心

所以我的部署方案是利用 Docker,正好有 linuxserver 项目组为这些项目提供了合适的容器镜像。再通过容器挂载的方式进行媒体访问

服务介绍

在这里只讲一些重要的服务,搭建过程比较简单。

Radarr

电影搜刮器。是基于 Sonarr 进行改造开发的,但是作者我感觉人还是不错的,至少目前在我看来这个的功能比 Sonarr 强大得多,但是性质不一样,两者依旧不可缺。说是搜刮器,其实就是调用着别人的搜刮接口~查着别人的电影信息~ 调用别的下载工具~ 把下载好的媒体重命名到合适的文件夹然后,调用别人的播放器~ 但就这一个作为中间桥梁的,一直使用其他人的成果的程序,反倒是不可或缺。

它呢,基本上是以列表连接(imdb、imdb、trakt 等列表)或自己手动搜索添加电影,通过 jackett(现在我用 prowlarr)等支持 Torznab 协议转换的工具搜刮各 bt/pt 站的有效种子,将种子发送到下载服务器并按时监控下载状态。当下载完成后,则会自动将下载好的媒体文件按照预设的方式存储到固定目录中去,并发送通知给用户或其他程序。

Sonarr

剧集搜刮器好听一点吧。包含了电视剧、电视节目的搜刮。算是这个系列的鼻祖了。但是作者维护一直处于佛系+懒散的状态,奈何我又不会 C#,没有办法自己改动一些东西。不过说起来,剧集搜刮确实要比电影搜刮复杂很多。

跟 Radarr 相比,少了一些功能:

  1. 不支持中文
  2. 国内 pt 站剧集格式可能单季不会按S01这种格式命名,这货就不会自动搜刮。作者解释是为了防止出现把第一季和全剧弄混的情况(大哥就只有一季的电视剧第一季和全剧有什么区别),并且死活不改。
  3. 搜刮时的名称不支持中文(甚至源语言),只支持英文。他说他认为所有的 pt 站种子命名格式一定要有标准英文格式,因此不会做额外工作(又来了,tvdb 上名字都全的,搜一下又不会死,我的柯南就因为这个一直没办法自动搜索下载,不过扫黑风暴倒是每一集都有下)。

emby

不用过多介绍,emby 是一款支持多种视频格式,支持自动搜刮、自动搜索字幕、格式整理,支持各端同步播放状态(播放要钱,状态不要)、多用户管理(权限管理)等等功能。与其作为竞争对手的还有 plex 等,但是都用过之后还是觉得这个更顺手一些。

qbittorrent、transmission 等

下载器,类似于迅雷。但事实上,迅雷是传说中的吸血软件。bt 的原理是通过大家互相上传下载所需要的文件内容,从而实现下载越多速度越快的原理。而迅雷则是自己建立了一个大的分享网络,将从别人那里拿来的据为己有,只在自己的客户端内传播。(当然,迅雷也自己建立了自己的文件库,所以下载速度才那么快。但是它是不分享给其他下载软件的。)而 pt 站所需要的分享精神也正是其保密、不公开注册的原因。因此,pt 站就只可以用标准 bt 协议即 qb、tr 这种下载工具。据说 qb 抢上传比较厉害,而 tr 资源占用小,适合保种。(pt 相关知识在此不予说明)

Jackett、Prowlarr

传说中的种子搜刮器。由于国内大部分 PT 站都是很久以前的 nexusPHP 架构,而 pt 的本质大同小异,资源命名也有很固定的规范。因此,这种搜刮器就是利用爬虫的原理对 pt 站进行资源搜索,找到所需要的资源种子返回给客户端。

其他

其他服务比如 Lidarr 音乐搜索、Readarr 电子书搜索等服务,国内资源较少,我搭建起来只是为了看起来全面一些,并没太大用处,因此也不会详细讲解。

开始搭建

群晖的设置(下载器、文件目录及权限)

首先,在群晖上建立一个共享文件夹,在我这里叫做 media,里面存储着所有下载和格式化的媒体文件。在文件夹中建立 downloads、video、music 等目录,分别存储下载资源、格式化后的视频、音乐等资源。

在群晖上安装 transmission,设置默认的下载路径为 media,未完成的下载设定在/volume1/media/downloads/incomplete (按自己喜欢)。安装好后,输入 群晖 ip:9091 访问群晖,设置下载路径为 /volume1/media/downloads/complete

通过群晖打开/media/downloads 文件夹,将其权限设置为 sc-tranmission:sc-tranmission 完全访问权限,包含子文件夹:

群晖设置

这样才能保证下载过程畅通无阻。

群晖的部分设置完了,下一章会讲媒体服务的设置,今天太晚了该下班了。