NAS折腾记-软件篇-概述及媒体中心

最近终于折腾了一下 NAS,开个坑记录一下(流水账)。

软件篇-概述及媒体中心。

3. 软件

3.0. 基础服务与工具

首先远程桌面肯定是要开的,Windows 自带的远程桌面客户端还是几百年前那个,上 Windows Store 下一个新版的,好用得多。Mac 版的话,中国区 Mac App Store 是没有的,祖传美服账号掏出来。

路由器配置一下,家庭路由器一般都会开 DHCP,但我给服务器的 MAC 地址绑了一个固定 IP。把目前需要的端口转发到服务器,偷懒的我直接开了 DMZ。配置一下动态 DNS,我的域名是扔给 DNSPOD 解析的,华硕路由器本身不支持 DNSPOD 的 DDNS,但刷了梅林固件后有个插件可以直接用。实际用下来这个插件不是很完美,有时候可能宽带掉线重拨了,它没有及时更新,而是需要我进到后台去把这个插件配置点一下“确定”,大概就是让它重新执行一次吧。如果在远程的话,大概就得重启路由器了。当然也可以试试别的自带插件的 DDNS 提供商,里面不乏免费的,大不了域名难看点呗。

Windows Admin Center 安装了一下,看起来功能是非常强大的,不过目前没怎么通过它来配置系统。

3.1. 下载工具

迅雷

官方已经在客户端里去掉了添加远程下载机的入口,估计是为了推它的下载宝,所以迅雷远程就不用想了。另外,前文已经说过,远程迅雷的离线加速功能点了无卵用,所以实用性非常查。

在会员的加持下,迅雷依然是国内最强大的下载工具,以我的北京联通自称 200Mbps 带宽,打满的时候竟然可以达到 30MB/s 的下载速度,非常牛逼,使我为了正常上网不得不把迅雷限速到 20MB/s。应该说有了迅雷,我装 Windows 已经不亏。

另外用迅雷记得用完不关可以,但是可以把任务删掉,把下载文件挪走,不然它会占很多上传带宽(谁叫咱是吸血鬼呢)。

百度云

现在已经不具备同步功能,这个产品的定位也逐渐从同步盘转型到互联网资源集散中心。但它的离线下载功能还是比较可以的,而且目前也有远程推送下载功能。这样如果追剧更新了,并且有百度云资源,那么在公司就可以先把字幕组的资源转存到自己的百度云,然后远程推送下载,这样下班回到家直接就能看了。当然这只是一个简单场景,毕竟现在网速这么快,下一集非高清的电视剧也就几分钟的事情,不至于这么大动干戈。

另外百度云的客户端在远程推送任务那一栏竟然看不到下载速度,也是很废柴。当然这只是个体验问题并不是功能问题。

百度云的上传比迅雷更恐怖,而且设置了上传速度限制并无卵用,经常把我的 20Mbps 的上传带宽打满,使我不得不下完东西就赶紧把文件挪走。

Aria2

Aria2 是一个无 UI 的多线程下载引擎,它支持 HTTP/FTP/BT 等多种协议(然而并不支持eMule)。

它其实是绿色软件,网上找个启动脚本,改改配置文件就好。按照网上的经验,去 github 上找了一个 tracker 列表给添加上,不过这玩意我用的少,大多数时候还是在用迅雷,目前还没看出来加了 tracker 以后速度有没有提升,先就这样吧。

在 Windows 上配置 HTTPS 一直没成功,看了下 GitHub 上的 issue 好像别人也有这个问题,读取证书文件的时候出错。最后我使用了曲线救国的办法,我用 nginx 做一个反向代理,因为 nginx 配 HTTPS 是很容易的,而且也自带 WebSocket 支持,于是让 Aria2 可以支持 WebSocket over HTTPS 方式来连接了,当然用 IIS 做反向代理,对 HTTPS 和 WebSocket 支持应该也是没问题的。

AriaNg 是一个 Aria2 的 UI,其实根本不用安装,它是个 WebApp,只需要用官方 DEMO 改一下配置就可以用了(配置是存 localStorage 里的)。当然如果想在自己服务器上部署一个也很简单,由于是纯静态的,只需要弄一个 Web Server 就可以了。甚至可以用 Electron 直接打包一个当作客户端来用。

uTorrent

uTorrent 自带 WebUI,不过我不玩 PT,这玩意我暂时没搞。

eMule

电驴的官方客户端我不太喜欢(呃?),所以如果一个资源同时被迅雷禁了、被百度云禁了,而且它还没有 BT 或 megnet 那是比较懵逼的……

小结

上面也说到,其实以现在的生态环境以及网速而言,远程下载并不是特别重要的,即使在外面突然起意,有多想回家看某个片子,回到家再下载 1080p 时间也不是不能接受(要看 4K 就另说了),毕竟这点时间也可以去先洗个澡啊、切个水果啊、买点零食啊啥的混过去,还能获得更好的观影体验是吧……

