静音NAS作为小型影音多房间系统的中心

该测试系统成为“在安静的设备上以合理的价格制造一个三区域的多房间”任务的解决方案。

安静的设备是关键概念。公寓不提供容纳嘈杂设​​备的空间。
另一个愿望是不使用文件夹,而是使用功能完善的媒体库来选择电影-电视节目-音乐。随着类型,艺术家,导演的划分。并带有精选的海报作品-封面。
一个区域(起居室)要求尽可能高的视频和音频播放质量,而其他两个区域对音频-视频内容的格式并不那么重要。

我希望使用最少的组件来构建系统,因此选择了具有媒体播放器功能的小型无风扇NAS-QNAP HS-251。

HS-251

该设备在磁盘子系统的超级性能方面没有差异,但是经过测试证明,它足以完成类似的任务。
但是里面几乎有接口:

图片

有两个HDMI接口,但是第二个接口还不能使用。据我所知,它打算在固件的将来版本中工作。

对于第一个区域(客厅),使用了以“杂食性”闻名的内置XBMC / Kodi播放器。它的最新版本甚至可以专门播放“弯曲”准备的视频。
NAS的HDMI电缆已插入接收器,接收器已插入电视。

在NAS上,选择了Kodi自动登录和自动启动。

并且激活了Kodi的遥控器,以便可以发送IP命令。
电视,接收器和NAS的控制命令是通过Savant系统从通用遥控器和平板电脑发送的。

如果需要的话,没有它也是有可能的,只需要稍微摇动遥控器即可。

在电视屏幕上,我们得到了与XBMC播放器打交道的每个人都熟悉的图像:

图片

在播放20-30 GB文件中的FullHD电影时,不会在处理器上产生明显的负载。

图片

在播放器的设置中,将其设置为“将所有音频和视频格式跳过输出而无需转码”。有了各种类型的音频流,直到DTS主机,接收机都得到了成功的处理。

任务仍然是在另外两台电视上播放来自NAS的内容。没有人希望内置播放器(电视不是最新的),因此出现了选择外部媒体播放器的问题。

选择了Apple TV。主要是由于使用媒体目录的可能性很高。没有人希望通过文件名选择电影,而是在文件夹中查找它们。

长期以来,一直存在一种使用本地存储内容“馈送” Apple TV的已知方法。这个名称是Plex / PlexConnect。

首先,Plex Server已安装在NAS上。但不是从QNAP存储库(通常有最新版本),而是从plex.tv/downloads
下一步是安装Python。其2.7版本位于QNAP存储库中。要使PlexConnect正常工作,需要使用Python,该Python充当Plex Server和Apple TV之间的网关。

最后,最有趣的过程开始-安装PlexConnect。
它需要一个空闲端口80才能工作,为此,Apple TV开始与PlexConnect通信,“认为”它是Apple服务器。默认情况下,端口80由内置NAS Web服务器占用。您可以禁用它或将其移动到另一个端口。这是一个单独的Web服务器,而不是用于管理NAS的管理Web界面。

如果一切顺利,则可以将PlexConnect脚本文件夹复制到NAS,然后通过SSH到NAS上的Linux命令行,进入放置PlexConnect的文件夹,并生成安全证书。

您可以使用以下命令在PlexConnect /资产/证书目录中生成证书:

openssl req -new -nodes -newkey rsa:2048 -out trailers.pem -keyout trailers.key -x509 -days 7300 -subj“ / C =美国/ CN =拖车.apple.com”
openssl x509 -in trailers.pem -outform der -out trailers.cer && cat trailers.key >> trailers.pem

最后尝试手动运行PlexConnect:

python PlexConnect.py您

可能需要指定脚本路径PlexConnect

可以有两个结果-不管结果是否正常。
如果可行,系统将等待来自Apple TV的呼叫,对其进行处理,并提供有关媒体库状态的信息,或者接收播放文件的命令,或将请求转发给Apple服务器。

