群晖 NAS 920+ 使用笔记

前言

NAS

很早之前就听说过 NAS 设备,但是苦于一直在租房的状态(其实是穷),一直没有入手。今年终于搬到新家了,加上近期老婆抱怨手机存储空间不够,已经塞满了吉宝的照片和视频了,因此,终于狠心剁手了一台群晖 920+ 的 NAS 设备。

本文主要就是围绕 NAS 到手后,我进行了哪些设置以及安装哪些好玩的套件。

NAS 网络

近期发现访问 nas 里的 docker 套件,无法打开“注册表”,提示“注册表失败“。经过一番搜索发现,目前挂梯子无法正常访问 Docker hub https://registry.hub.docker.com。因此,我尝试将 NAS 的网关设置为软路由地址,则正常访问了。

在正常下载镜像以后,需要及时改回来。因为我改为软路由以后,发现外网是无法通过公网IP+端口号或者域名+端口号的方式来访问家里 NAS 里的服务的。这是因为网关指向软路由以后,好像会被软路由的防火墙规则拦截。具体没深入研究,多亏了v2ex的帖子里的回复想起来了这个改动。

DS video

群晖安装套件:Video Station
电视盒子、手机安装:DS Video

通过在 NAS 上安装好套件、添加好资源之后,可以在其他设备上安装 DS Video 来进行观看。会有视频的海报墙,比直接看文件夹或者视频文件更美观和直观。

经过测试发现,对于 DTS、EAC3 格式的视频,群晖的这个 DS Video 播放就没有声音了。只能在电视盒子安装一个 VLC 播放器,这样,DS Video 不支持的视频资源可以选择用第三方播放器打开。

网上有各种解决方案,比如 群晖 Video Station 支持 DTS 和 eac3 解决方案,但是在我群晖 920+ 上都没好使。

经过周末的折腾,利用 Jellyfin 搭建了家庭媒体服务中心,然后其他平台也都有 Jellyfin 的客户端,使用下来,效果也还可以,非常值得推荐!

参考:

  • 群晖 Video Station 支持 DTS 和 eac3 解决方案

Transmission 安装与汉化

Transmission

Transmission 是一个开源的下载软件,可以用来下载 PT 站的资源。记得在大学时期使用六维空间时,经常为了做种需要将笔记本一直打开着。现在只需要在 NAS 中安装好这个 APP, 则可以使用 NAS 24 小时挂在后台进行资源的下载和上传。

安装 TR

在套件中心添加套件源 http://packages.synocommunity.com

synocommunity

常规中设置信任:

iCVvS7

在社群中搜索 Transmission,按照提示安装,安装好之后的访问地址:

dxOVgz

汉化

汉化的安装,可以阅读 ronggang/transmission-web-control。以下简要介绍:

在群晖控制中心,开启 NAS SSH 登录的功能:

SSH

然后在终端命令行窗口即可登录 NAS:

1
2
3
4
# 登录账号名和 IP 得换成你自己的
ssh 用户名@IP
# 切换为 root,密码和你 admin 账户密码一样
sudo -i

p1XRb4

注意:

  • 如果想要在下载时指定目录,需要对应目录需要添加群组: sc-transmissionsc-download

添加常用下载目录:
eBEGuV

参考

  • 君子不器/群晖安装Transmission
  • 喵斯基俱乐部/群晖NAS安装及美化Transmission(PT)教程
  • 新浪众测/最强下载工具,玩转NAS影音竟然如此简单! 介绍了 Tr/万物下载、Plex/Kodi Jellfin

aria2

一个 BT 下载器

aria2 pro

  • 拥有NAS的生活 篇十五:群晖安装aria2 pro增强下载器
  • 群晖NAS下载神器Aria2&AriaNG/保姆级安装上手一次成功/让你拥有一个满速下载的助手(群晖/NAS/Docker/Aria2/AriaNG)
  • p3terx/群晖 NAS Docker 进阶教程 - 部署全能下载工具 Aria2 Pro
  • p3terx/Aria2 前端面板 ( GUI、WebUI ) AriaNg 使用教程
  • p3terx/Aria2 无法下载磁力链接、BT种子和速度慢的解决方案

Jellyfin 媒体中心

介绍

  • Jellyfin 支持硬件转码,在使用硬件转码推流的时候可以大幅降低 CPU 占用率,支持实时转码。硬件转码功能在 emby 和 plex 都是付费功能。
  • Jellyfin 是在它的服务器上搭建影音资料库,这样,在任何客户端来访问资料库时,就不用再建立资料库。Kodi 在不同设备上需要重新建立存储在该设备上的资料库。观看的记录会保存在 Jellyfin 服务端,这样,在各个平台切换观看时,使用同一账户就可以方便继续观看了。

