家庭影音系统
版权,一个让人又爱又恨的东西。
好的一面是它可以带给创作者更多的收入,受众也有机会欣赏更优质的作品。
坏的一面是各个平台无法拥有所有版权,导致消费者疲于在各个平台寻找自己想看的作品,并开通会员,体验十分割裂。
缘由
娱乐就是为了放松,本不该再承受这些糟心事。所以去年购入了一台群晖,充当自己的影音资源管理中心。
经过近一年的使用,我觉得群晖身为家用 NAS 品类的老大哥,一点毛病都没有,基本上所有在家用 NAS 上可以实现的功能都可以以较为简单的方式安装使用。
但也不是完全没有问题,群晖官方的 Audio Station 各方面做得都不错,功能也绝对够用。但QuickConnect
带宽实在感人,我大部分时候是在路上听歌,一首 10M 或 20M 的歌曲它能加载几十秒后才发出声音,播放时也会时断时续。
QuickConnect
是群晖官方提供的内网穿透服务,对购买正版群晖的用户永久免费,考虑到服务器成本,带宽并不太高。
这样的卡顿,是我所不能忍受的,但当时也确实找不到更好的方案了,于是时隔半年之后我又回到了网易云音乐和 QQ 音乐的怀抱……
在外看视频毕竟不是刚需,所以QuickConnect
的带宽问题并不算太大的问题。但困扰我的是 Video Station 支持的编码格式太少了,想象一下你满怀欣喜地点开一个视频,结果发现看不了时,你会有多失望?
众所周知,我是个懒到极致的人。如果不是失望的次数太多了,又怎么会轻易改变呢?
视频管理系统
对我来说可选的第三方视频管理服务并不多,免费的只有Jellyfin
可用。
添加矿神套件源
在群晖的套件中心中依次选中 社群 - 设置 - 套件来源 - 新增。
在弹出的对话框的位置一栏输入https://spk7.imnks.com/
保存后,即可获得第三方提供的诸多套件了。
在我不是矿神这个网站中,还有很多 NAS 的教程和资源,十分推荐收藏。
安装 Jellyfin
在社群套件中找到Jellyfin 媒体服务器
,点击安装。
此处有两个版本,需根据自己的机器情况(是否有独显)进行安装。
安装完成后等大概十几秒钟,打开群晖内网 IP:8096
,注册一个管理员账号后登录。
第一次注册时可以先跳过媒体库的设置,还有就是首选元数据语言这里,我想找China
却怎么也找不到,最后发现原来是People's Republic of China
。
设置远程访问的两个选项都要打勾。
添加媒体库
登录后首页没什么东西,需要依次点击 用户图标 - 控制台 - 媒体库 来添加媒体资源。
到这一步时先不要着急添加媒体库。
通过群晖套件中心安装的Jellyfin
会有一个系统内置用户,默认是禁止访问共享文件夹的。需要在 控制面板 - 共享文件夹 中,选中要改变访问权限的文件夹,点击编辑,在权限页,切换到系统内部用户账号,并把Jellyfin
的可读写权限勾选即可。
如果这样配置后,在Jellyfin
中还是无法找到共享文件夹下的文件,则需要在 控制面板 - 用户与群组 - 用户群组 下,找到users
用户,修改这里面的共享文件夹权限。
权限的问题解决之后,也不要着急去添加媒体库,需要先简单了解一下电影和电视剧两大类别的视频资源,标准的文件结构是怎样的。
这样做了之后,Jellyfin
才能更容易识别出资源的信息,并从网络中搜刮相关图片和分集简介出来。所以,虽然有些麻烦,但可以让之后的选片、观影体验更好,还是值得多花一些时间的。
电影目录结构
Movies
├── Film (1990).mp4
├── Film (1994).mp4
├── Film (2008)
│ └── Film.mkv
└── Film (2010)
├── Film-cd1.avi
└── Film-cd2.avi
上面是官方提供的目录结构示例,可以直接存放以电影名 + 年份
命名的文件,也可以将电影文件放在以电影名 + 年份
命名的文件夹中。因为Jellyfin
在搜刮到电影信息后,会在相同目录生成电影名.nfo
文件,如果所有电影文件都直接放在同一级目录下,会显得有些乱,因此推荐统一为每一部电影创建一个文件夹。
电视剧目录结构
Shows
├── Series (2010)
│ ├── Season 00
│ │ ├── Some Special.mkv
│ │ ├── Episode S00E01.mkv
│ │ └── Episode S00E02.mkv
│ ├── Season 01
│ │ ├── Episode S01E01-E02.mkv
│ │ ├── Episode S01E03.mkv
│ │ └── Episode S01E04.mkv
│ └── Season 02
│ ├── Episode S02E01.mkv
│ └── Episode S02E02.mkv
└── Series (2018)
├── Episode S01E01.mkv
├── Episode S01E02.mkv
├── Episode S02E01-E02.mkv
└── Episode S02E03.mkv
官方提供的目录结构示例中,一级目录是以节目名 + 年份
命名的,二级目录则划分不同季节,子目录下才是具体的视频文件。视频文件的命名可以不用像示例那样标准,直接以 01.mp4、02.mp4、03.mp4 命名也是可以识别的。
较为特殊的是国内某些综艺节目,会有会员特供版、悠享版之类的额外内容,可以把这些当作花絮,统一放在Season 01/extras
目录中。
按以上方式整理完视频资料库后,就可以进入到添加媒体库环节了。
内容类型选择电影,首选下载语言和国家/地区留空即可,因为之前已经在用户设置中配置过了,无需重复配置。
点击加号配置要扫描的文件夹。
如果已经有完整的路径可以直接输入后点击确定,否则先输入/volume1
后点击放大镜图标,会在下面列出子目录,然后一步步往下选择就可以了。
最后一点就是在媒体资料存储方式中要勾选 Nfo。
点击确定后,等待媒体库扫描完成,回到首页,便得到了这样精美的界面。
安装客户端
经过上面的折腾,我们得到了一个手机电脑均可访问的网站,正常来说也够用了。
但具体使用后就会发现,浏览器的播放器支持的编码格式较少,播放大部分视频时都需要在服务端转码后才能把数据传输过来。
但我的群晖是低配版的,没有独立显卡,就没办法调用硬件解码。遇到比较大的视频文件,软件解码速度极慢,CPU 使用率也飙到最高,依然非常卡顿,导致完全无法正常观影。
在这里我走了不少弯路,我首先想到的是既然格式不支持,那我就先把视频转成浏览器支持的格式再保存不就好了吗?结果发现转换一个视频格式至少需要五六分钟,得到的文件还比原来的大 150%,画面质量说不定也下降了,这怎么能忍?
在Jellyfin
官网去找客户端,发现 iOS 系统下只有两个选择:Jellyfin 官方版本
和成名已久的Infuse
。
两个客户端我都安装了,Jellyfin
官方版本质上是网页套壳,最后还是浏览器在播放视频,依旧无法解决卡顿的问题。
Infuse
是收费软件,作为消费者,我很讨厌订阅制的软件,因此在闲鱼上花八块钱买了个 Infuse Pro 7 终身版的,iPhone 和 Mac 上都装上了,如果有 Apple TV,我甚至还能再装一个!
不得不说,这软件是真牛,一下子就解决了刚刚遇到的痛点。不管多大的视频,因为传输的是原始数据,由客户端本身进行解码工作,所以即点即开,非常爽。
如果我能买到正版终身制的软件,我一定不在闲鱼上买。
2023-01-01 更新:官方最新的手机客户端应该已经支持在客户端转码了,可以把服务端和客户端都更新到最新版尝试一下。
音乐管理系统
也没什么更多选择,就安装Navidrome
吧。
安装 Navidrome
和之前安装Jellyfin
一样,在套件中心的社群选项卡中就可以找到并一键安装。
共享文件夹的权限配置也是一样的步骤,在此不多赘述。
只是扫描路径是在哪里配置的我给忘了,好像默认就是/music
?还是说在创建管理员用户时配置的?
iOS 的客户端选择不多,就直接下载substreamer
用吧,尽管没歌词显示,但还是能凑合着用的,主要是界面比起其他同类的好看太多了。
音乐资源搜集
音乐资源不像视频资源那么好找,版权保护力度更强,所以更需要下一番功夫。
除了从网上直接搜索资源外,还可以在淘宝店铺中购买某个歌手的音乐合集,也不贵,就是得开个百度网盘的会员去下载下来。
除此之外,我最近在用的方法就是给音乐平台充会员,这样可以下载到大部分歌曲。里面有很多是受版权保护的加密文件,需要通过音乐解锁这个网站转换为原始资源。
- 最新版本的 QQ 音乐客户端下载的音乐文件已经无法通过此网站解密,解决办法是下载老版本的 QQ 音乐客户端,最好是 22 年 6 月之前的版本。
- 截止 23 年 1 月,音乐解锁这个网站对应的开源项目在
Github
上已经被查封,网站我还能访问,不知道是不是本地缓存的问题。如果网站确实还能访问,建议利用其 PWA 的特性,将其保存起来,谁知道它什么时候就也凉了呢?
内网穿透服务
经过以上折腾,我得到了一个非常好用的视频管理系统和稍差一点的音乐管理系统,相比之前的体验提升其实并没有那么大。
那我为什么要费劲周折重新搞一套影音管理系统呢?就是因为最近发现了一款性价比极高的内网穿透服务——浮居内网穿透。
每月最低 10 块钱,就能拥有不限带宽无限流量的内网穿透。我自己花 10 块钱测试了一下,确实比我自己在阿里云上搭的内网穿透服务网速快太多了,网速能有多快,真的就取决于家庭网络的最大上传速度了。
服务搭建
账号注册完成后,点击创建隧道,选择一个免费的服务器先试试能不能正常使用。
请参照官网最新说明进行配置,以下配置实测已不能正常穿透,原因是国内节点禁止穿透 HTTP 服务。
以刚刚搭建的Jellyfin
服务为例,隧道类型选择 TCP 隧道,本地端口填 8096,远程端口则需要不断尝试,填写一个未被他人占用的端口号,隧道名称随便填一下,其他不用动,点击完成创建。
复制配置文件的内容:
浮居提供了一个 docker 镜像,在注册表搜索fujufrp
就能找到。
下载此镜像并启动,网络选择使用与宿主机相同的网络,在环境变量的 FUJUFRP 中粘贴刚刚复制的配置文件内容。
之后通过内网穿透服务器的域名 + 远程端口号
就可以访问到自己的Jellyfin
服务了。
爽起来
假设上面的步骤完成后可以正常进行内网映射,就可以考虑付费购买服务了。
首先在测速网测试家里的宽带上传速度,超过 5M 感觉就可以正常观看视频了。
带宽也没问题,就可以去淘宝店铺购买激活码,然后使用了。
激活之后还要重新在 VIP 节点下创建新的隧道,然后把新的配置文件复制一下,把原来的浮居 docker 容器停掉,修改配置后再启动,就可以愉快地通过公网看视频听音乐了。
总结
折腾到最后,虽然这套影音管理系统依旧有不好用的地方,依旧每月要花钱,但我不用在各个平台间来回横跳了,不用忍受开了会员依旧存在的广告了,还拥有了对影音资源的绝对掌控,只要我把它保存下来了,就不用担心哪一天某个作品因为什么奇怪的原因被封杀,而再也看不到了。
所以,我觉得这次的折腾还是很成功且值得的!