前文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 Compose安装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目前还没有汉化,所以英语不好的话使用会有一些些困难。
- Higher Quality Visualizers 高质量的可视化
It'll look great, but your GPU and battery will melt. 它看起来很棒,但是你的GPU和电池将会融化。 - Show Album Codec Badges 显示专辑编解码器徽章
Want to show off your HD music to your dog? 想把你的高清音乐展示给你的狗狗吗?
安装
安装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看片超棒。
- 详见:「利用 Jellyfin + Bangumi 打造更舒适的动画媒体库」 ↩
- 「OP」指片头曲,「ED」指片尾曲,「OST」指「Original Sound Track」,意为「影视原声音乐大碟」或「原声带」,也就是配乐。 ↩
- 日本的动画专辑会有「初回限定版」和「普通版」之分,「初回限定版」一般会附带歌曲MV,有时与「普通版本」仅仅是封面和礼品上的区别。 ↩
- ID3是一种metadata容器,多应用于MP3格式的音频文件中。它可以将相关的曲名、演唱者、专辑、音轨数等信息存储在MP3文件中,又称作「ID3Tags」。详见维基百科。 ↩
- 目前我用过的媒体程序,如 Jellyfin/Emby/Plex ,在音乐的元数据上使用的都是「MusicBrainz」的数据库。 ↩
- 详见:https://jellyfin.org/docs/general/server/media/music.html ↩
本文作者:mikusa
本文链接:https://www.himiku.com/archives/build-my-music-library-service.html
版权声明:所有文章除特别声明外,均系本人自主创作。转载及引用请联系作者,并注明出处(作者、原文链接等)。
用的jellyfin官方版本,发现音乐库里有些歌曲信息乱码,一开始百度了下jellyfin乱码,基本上都是说替换字体文件,我自己也替换后仍然解决不了,打开nfo文件里面的meta信息也是乱码,后来发现只要使用apev2|id3v1 tag的歌曲信息基本都是乱码,而使用id3v2.3|id3v1 tag的专辑就正常,用foobar2000查看乱码音频文件tag都正常,不知道有没有什么办法解决。
jellyfin首选读取id3v1数据,而id3v1是一种编码对应多种语言很容易乱码。解决方法是用MP3tag软件将v1数据清除。
清除是不可能清除的,顶多把 apev2的tag转成id3v2.3的,但是几万张专辑要找出乱码的就有点麻烦了 (:3」∠)
推荐一个开源项目,https://github.com/xhongc/music-tag-web
可以支持刮削音乐文件封面,歌词等元数据,也是支持docker部署。
感谢推荐,不过我看项目说「音乐标签来源 网易云音乐,QQ音乐,咪咕音乐,酷狗音乐,酷我音乐」,而我需要的是来自 MusicBrainz 的数据(具体请看《MusicBrainz 不完全使用指南》),所以在元数据这块这款软件对我的用处不是特别大。
但我注意到可以批量下载歌词,这倒是我迫切需要的功能,待我有空试一下。
再次表示感谢! ٩(ˊᗜˋ*)و
对于音乐来说有一个好的app就是dsplayer了 界面非常好看 而且不需要手动找封面和歌词 搭配黑裙的audio station就行 一年订阅12元 还能接受
想问一下Plex能手动编辑专辑信息吗。我现在使用的是emby,但有些未被音乐信息网站收录的专辑就无法自动识别,比如范特西PLUS。emby的音乐还不能像电影和电视剧一样去手动编辑,所以现在很恼火
plex可以手动编辑
感觉不错,就是看了下plex终身要120刀,emmm得考虑考虑
黑五的时候会降价,稍微便宜些……但也不便宜
我最近把 NAS 公网访问折腾透了之后也开始自建音乐库了,同样是 Plex 方案,但是遇到个比较烦人的问题:Plex 经常不能正常显示专辑封面,而是显示音乐人的图片。明明 MusicBrainz 有对应的匹配,元数据也刷新修复过了。
A酱也开始折腾音乐库了呀  ̄﹃ ̄
那手动匹配有结果吗?如果不行的话就要再参考这一篇 https://www.himiku.com/archives/musicbrainz.html 直接把id3tag写进去 ୧(๑•̀⌄•́๑)૭
手动匹配有结果,但是 Plex 中仍然显示不对。 手动写 id3tag 倒是可以,但太多了有点麻烦……
也有网络原因下不动封面的可能性
你说对了! 之前 NAS 设置了代理,但是 plex 并不走代理。现在用 Surge 做网关接管了 NAS,就好了~
Surge 好强……
我都是环境变量加条 http_proxy
因为我 plex 是以套件形式装的,好像不按 NAS 里设置的来…
套件啊……那快来用 Docker 版本的!效果一样折腾起来还方便!!
就是得重新建媒体库了……
啊,好折腾,我还是暂时这么用着吧~
不知道miui砍了api接口还是啥,安卓上的emby和plex在后台播完第一集的时候都会停止,jellyfin和plexamp是正常的,但是jellyfin本身没歌词plexamp 安卓加载lrc歌词一片空白。就很难受
开通 plex pass 了吗?我这边倒是正常的……
开了,后来找了台备机刷pixel都不行。emby所有方法都不行,plex加到播放列表里才能连播
整理中文音乐ID3Tags推荐用“音乐标签” https://www.cnblogs.com/vinlxc/p/11347744.html ,准确率高而且能自动匹配下载歌词,MusicBrainz对中文歌曲支持不够好经常需要手动编辑
感谢推荐OωO
但是这个工具我在这篇 https://www.himiku.com/archives/musicbrainz.html 提到过了 (/ω\)
而且这两个工具侧重点不一样,你可以结合上面链接里的内容了解一下。
另外不是 MusicBrainz 对中文歌曲支持不够好,而是没人上传元数据。
测试了一遍感觉Emby最适合我了,不过大佬在测试Emby的时候,有没有遇到过播放界面专辑图片模糊的情况呢......?查了一圈我也不知道该怎么解决......
这还真没遇到过,试着往专辑目录里丢一张名为 cover 的封面图片看看?
好,我试试看,谢谢大佬
还是不行,高分辨率的专辑图片总是被压缩到几百分辨率
......大佬你的专辑图片是内嵌到歌曲还是什么......我都是内嵌到歌曲里的
哦高分辨率的啊
那你不要内嵌太大的图片,不然确实是会扫不出来封面。
你要是在pc上整理的话,pc文件直接预览不是有封面吗,你看pc都显示不出封面来的时候就得意识到这图太大了……
不,Emby能够识别出来,但是播放的时候就变得比较模糊
......
这里是截图:
https://raw.githubusercontent.com/MedicMoGu/Private-collection-article-images/main/Snipaste_2023-02-03_10-03-16.jpg