Kodi 播放方式类似电脑上的播放器播放。直接从共享文件夹读取文件流,而非播放视频流。Kodi 的这种方式,占用的网络资源则由具体的文件的码率决定。由于解码由播放设备进行,所以实际效果取决于设备的解码能力。如果播放设备解码能力弱,直接播放视频文件,有时候就会造成卡顿或无法播放。而 Jellyfin 的这种方式,可以理解为你自己在 NAS 上搭建了一个多媒体服务器,它可以进行视频的解码,客户端播放能够流畅很多。

安装

通过打开 Docker 套件,在其中的注册表中搜索 jellyfin 镜像(映像)进行下载。

9BNRO6

muC3tc

35K25i

进入 jellyfin 服务器地址(NAS IP:8096),即可访问。

需要进行一些设置。可以参考 SMZDM阿文菌/使用群晖Docker 安装Jellyfin 家庭影院HTPC 比emby plex好用多了:

  • 国家选项里没有 China,而是要选择 Peoples’s Republic of China
  • 选择备用字体文件路径:控制台》播放》选择备用字体文件路径,提前在 config 下创建好 font 文件夹(可以自定义文件夹名),在其中放好下载的字体 noto.zip。这个主要为了解决 ASS/SSA 中文字幕会显示方块乱码。

meK4M9

安装的步骤,Jellyfin 官网可以看做是如下命令的等同:

1
2
3
4
5
6
7
8
docker run --name=jellyfin2 \
--device=/dev/dri:/dev/dri \
--device=/dev/dri/card0:/dev/dri/card0 \
-p 8096:8096 \
-v /volume1/docker/jellyfin/config:/config \
-v /volume1/docker/jellyfin/cache:/cache \
-v /volume1/video:/media \
jellyfin/jellyfin:latest

之所以映射设备,是为了开启硬件加速

添加媒体库

添加媒体库的步骤很简单,注意勾选:

  • 将媒体图像保存到媒体所在文件夹:方便将下载的资源归档到视频文件夹中

插键

字幕插键 Open Subtitles

安装 Open Subtitles 插件,这样的话,可以使用字幕下载的功能。使用该插件

安装好插键之后,需要重启容器。

重启容器

需要去 opensubtitles 注册账号,有了账号,需要去点击该插键进行配置。

参考:

  • 92Nas/Jellyfin中电影外挂ass格式字幕无法显示的解决方法
  • All the Chinese plug-in subtitles in ASS format 中的解决方案进行配置

播放

播放数据

查看播放数据:

  • 播放信息:会显示播放方式,可以看出是转码播放还是直接播放的
  • 媒体源信息:表示播放的视频源的信息,可以看到码率、音频编码
  • 比特率:码率,视频文件 原本的码率,如果原本码率比较高,我们通过播放时设置低码率,那么,就会被自动转码
  • 转码信息:看到这个表示正在进行硬件转码,方便播放设备播放。可以看到,源文件的音频是 EAC3,播放时被自动转码成 AAC 了。

硬件加速

通过如下的设置开启硬件加速:

  • 开启转码:控制台》播放,选择硬件加速Video Acceleration API(VAAPI)

5pEBal

注意,上面能够成功开启的前提是,勾选了「使用高权限执行容器」

Yrvjxu

通过 SSH 登录后台,htop 命令查看 CPU 占用率高的进程(jellyfin),查看是否开启验证加速:

RhkpfW

此外,在 NAS 查看资源监控,播放视频时,CPU 如果没有飙升,一般也是开启硬件加速的效果。

参考:

  • 分享一种简单得不能再简单的群晖DS918+下Jellyfin调用核显硬解的办法

客户端

Jellyfin 的 APP 死机概率非常高,没有网页版本好用。可以使用手机浏览器直接访问网页。利用 Chrome 访问 Jellyfin 的地址,然后在浏览器页面的右上角的菜单项中,点击「添加到主屏幕」,这样即可在手机桌面创建快捷方式。

我的手机进行了权限管理,需要放开 Chrome 创建快捷方式的权限。

TV 端设置

Jellyfin/Clients 官网有提供客户端的下载,其中,有安卓 TV 的客户端

此外,也可以利用 kodi 来访问 Jellyfin 媒体中心。具体的使用方式,可以阅读 kodi ,简要步骤如下:

  • 添加 jellyfin 源:进入插键菜单,插键浏览器,选择从 zip 文件安装,浏览服务器中已经下载好的压缩包
  • 从库安装 jellyfin 插键
  • 为了避免之前 kodi 中添加的媒体资源重复,可以使用使用 jellyfin 插键中的重置本地数据库的功能