3.2. 媒体中心

前言

以纯屯片儿或者网盘屯片儿的思路,都是自己整理下载的文件,但媒体中心的概念出现以后,围绕它的片儿管理思路就变了,屯片儿不再是屯那么简单,媒体中心还能帮助同步存下封面、剧情介绍、导演、演员介绍、甚至宣传片,对于美剧还能有每一集的副标题和分集的剧情梗概。比如《西部世界》在正片里没有给出副标题,而国内字幕组为了逃避百度云的关键词封禁,很多时候文件名也只是 s02e08 这样的狂野模式,并没有把副标题写在文件名里,粉丝自然可以去各种歪果网站上查,不然的话很多观众甚至都不知道《西部世界》是有副标题的。

当然纯屯片儿也不是不可以,Android 手机上弄一个 ES 文件浏览器,添加一下网络共享目录,就可以浏览 NAS 上的片儿了,但这样自然少了一些感觉。有了媒体中心,面对的就不再是一堆冷冰冰的文件了,不管新片儿还是老片儿,看片的冲动又更大了。我就兴冲冲的把《硅谷》跟《权力的游戏》每一季都下了下来,然后才发现每一季的封面竟然都是不一样的。

PLEX 和 Emby 大概是现在最主流的两个媒体中心服务了。这俩都是服务端和 WebUI 免费,客户端付费。它们的客户端付费是按月付费,也可以一次性买断,买断的价格都是 119 美元,不贵,但也谈不上便宜。但 Emby 限制 15 台设备,家庭用肯定也够了,只是不知道换手机啊啥的会不会坑;PLEX 的设备数限制没查到。

Kodi —— 原名 XMBC —— HTPC 玩家更了解的应该是它,与 PLEX/Emby 这种中心化的流媒体服务相对,它是一个客户端的媒体中心,通过扫描硬盘——当然也可以是局域网(甚至互联网?)里的共享存储空间——来建立一个媒体库。这样的缺点自然是在每一台设备上都需要安装配置一遍 Kodi,虽然网上有办法通过自建 MySQL 来把 Kodi 的媒体库进行中心化存储,但是大概看了一下,还是觉得挺麻烦的。

Kodi 插件很丰富,举个例子,它的字幕搜索功能可以通过插件支持 zimuzu、zimuku、163sub 等国内字幕网站,而且可以不仅可以用文件名搜索,还能自定义关键字。而 PLEX/Emby 则只能通过媒体名称自动搜索,并且字幕来源也只能是 OpenSubtitles.org,这玩意搜电影的字幕还凑合,搜美剧日剧就别想了,当然是不可能跟强大的国内字幕组相比。

PLEX/Emby 则明显更像云端时代的产物,中心化的媒体库建设,云端转码可以充分利用 NAS 机器的性能让菜鸡客户端设备也能播放,貌似我的投影仪没法解 4K H265 10bit 的片源,所以回头有机会尝试一下通过 Emby 在服务端实时转码成 1080p 播放的体验(我现在没有这么高规格的片源)。甚至它们都提供了真正云端播放功能,可以在外面通过互联网播放家里的媒体中心的内容(然而我并不可能这么干)。

设想一个家庭常见的播放设备,无外乎台式机、俩人的笔记本 + 手机(然而我没有对象)、iPad、电视机、智能投影仪、HTPC 等,设备越多,中心化的媒体库就越有优势,而这也是家用 NAS 的职责所在。

但它们的客户端要钱,而我前期不想投资这么多(至少等我 2T 硬盘塞满再说啊)。

那么,在我心中现阶段的方案自然是:通过 PLEX/Emby 建立中心化资料库,在播放设备上则是用 Kodi 结合他们对应的插件

PLEX 和 Emby 简单对比

安装,两者都很简单,下载后一键启动,进入 WebUI 跟随向导配置一下媒体库的路径,扫描一次媒体就操练起来了。

资料库建立并不复杂,主要让我不习惯的一点是,过去我自己整理电影、电视剧的时候,一般是按“欧美、日韩、大陆、港台”这种思路去组织的。而 PLEX、Emby 这样的媒体中心,它们是按照命名规则去整理的,然后通过搜刮片子的其他信息如类型、地区、导演、演员等来建立索引后提供分类与查询的体验。但文件方面它只支持全都放一块,建议是每个电影一个目录,按它的规则命名,里面还可以放一下字幕啊、海报啊、预告片啊啥的,甚至同一电影不同版本。于是如果按照原本的从目录结果的思路去管理媒体库的话,是无法配合他们的扫描建库机制的。

