0x01 前言

我家里有两个小米盒子,这坑爹货的系统越来越臃肿,导致QQ音乐缓存不了数据,在播放无损音乐的时候会提示空间不足。

今天吃完饭在欣赏音乐的时候突然想想到将音乐下载到服务器里,然后通过plex托管的方案。

0x02 准备

首先要准备一个plex媒体服务器,如果不需要显示歌词与其他高级功能,那么使用免费版即可。以下是安装教程:

然后需要在小米盒子上安装一个客户端,以下是客户端的下载地址:

在这里我不怪小米,因为Google play在我国是用不了的,那么我们可以到下面这个地址下载apk:

找到最新版下载即可,然后通过手机的小米电视控制app进行安装。

0x03 freenas

因为我的数据都存放在freenas中,如果你的架构没有我那么复杂,可忽略过。

首先在freenas中新建一个数据集,方便管理:

为了能有读写功能,还需要设置权限:

完成数据集的配置后,现开启用于windows的SMB服务:

最后启用NFS功能,以便在plex server中挂在磁盘:

至此,freenas的部分就完成了。

0x04 QQ音乐

因为QQ音乐只支持windows,所以需要找一台windows系统的电脑安装QQ音乐客户端。如果想听无损音乐或下载付费音乐,就需要开通QQ音乐的会员了:

安装完QQ音乐后,再在windows中挂载从freenas中通过SMB协议分享出来的music磁盘。

打开“此电脑”,单击顶部的“计算机”,然后点选”映射网络驱动器“:

在弹出的对话框中输入freenas的地址与music目录:

点击完成后会弹出用户名和密码的对话框,输入freenas中设置的用户名和与之对应的密码即可。

完成后会在“此电脑”窗口中看到相应的磁盘:

最后打开QQ音乐的设置界面,找到“下载目录”设置标签,将目录更改为刚才映射的磁盘即可:

一切准备就绪就可以从QQ音乐下载音乐啦。我推荐使用QQ音乐,因为它的音乐比较全,而且质量要好。如果资金允许,开通绿钻也是一个不错的选择。下载的同时可以看到文件在增加:

0x05 plex server

有了音乐,还需要将音乐引入plex server,因为我的服务器是用centos搭建的,所以需要用NFS协议挂载磁盘。首先安装showmount并检查相关权限:

#安装showmount
[[email protected] ~]# yum install showmount
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
软件包 1:nfs-utils-1.3.0-0.48.el7.x86_64 已安装并且是最新版本
无须任何处理

#检查权限
[[email protected] ~]# showmount -e nas.t.com
Export list for nas.t.com:
/mnt/disk_1/temp          (everyone)
/mnt/disk_1/work          (everyone)
/mnt/disk_2/movie         (everyone)
/mnt/disk_2/teleplay      (everyone)
/mnt/disk_3/services_data (everyone)
/mnt/disk_5/mariadb       (everyone)
/mnt/disk_5/music         (everyone)
/mnt/disk_5/nbu8          (everyone)

可以看到/mnt/disk_5/music这个目录是允许任何人挂载的,因为我在交换机层面做了限制,所以并没有在freenas中做控制。为了安全起见,建议对相关服务做出限制。

然后通过以下命令挂载磁盘:

#新建目录
[[email protected] ~]# mkdir /usr/local/music 

#挂载磁盘
[[email protected] ~]# mount -t nfs nas.t.com:/mnt/disk_5/music /usr/local/music/ -o proto=tcp -o nolock

为了能在开机的时候自动挂载,可以将mount命令放到rc.local文件中:

[[email protected] ~]# cat /etc/rc.local 
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local
mount -t nfs nas.t.com:/mnt/disk_2/movie /usr/local/movie/ -o proto=tcp -o nolock
mount -t nfs nas.t.com:/mnt/disk_2/teleplay /usr/local/teleplay/ -o proto=tcp -o nolock
mount -t nfs nas.t.com:/mnt/disk_5/music /usr/local/music/ -o proto=tcp -o nolock

完成磁盘挂载后就可以回到plex的设置界面添加音乐目录:

点击上图中的+号,添加音乐资料库。在添加文件夹窗口中选择以下路径:

其他选项保持默认即可。如无意外,可以看到音乐资料库正在扫描文件并下载封面图片:

0x06 结语

只要音乐的文件名准确无误,那么plex就可以匹配的到封面图片。