利用 kodi + jellyfin 插键的方式播放资源,不会对视频进行转码,这可能就会导致播放高质量视频时会有卡顿。

具体的设置,可以阅读:

  • B站司波图/Jellyfin的外网访问姿势,如何通过安卓,IOS,电视访问Jellyfin服务器
  • SMZDM/安卓TV端Kodi部署Jellyfin,使用Jellyfin打造最强媒体中心(篇二)

其他资源

  • 字幕网站:
    • opensubtitles
    • a4k
    • subhd

参考

  • 喵斯基部落/群晖Docker安装Jellyfin媒体服务器 利用 Docker 部署 jellyfin 服务
  • SMZDM/使用群晖Docker 安装Jellyfin 家庭影院HTPC 比emby plex好用多了
  • B站司波图/免费开源影音服务器Jellyfin部署全攻略,含群晖,OMV系统下Docker安装并启动硬件转码

电影刮削器 TinyMediaManager

参考

  • 92NAS/群晖Docker里安装电影剧集刮削器TinyMediaManager
  • KODI中文网/抛弃Kodi难用的刮削器 tinyMediaManager(TMM)刮削电影信息更方便

emby

免费版,服务器硬件解码是不支持的,通过 web 浏览器观看影片时,则会容易造成 NAS CPU 负载很高。但是,比如你使用 Mac 上的 infuse 客户端连接 emby 观看时,它是支持自己解码的,效果不错。

我尝试使用 docker 的方式安装 emby。

安装 emby 步骤

查询核显:

1
2
3
4
5
6
root@michael-nas:~# ll /dev/dri
total 0
drwxr-xr-x 2 root root 80 Nov 21 17:35 .
drwxr-xr-x 13 root root 13840 Nov 21 17:37 ..
crw------- 1 root root 226, 0 Nov 21 17:35 card0
crw-rw---- 1 root videodriver 226, 128 Nov 21 17:35 renderD128

看到有结果,则表示具有核显,支持硬件解码。

使用 docker 镜像来安装 emby server。

  1. 先在docker 套件中,下载好 emby server 的镜像,镜像地址:https://hub.docker.com/r/emby/embyserver
  2. 为了能够加载核显,支持硬件解码,需要通过 ssh 进入 nas 中进行相关操作:
1
2
3
4
5
chmod a+x /dev/dri
docker create \
--name=emby \
--device /dev/dri:/dev/dri \
emby/embyserver:latest

coker create 命令类似 docker run 命令,是创建一个容器,区别在于,后者会启动这个容器,前者不会启动这个容器。参考Docker create命令

  1. 在套件中心docker 套件中,设置容器配置

常规配置

存储空间

第一列「文件/文件夹」是选择 nas 中的路径,「装载路径」是指容器中的路径,二者是一个映射关系,要确保 nas 中的路径给与对应用户权限。这些路径,可以看镜像文档作为参考。

端口设置

da265c1209c81d4e9e286cdef08f9191

设置 nas 实际端口和容器中的端口映射关系,如图,安装好之后,实际访问地址就是 <nas ip 地址>:8090

环境

通过 ssh 方式登录到 nas 后台,运行 id <用户名> 可以看到这些数据。gidlist 通过英文逗号配置 gid 的列表即可。

这个非常关键,填写错误,emby 中媒体库将无法正确选择 NAS 中的文件

媒体库设置

  • 首选图像下载语言:English,这样图片会相对更丰富、准确
  • 元数据读取器:Nfo
  • 电影的元数据下载器:选择 TheMovieDb,并调整到第一位
  • 元储存方式:勾选 Nfo
  • 将媒体图像保存到媒体所在文件夹:勾选
  • Series 元数据下载器:选择 TheMovieDb,并调整到第一位
  • 字幕下载:勾选 Chinese 相关的三个,不仅仅勾选了简体
  • 字幕下载器:勾选 Open Subtitles

参考

  • 群晖dsm7.0系统docker安装emby教程及解码测试
  • [群晖NAS]Docker安装&使用EMBY全流程图文教程-长文
  • 群晖dsm7.0系统docker安装emby教程及解码测试
  • Emby在群晖下开启核显硬解转码4K,黑裙6.2.3如何启用核显

PT

下载客户端

  • Transmission Linux/MacOS
  • uTorrent
  • Azureus

m-team

馒头,通过捐赠即可获得账号+1 个月的 VIP:

  • 账号保留规则
  • m-team 馒头捐赠页面
  • 登录地址
  • M-Team 外站

heimdall 导航

linuxserver/heimdall上有该镜像的使用说明,安装也很简单。

  1. 注册中心中先双击下载镜像(无法打开注册中心的,需要先去网络将网关改为软路由IP)