如果它不起作用,那么您将收到一条消息,指出它没有起作用。
如果忘记生成证书,通常是“无证书”,或者是“端口80繁忙”。

最后一条消息是最不愉快的。您需要了解此端口占用哪种服务并关闭该服务。最简单的事情是,如果您忘记禁用NAS上的Web服务器。更糟糕的是,如果该端口已被禁用,并且端口仍处于繁忙状态。

如在forums.plex.tv上找到的,Qthttpd进程最常运行。

为什么它仍然可以在某些NAS型号上运行,当Web服务器关闭时,我没有任何答案。
如果使用
killall Qthttpd命令手动将其杀死
则它通常在一两分钟后会自动重新启动。

在此过程重新启动之前,请先启动PlexConnect,这一点很重要。
我没有发现NAS模型可以显示此问题的任何模式,但是它确实发生了。

解决方案可能是使用plex.tv论坛参与者编写的PlexConnect自动启动脚本:
********************** autorun.sh ******** *******************************************
#!/ bin / sh
killall Qthttpd
/ usr / bin / python /root/Library/PlexConnect/PlexConnect.py -d
********************************************************** ******************************
很明显,必须设置文件路径。

为了使Apple TV开始使用Plex,必须通过将NAS地址指定为DNS服务器进行配置:
设置->网络->以太网(如果Apple TV通过以太网工作)-> DNS(手动)

下一步是安装安全证书。这是直接从Apple TV完成的,无需使用任何第三方软件:

设置->常规->将数据发送到Apple(设置/常规/将数据发送到Apple)

这里应为“否”
接下来,使用“本机”突出显示此选项»遥控器,按播放按钮(不是一个选择,即播放)。
Apple TV建议创建一个新的配置文件。我们同意并指出以下网址
trailers.apple.com/trailers.cer

之后,Apple TV将能够与我们的Plex服务器建立安全连接。

Plex对多声道音频的播放有限制。正如论坛所说,MP4 / MKV文件没有DTS,MKV也没有DD。

如果一切顺利,那么在选择“预告片”部分后,您将进入选择材料(电影,系列,音乐等)的屏幕。显然,在此之前,需要告诉Plex Server本身您拥有什么以及它的位置:

图片

尽管安装过程看起来并不十分简单,但仅执行一次,此后Plex本身就会理解您上载到适当文件夹的文件。

您可以通过任何可能的方式下载媒体文件,包括使用NAS之间的同步功能(如果您有多个NAS,并且您希望内容在任何地方都同步),或者使用内置的torrent客户端。

Apple TV的电视节目选择屏幕。

图片

按类型选择电影的画面。

图片

Plex / PlexConnect可以即时对视频进行转码。但是这样的转码会严重加载NAS处理器。对于HS-251,请勿对分辨率大于720p的文件进行转码。
同时,NAS处理器的负载也相当不错:

图片

为了进行测试,我开始在功能更强大的QNAP TS-870上通过Plex进行转码。尽管一切正常,即使他也不轻松:

图片

可能的问题:

-如果电影名称被音译(俄语单词为英语),则该电影将不会被识别。 Apple TV将其显示为一个矩形,带有电影中的图片和标题-文件名。您可以编辑签名并通过Plex Server插入图片,但是用英语命名更方便。

-音轨并非总是正确播放。在某些情况下,尽管文件同时具有两种格式,但文件的编码方式不正确,而不是俄语的曲目是英语。就我而言,这不是问题,但有些问题令人紧张:
-)-有时当您打开Apple TV时,它会显示一条消息,表明未连接到Internet。您需要转到Apple TV的开始页面,然后返回“预告片”部分。

发现
对我来说,这是最小程度的“自制”解决方案。现成的静音NAS,现成的Apple TV。包括在内。配置,它的工作原理。

有局限性,但是,正如程序员所说,“这不是错误,而是功能。”

是否可以更便宜地解决问题-如果您自己组装所有东西,是否有可能。结果是否会像优雅和可靠一样-我对此表示怀疑。

萨哈罗夫·亚历山大(Sakharov Alexander)

All Articles