我的家庭影音库

买了个大电视,想着周末宅在家看看剧多爽啊。虽然也有NAS也用了好久了,可好长一段时间电视与NAS之间还是用的U盘,或者是SMB读盘,每次都挺繁琐的,并且也十分的不优雅,可以犯懒一直就这么将就着。最近看《XXX》很想在通勤的路上用手机看家中我NAS里边的资源,于是周末痛下决心将我的影音库搞搞好。

我的整体方案如下:

  • 宽带:移动1000M下行,100M上行,Native IPv6
  • Router: ASUS RT-AX86U
  • NAS:Synology DS920+
  • Data Source:byr.pt
  • Download tool:qBittorrent
  • 客户端硬件:iPhone,iPad,Android TV
  • 客户端软件:Infuse,Kodi + Jellyfin plugin
  • 服务端软件:WebDAV,Jellyfin Server

由于有整备资源挂pt以及在外边有访问回来的需求,路由器桥接并拥有公网IP是很多需求的前提。在我所在的城市尤其XXXX是个大内网,IPv4是极稀缺的资源,这个基本别想了,不过还好IPv6已经很成熟了,观察使用了很多年,除了极个别老式路由器的WiFi还不支持,其余大多数的地儿都有IPv6接入了。对于我而言,将光猫改成桥接,然后路由器端设置好PPPoE拨号,关于IPv6再简单设置下,就差不多OK了。

可以通过电脑连上路由器,通过http://test-ipv6.com/ 来看下是否IPv6连接正常,或者直接通过群晖控制面板,看下是否能拿到一个正确IPv6地址。

这些都OK后需要解决一个数据源的问题,这块儿就得各显神通了,每个人情况都不一样。我说下我用到的工具,主要数据源来源于pt,同时需要NAS长时间挂机刷积分。群晖自带的Download Station内置Transmission就可以满足这个需求,可看很多帖子说这个用着很烂,都在说通过Docker自己安装的qBittorrent才好用并且在上传方面也抢流量神器。我一开始使用的是Downlaod Station,这次要好好整备一下,于是就安装了Docker版本的qBittorrent。各种配置其实挺繁琐的,用了很长一段时间相对比,没感觉明显的在上传方面有天翻地覆的差别。用户界面上也就那样,没感觉好太多。唯一我觉得相对比较方便的就是当资源下载完毕后,软件支持更改储存路径,这有利于我们之后对于电影以及剧集的分类管理,以及一些同一类的影片统一管理。在Download Station中只能设置一个统一的下载文件夹,不能分类,也不能下载后移动分类,当后期资源库数量多了就不太方便了,尤其想保种刷上传情况下。两个工具我都用了够长时间,个人建议如果不是特别极致的发烧友,打算弄一个特别牛逼的家庭影音库的话,多数情况下Download Station就够了,qBittorrent很繁琐增益也没想的那么高,不太值得。

另外有一点提醒,在Download Station中一些设置需要改一改,默认的是不行的容易上传没速度,在pt网站拿不到积分。

资源问题解决了,那么我们开始处理客户端问题。我陆陆续续尝试了很多,比如TV原生的资源管理器读取SMB资源,Kodi连接NAS然后加各种插件刮削等等,最终选择了Infuse和Kodi+Jellyfin组合这种形式,其中Infuse用在苹果生态中,效果简直是太赞了,不管是用户UI,设置复杂度,使用便捷度以及视频海报刮削质量,可以说都是一流,试过的其他的工具根本没法比。在NAS的服务端设置也比较简单,只需要安装WebDAV插件,基本上不用怎么设置,根据默认直接运行就OK。

就如上文提到我有外出访问家中NAS资源的需求,所以我们还需要再设置以及确认一下我们DDNS有没有设置完毕,这样我们就不用担心路由器重启IP改变。群晖真的是特别的用户友好,在控制面板外部访问中,我们就可以使用群晖的免费服务,来设置一个固定域名,用于之后对这台NAS的连接。刚刚也提到我用的移动宽带没有IPv4只有IPv6,所以在设置中我只开启了后者。

群晖给的DDNS域名已经很好记了,我想更好记一点,于是我在这CNAME将我的一个域名设置成群晖DDNS域名的别称,更简单了。

接下来想外部访问,还需要在路由器设置一下防火墙端口,是从外界可以连入。IPv6这对于路由器有了一定的要求,有一些老旧的或者低端的不能开启IPv6或者不能设置防火墙参数,这就凉凉了。pt上传刷积分另外一个必要前提条件也是公网端口并可连入,所以建议在路由器上多留一些预算,搞个好点儿的。下图是我的路由器中关于IPv6的防火墙配置。其中本地IP是NAS获取到的地址,通信协议根据自己用到的工具不同而不同,比如我的话,16881和5999是pt相关,5006是WebDAV,8096是Jellyfin后边Android TV用到,5000和5001是群晖自己管理页面用到的。

接下来就是对于Infuse移动端的设置了,真的是极其的简单,可以说就4个内容:域名,用户名,密码和端口。