参考:

  • Heimdall打造个人导航页

mysql

mysql 数据库

创建好相关持久化目录:

注意,这个config目录下的conf.d目录要创建好,因为后面启动时设置配置目录的挂载,如果里面缺少这目录,会启动失败。尽管只需要一个空目录,那也是必不可少的。

高级设置中设置环境变量 MYSQL_ROOT_PASSWORD,定义root用户的密码和时区:

环境变量:

1
2
TZ=Asia/Shanghai
MYSQL_ROOT_PASSWORD=123456

磁盘映射:

交互窗口

登录命令:

1
docker exec -it mysql bash

这里的 mysql 是我的容器名。

一开始报如下错误 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

但是等待了几分钟以后,该文件 /var/run/mysqld/mysqld.sock 便生成了,可以成功登录了。

查看用户主机关系:

1
select Host,User,plugin from mysql.user;

可以看到root的Host列为 % ,代表root账户任何地方都可连接,localhost的代表只有本机ip可连接

具体使用方式可以查看:使用容器 Docker 创建开发环境

Mac Time Machine 备份到 NAS

参考群晖官网的设置,可以指定 NAS 的共享文件夹作为 Mac Time Machine 的备份文件存储磁盘,群晖官网的指导已经更新为 DSM 7.0,资料真是更新及时:

  • 如何使用Time Machine将文件从Mac备份到Synology NAS?

Alist

更新 alist 容器实例版本

这里介绍介绍群辉 nas 如何更新容器实例的版本。

  1. 去”注册表”搜索”alist”拉取下载 xhofe/alist 最新的镜像版本,群辉里称为“映像”,但我还是习惯称为“镜像” 。
  2. “停止”旧的容器实例。
  3. 右键进入容器详情,在“设置”中修改容器名称,比如加个 -backup 后缀的标识。此外,如果查看容器“网络”是不是 bridge,如果是,则需要同时清除一下端口的映射关系,因为,两个容器使用相同的本地端口是不被允许的,尽管一个容器是停止状态也不行。注意,截图保存备忘。
  4. 返回容器列表,右键旧容器,选择“复制设置”,等新容器创建OK 以后,把旧容器的端口映射信息填入新容器的网络设置中。
  5. 启动新容器即可。如果验证没问题,就可以删除旧容器实例了。

参考:

  • 群晖Synology Container Manager更新Docker容器

xiaoya alist

  1. 去”注册表”搜索”alist”拉取下载 xiaoyaliu/alist 最新的镜像版本 。
  2. File Station 创建一个目录给 xiaoya/docker/alist-xiaoya
  3. 去“映像“界面运行,会进入配置引导:
    • 端口设置:本地端口设置 5678,映射端口 80
    • 存储空间设置:选择刚刚创建的 /docker/alist-xiaoya 映射 /data
  4. 准备三个文件,将下面三个文件夹存入nas 创建的目录 /docker/alist-xiaoya
    • mytoken.txt:alist 官方文档 介绍了,阿里云盘 APP 扫描后,获取到 token;
    • myopentoken.txt:阿里云盘 Open,点击 https://alist.nn.ci/tool/aliyundrive/request 选择扫描二维码,获取token;
    • temp_transfer_folder_id.txt:去网页版阿里云盘,在“资源盘”下新建一个文件件 xiaoya-cache,进入该文件夹,地址栏 resouce 后面的字符,就是文件件 id
  5. 启动容器即可

注意!注意!注意!首次访问时,由于小雅需要进行索引,启动时间会比较慢,根据网络情况,需要1-5分钟不等

因为实现原理还是会将播放的资源转存到个人网盘中,那么,需要设置一个定时任务去清理,通过 SSH 登录 NAS 后台:

1
2
# 模式 3 创建一个名为 xiaoyakeeper 的docker定时运行小雅转存清理并升级小雅镜像
bash -c "$(curl -s https://xiaoyahelper.ddsrem.com/aliyun_clear.sh | tail -n +2)" -s 3 -tg

定时的时间,我通过写入 myruntime.txt 文件(该文件也放在了上面小雅容器的路径下 /docker/alist-xiaoya)来实现:

1
06:00,12:00,18:00

参考:

  • xiaoya notion 使用说明
  • TG - xiaoya文档 群组

开启 SMB 服务

控制面板》文件共享》文件服务SMB。

注意点:高级设置,勾选“启动 Local Master Browser`,这样局域网中设备就可以看到共享文件件了。

参考

  • 花王群晖教程
Michael翔 wechat
ヾノ≧∀≦)o 欢迎订阅公众号「Coder魔法院」☑工具控 ☑编程 ☑读书☑电影
「🤓 码字不易,来杯Coffee👇」