不过经过几天的适应我觉得这样也还行,只是如果有朝一日又不用媒体中心了,回到目录结构去,就会是一片完全没有整理过的样子,非常混乱,非常闹心了=.=

建库的时候匹配信息有一个比较麻烦的点,是文件名/目录名里进来加进官方英文名,因为 PLEX/Emby 使用的数据库是 IMDB、TheMovieDB、TheTVDB,用汉语搜索效果很差。这对于欧美电影电视剧问题不大,对于中文、日韩电影麻烦点,得去网上找一下它们的官方名称是啥,比如我现在手上有个日剧叫《贷款买下了男朋友》,用 TheTVDB 是直接搜不到的,后来我自己去豆瓣上找到了它的日文名称《彼氏をローンで買いました》才搜刮到信息。

Emby 也不是非要强制用命名规则来自动搜刮信息,可以自己右键媒体属性来手工指定关键词搜索,自己去那几个数据库里搜索以后在这里填写 ID 也可以。

日剧似乎不太爱用独立外挂字幕的形式,但美剧还挺多的,比如我下了《权利的游戏》1-7 季的 720p 版本,然后配上我喜欢的衣柜字幕组的字幕,借助 Total Commander 强大的文件批量重命名,整理起来不麻烦。然后看着媒体库一刷新就有了每一季的封面、每一集的副标题、截图和剧情梗概(剧透啊混蛋),还是小爽的。

两者的服务端和 WebUI 都是免费的,WebUI 的体验总的来说差不多,由于用的时间还比较短,暂时来说我也没有明显感觉谁更好或者不好。

PLEX 的 Android 手机客户端只让播一分钟,而且它的 Kodi 插件整合度非常低,只能看作是从 Kodi 里面打开了一个功能不全的 PLEX 客户端,甚至连播放界面都是独立的,自然也不能享受到 Kodi 其他插件的功能。

Emby 的 Android 手机客户端似乎可以随便用,除了一些高级功能(比如下载到手机、通过互联网观看等,通常也用不着)手上没有 iPad 所以没有尝试。然后在智能投影仪上装了 Emby 的 Android TV 客户端,可以试用两星期,用的时候会不停的提示你建议购买,而且在播放我某个 1080p 片源的时候它竟然是服务端解码,明明可以客户端解码更合适啊混蛋,完全没弄明白为什么要这么干。

Emby 的 Kodi 插件有两个,其中一个是连 PLEX 那种都不如的叫 EmbyCon,很废柴。另一个官方更推荐的就比较厉害了,它能够相当好的把 Emby 的媒体库融合进 Kodi 里,用的时候可以说是几乎感觉不到插件的存在,就是启动的时候会自动拉一下 Emby 服务器上的媒体库跟本地 merge 一下。目前我使用了这个方案,PLEX 暂时打入冷宫。

PLEX 和 Emby 都自带外网访问功能,其实就是通过 UPnP 把内网端口映射一下,然后在外网用的时候通过官方账号来做一个中介,告知一下客户端现在服务端的 IP 和端口,原理跟群晖的 QuickConnect 应该是一样的,这是一种典型的内网穿透/打洞方法。

但事实上有公网 IP 的话(赞一个北京联通),配合 DDNS 根本不需要这么麻烦,直接在路由器上端口转发,尝试访问,显示 Forbidden,进去 Emby 的配置一通胡找,打开外网访问,就可以了,并且选一下证书就自带 HTTPS。家里 10-20 Mbps 的上传速度(speedtest.net 测出),实测可以服务端转码播 1080p/10Mbps 的视频不卡,到 20Mbps 就偶尔会卡顿了——当然这只是证明了一下能力,实际上我并没有人在外面远程看家里的片儿的需求。

3.3. 媒体客户端

PC

PC 上其实不需要再弄 Emby 客户端了,因为直接用 WebUI 就可以了,而且 Emby 的 Windows 客户端其实也不过是 Electron 套壳而已。当然 Kodi 其实也有 Windows 版,但用在 PC 上实际体验怪怪的,感觉还不如直接用 WebUI。

Emby WebUI 的主界面

Emby WebUI 的剧集介绍界面 1

Emby WebUI 的剧集介绍界面 2

Emby WebUI 的播放界面

Android 手机

我现在用的是 Emby 的手机客户端,反正看个片是没说要收费。为什么手机上不用 Kodi?主要还是 Kodi 的多端统一界面在手机上用起来有点遭罪,而我也不想折腾 Kodi 皮肤……

Emby Android 手机客户端的剧集介绍界面 1

Emby Android 手机客户端的剧集介绍界面 2

Emby Android 手机客户端的播放界面

智能投影仪