连接成功就开始进行刮削海报建立视频库了,耗时取决于视频的数量。刮削完毕在首页就可以看到颜值超高的家庭影音库了。我尝试了用手机流量,以及另外一个宽带的WiFi来观看,那真叫一个丝滑,画质及其清晰的同时,一丁点卡顿也没有。这可能受益于我家中NAS上传带宽有100M,手机5G下载速率也很给力的原因。另外客户端不仅可以在线观看,也可以离线下载的手机,可以节约流量或者下载到平板中,真的是很方便。

在iPad端也是无可挑剔的优雅美观。

剩下一个大电视是Android系统,我之前尝试Kodi挂载SMB,使用各种方法进行刮削,比如路由器魔法,免Host插件,豆瓣插件等等等等,效果都很差,不可接受的地步,于是最终投入了Jellyfin的怀抱。首先我们需要在NAS安装服务端,很多帖子提到建议安装Docker版本的Jellyfin,鉴于现在国内Docker官网上不去了,在NAS中安装Docker难度瞬间提高,我尝试使用套件中心社群版的Jellyfin,很流畅很好用的,只需要简单点击几下即完成安装。其中有一个小插曲,在安装完毕Jellyfin并运行后,第一次要设置媒体库地址但是看不到我在NAS中的文件夹,查了一些资料得知是插件没有相应的文件夹权限,按照下边截图操作一下解决问题:共享文件夹–>编辑–>权限–>系统内部用户账号–>sc以及Jellyfin相关的用户–>授予可读写。

在电视端也需要有相应的配置,是一个Kodi的插件。看Jellyfin官网有两种不同的插件可供选用,第一种叫做 Jellyfin for Kodi,其特点是安装好后,影片出现在原生的Kodi媒体库中,用户体验上和之前Kodi自己加载媒体库没有任何区别。另外一个叫做JellyCon,看介绍说安装好后查看影片是在打开插件的目录下。我安装的第一种,用起来体验很不错,比Kodi原生的效果强太多了。但是安装步骤还是挺繁琐的,需要在Kodi下进行很多的操作。有需要的小伙伴还是根据官网最新的介绍步骤一步一步走,官网讲解的很详细清晰的。

https://jellyfin.org/docs/general/clients/kodi/

另外Jellyfin是有Android 原生的apk的,UI颜值也很高,很易用。但是我在我的电视上遇到声音画面会逐步不同步的现象,很影响体验,所以最终我选择了Kodi + Jellyfin for Kodi plugin。小伙伴可以先试下Jellyfin官方apk本身,如果没有声音画面不同步现象的话,建议就直接用这个就OK了,效果不比我的那个方案差。

Jellyfin和WebDAV+Infuse方案有个很大的不同是WebDAV+Infuse服务端即NAS只负责文件传输,所有解码工作是放在可客户端也就是Infuse里。理论上节约NAS资源但是使用更多的手机或者平板的算力。而Jellyfin的话服务端可以与客户端协商,若不需要转码可以原画传输,若客户端能力比较弱比如手机屏幕小,那么Jellyfin在服务端NAS上会将视频转码成客户端最佳的格式和尺寸后再传给客户端。默认情况下Jellyfin使用CPU来做这个转码步骤,细心的同学可能就会观察到默认配置下当使用Jellyfin播放时候NAS的CPU占用率特别高,几乎一直保持90%以上。互联网很多教程来设置基于Docker的Jellyfin打开硬件加速的方法,由于我是通过套件中心下载的,没有那些教程中的设置选项,我尝试了直接发现可以直接在基于套件中心的Jellyfin下打开硬件加速,更简单,只需要将以下几个勾选,然后重启Jellyfin就OK了。我的理解基于套件中心的软件默认就是高权限的。

为了更加清晰明了对比差异,我分别在关闭以及开启转码硬件加速的情况下,观察了CPU的占用率,可以看到,在相同视频源相同播放环境下,关闭硬件加速CPU平均负载约88%,开启硬件加速CPU平均负载24%,差别是相当明显的。

在NAS运行了Jellyfin服务端后,不仅仅可以用在Android TV上,在移动端同样可以使用,下图就是iOS端的Jellyfin官方APP,效果也不比Infuse差太多。就像上文提到Jellyfin在服务端会做转码,这部分工作放在NAS上后,在客户端就节省流量和资源,理论上说我们手机或平板就会更省电更省流量。我两者都打算长期用段时间,切身体会一下,小伙伴们也可以两者都试试。

Screenshot

到现在我的个人家庭影音库算是告一段落了,用户体验特别的棒,不管是iOS端还是电视端。现在的我非常的开心,我的媳妇也特别满意。接下来就是丰富我的媒体库了,一直都感觉精神内涵是我短板的方面,多读书、多看一些有思想深度的电影,让自己更加充实起来,逐步拥有属于自己对这个世界的思考与感悟,这对我来说是很向往的。

大致步骤就记录到这了,如果觉得对你有用,下边点个赞啊。

 

Reference:

https://jellyfin.org/

https://kodi.tv/

https://firecore.com/infuse

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.