前文1说到,除了收藏动画,我还存储了不少音乐尚未整理。风格主要为动画的 OP/ED/OST2,而格式则以WAV、Flac为主,总量约700G。

这么多音乐想理清的话,不能说不是一件头疼的事。

首先是资源问题。我可能收集了两种音质的音乐,需要删除低音质的版本;可能下载了不同版本3的专辑,需要将两者区分开来;同一专辑的音乐可能散落在某个不知何处的文件夹中……等等等等。光是分门别类就已经要比摆放整齐的BT文件难上许多倍了。

其次是元数据问题。不同于影视剧能靠媒体程序识别文件名称并匹配与之对应的一个完美的元数据后生成一个nfo数据文件供后续使用,音乐的 ID3Tags4是直接写入音频文件中的。因此需要寻找一个修改音乐标签的方法,使之能与「MusicBrainz」上的数据匹配5。此外还需解决音乐的歌词问题。

关于音乐的整理方法,请看《MusicBrainz 不完全使用指南》,这里还是水一下音乐库的选择及部署方案。

确定需求

工欲善其事必先利其器,先确定对音乐库的需求,才能选择合适的媒体程序。现阶段我的要求很简单:

  • 界面美观:这是个人爱好,喜欢好看的东西
  • 远程播放:局域网内还好,外网使用的问题,可以靠Frp解决
  • 容易操控:最好有移动端
  • 显示歌词:这点不是刚需,可有可无
  • 安装方便:并不是什么骨灰玩家,所以只要简单的程序就好了

程序选择

从三月底购买NAS至今,我先后使用了Jellyfin/Emby/Plex 三种媒体程序。综合桌面端和移动端的使用场景,确定使用Plex作为最终的音乐库方案。

Jellyfin

Jellyfin是Emby的一个开源分支,也是大多数用户会选择的一款媒体程序。虽然开源至上,但是Jellyfin对音乐的支持较差,对音乐元数据的匹配能力较弱,不仅界面逊色Emby,还不支持歌词显示。

所以Pass。

桌面端

首页
首页

音乐主页
音乐主页

专辑展示页
专辑展示页

播放界面仅以下一种可选。

曲目列表
曲目列表

播放界面
播放界面

虽然官方指南给出了音乐库的文件夹编排格式6,但设置时并不能像Emby一样有选项可以选择。

移动端

移动端可以选择Web端或Jellyfin的App。界面除了不能显示歌词,大体上与Emby无异。

安装

安装Jellyfin很简单。可以参考「利用 Jellyfin + Bangumi 打造更舒适的动画媒体库」一文中相关安装步骤。

Emby

Emby是Jellyfin的付费实现。单从外观上来说Emby就要比Jellyfin好看很多。

毕竟是付费的软件,如果连UI都不好看,怎么吸引用户消费呢?

桌面端

主页
主页

播放页
播放页

专辑展示页面与Jellyfin类似,但在UI方面还是更胜前者一筹。

专辑
专辑

播放界面亦有多种可选。可以展示海报,也可以显示歌词。

不过歌词是付费功能,我用的是开心版所以有歌词

创建媒体库的时候可以按实际情况选择文件夹结构。

移动端

这里演示的是iPhone的Web端,也就是Safari浏览器下的界面。Web端的emby可以很好地显示专辑列表、播放卡片和歌词。

但由于Emby是闭源的付费程序,所以iOS若是想使用Emby App的话,需要花30块钱购买播放权限,才能解锁App端播放音乐的功能。

支持正版当然是好的,可Emby实在是太贵了。月付45,终身大概在900。所以安卓用户请愉快地使用开心版,iOS请不愉快地使用Web端。

安装

使用Docker & Docker Com­pose安装Emby。

Docker的安装步骤请参考「AutoBangumi:自动追番,解放双手」中相关教程。我实在是太懒了不想再复制粘贴过来了。

这里安装的是开心版,网页端全功能可用。

version: "3.9"
services:

  emby:
    image: lovechen/embyserver:latest
    container_name: emby
    ports:
      - 8096:8096
      - 8920:8920
      - 1900:1900/udp
      - 7359:7359/udp
    environment:
      - PUID=1000
      - PGID=1000
      - GIDLIST=0
      - TZ=Asia/Shanghai
    volumes:
      - ./emby:/config
      - /media:/media
    restart: unless-stopped