这个就比较折腾了,我的投影仪是极米 H1s,安卓系统,因为众所周知的原因,自然是没有 Google Play,而老外的项目很烦躁的就是他们一般不提供 apk 下载。那么需要曲线救国,而在极米这种高度定制且又资料匮乏的相对小众的系统上,想装 Google Play 简直难,于是需要用第三方应用市场,而国内的那些渠道,由于众所周知的原因,它们一般都偏向于预装与运营,歪国 App 少得要死,所以需要找一个歪国的第三方应用市场,我用的是 Aptoide

那么怎么装它呢?由于极米系统自带的文件管理器里面是只能看见视频、音频、图片文件的,即使把 apk 文件放在 U 盘里面,也显示不出来。所以先要装一个“ES 文件浏览器”。通过系统自带的应用市场,或者手机端“无屏助手”装上“ES 文件浏览器”(如果极米的应用市场里没有的话,就线装个“当贝市场”或者“沙发管家”这类的其他应用市场再通过它们解决)。ES 文件浏览器自然是啥文件都能看见的,然后想个办法——比如 U 盘或者 Samba 共享,把 Aptoide TV 版的 apk 文件弄过去,装到投影仪系统里。

燃鹅,这样是远远不够的,由于众所周知的原因,Aptoide 在国内的互联网环境也是无法正常使用的,其实我的华硕路由器是可以安装“艾斯艾斯”或“微屁恩”插件的,只是我不喜欢全局 fanqiang,而一般都是用相对灵活的方式,所以如法炮制,在投影仪上也安装 fanqiang 软件,然后把 Aptoide 加到 fanqiang 软件的名单里面。

一切准备就绪之后就可以通过 Aptoide TV 来安装各种国内应用市场没有的 App 了。

Emby Android TV 客户端的主界面(拍糊了)

Emby Android TV 客户端的剧集界面

Emby Android TV 客户端的剧集介绍界面

Kodi 配置

按照 Emby 官方 Wiki 的指导只需要几步就可以安装配置好 Kodi Emby 插件,这时候已经可以近乎无缝的在 Kodi 里使用 Emby 的媒体库。

GitHub 上找 xbmc-addons-chinese,有一些适合国内环境使用的 Kodi 插件,按照 How to Use 安装配置一下。我装了几个字幕组插件,不过目前没有在用,因为我之前屯的美剧日剧都是整合字幕的普清版本。我准备把权游都换成 720p 蓝光版本,然后手工配好字幕,所以除非很犯懒,不然实时匹配字幕的意义其实并没有想象中那么大来着。

xbmc-addons-chinese 项目里还有一些优酷、爱奇艺、bilibili 等视频源,试了下 bilibili 并没有刷出资源来,大概年久失修用不了了吧。不过这些应用各自都有自己的 TV 版 App,也不稀罕跑 Kodi 里来看了。

Kodi 配合 Emby 插件的主界面

Kodi 配合 Emby 插件的剧集界面

Kodi 配合 Emby 插件的播放界面

DLNA 投屏

Emby 同时是一个 DLNA 媒介,可以在电脑/手机上浏览影片库,然后通过 DLNA 投屏到智能投影仪/电视上去播放。实测它的投屏连接速度比直接用手机优酷投屏反应慢几秒钟。

但其实在家里的话这么做没有太大必要,用遥控器操作直接在投影仪上选要看的片儿也没什么问题,何必多此一举呢,DLNA 还无法外挂字幕。

投屏更大的意义在于,像优酷这类平台,手机端和电视端的 VIP 不互通,电视端的 VIP 要贵一些,如果只买了手机端,有些 VIP 资源可以通过 DLNA 投屏来解决问题,很多时候就不再需要额外的购买电视端的 VIP 了。

小结

Emby 在开始播放一个片子的时候,会有大概 3-5 秒的等待时间,不知道它在做些什么。家里有线设备都是千兆网络,手机和投影仪也是 5G WiFi,试过手机测速是能有 600-700 Mbps 的,局域网里肯定不会有网速问题,只能理解为它要处理一些元数据吧,不过总的来说这不影响体验。

目前我主要的用法是,Android 手机用 Emby 官方客户端,实际播放体验反而一般,主要在它的播放器不支持手机上常见的视频软件屏幕上横划快进/快退功能,也不支持左右半屏上下滑动调节亮度/音量,但貌似它其实还是可以调用其他播放器来播的,暂时还没研究。投影仪用的是 Kodi 配合 Emby 插件,Kodi 其实本身是个 HTPC 软件,UI 就是为大屏设计的,所以用遥控器的体验甚至比在 PC 上用鼠标还要好……

PC 主要就用 WebUI 来进行一下媒体资料库的管理。自从有了智能投影仪,用 PC 看片的时候逐渐减少,于是 PC 上的播放体验反而最不重要,而且真的如果嫌弃播放体验差的话,还能用 PotPlayer 来播啊=.=


本期节目就先到这里,私有云还没弄好,下期可能会过阵子再发了。