创建完成后访问ip:8096即可到达web界面,进行更深入的操作及设置。

媒体库的创建也很简单,只要你预先按文件夹要求分类好音乐,Emby就能直接索引使用这些音乐,并将专辑墙展示出来。

Plex

Plex也是一个付费程序,付费限制的功能和Emby基本一致:App需要付费才能播放影音,否则限制播放一分钟。但网页端是全功能的,不过解码能力很差,需要在PC上额外安装Plex本地程序。

Plex上手难度低,媒体库添加便捷。对未经重命名过的文件,识别率要比前面介绍的二者要高。界面也更加美观,对音乐的支持很好,不过歌词的显示一般。

桌面端

专辑墙
专辑墙

曲目列表
曲目列表

海报模式
海报模式

歌词显示是付费功能。我目前挂靠在有购买会员的大佬名下,直接白嫖了。

歌词显示
歌词显示

移动端

Plex的移动端也很好看,要比Emby好看。

Plex还有一款音乐程序「Plexamp」,不过需要购买Plex Pass才能使用。

Plexamp能显示更多的音乐信息。与Jellyfin/Emby的集成App不同,是真正意义上的移动端音乐程序。

图片是 Plexamp 还没有汉化的时候截的,现在已经更新中文了!

安装

安装Plex主要参考「使用Plex & Docker搭建自己的媒体服务器」这篇文章。

在安装之前,你需要前往官网注册账户,因为Plex是在线验证的方式。安装完成后,媒体库会自动关联到你的 Plex 账户。这点与Jellyfin/Emby都不同,因此Plex无法破解。

但免费功能够用,所以也没有破解的必要。

同样是使用Docker安装。

下方配置中PLEX_CLAIM=your-claim一项,需要填入Plex验证码,用于绑定账户。可以从 这里 获取, 有效期 4 分钟 。

version: "3.9"
services:

  plex:
    image: linuxserver/plex
    container_name: plex
    network_mode: host
    ports:
      - 32400:32400
      - 1900:1900/udp
      - 3005:3005
      - 5353:5353/udp
    environment:
      - TZ=Asia/Shanghai
      - PUID=0
      - PGID=0
      - VERSION=docker
      - PLEX_CLAIM=your-claim
    volumes:
      - ./plex:/config
      - /media:/media
    restart: unless-stopped

启动完成后可以访问ip:32400/web进入web界面,需要再登陆一次Plex账户。

媒体库的设置大同小异,但Plex细节更多。这里展示一下我的配置,仅供参考。

语言需要选择「中文」,这样专辑或歌手的信息才能正确显示为中文。

扫描器、代理、可见性、专辑排序均保持默认。

因为我的音乐已经全部内嵌好MusicBrainz的ID3信息,所以首选本地元数据

存储跟踪进度主要用于长音频,所以不需要开启,否则听过的歌会被记住播放位置而无法从头播放。

艺人简介、专辑评分、热门曲目都可以开启。

类型首选「嵌入的标签」,因为我的音乐已经全部内嵌好MusicBrainz的ID3信息。

至于专辑封面,不知道Plex会不会读取我本地的cover.jpg,所以使用的是「Plex音乐和本地文件」。

结语

如开头所说,最终我选择了Plex。因为它基本符合我的要求:界面好看、有移动端、界面好看。

就是没有公网ip,内网穿透花了点功夫。

虽然要钱,但是Plex好看,所以值得。

我连影视库都换到Plex了,现在是Emby和Plex双开,手机上用infuse连接Plex看片超棒。


  1. 详见:「利用 Jellyfin + Bangumi 打造更舒适的动画媒体库
  2. 「OP」指片头曲,「ED」指片尾曲,「OST」指「Original Sound Track」,意为「影视原声音乐大碟」或「原声带」,也就是配乐。
  3. 日本的动画专辑会有「初回限定版」和「普通版」之分,「初回限定版」一般会附带歌曲MV,有时与「普通版本」仅仅是封面和礼品上的区别。
  4. ID3是一种metadata容器,多应用于MP3格式的音频文件中。它可以将相关的曲名、演唱者、专辑、音轨数等信息存储在MP3文件中,又称作「ID3Tags」。详见维基百科
  5. 目前我用过的媒体程序,如 Jellyfin/Emby/Plex ,在音乐的元数据上使用的都是「MusicBrainz」的数据库。
  6. 详见:https://jellyfin.org/docs/general/server/media/music.html