介绍

Navidrome 是一个开源的基于网络的音乐收藏和流媒体服务器,与 Subsonic/Airsonic 兼容。它让您可以自由地从任何浏览器或移动设备收听您的音乐收藏。就像您的个人 Spotify

随着今年来版权意识的不断上升,现在我们想要找一些无损音乐都需要辗转各种音乐平台,然而当你会员过期时,音乐又听不了了。因此,我们喜欢听音乐的急需一个个人音乐库,以备不时之需。而Navidrome作为众多私有流媒体项目之一,具有很多优点。

Navidrome特点

优点

  • 流式传输几乎任何格式的音乐
  • 音乐元数据读取
  • 多用户支持
  • 合辑 (各种艺术家专辑)和 盒装 (多碟专辑)的强大支持
  • 极低的资源利用率
  • 多平台,包括docker镜像
  • 支持中文
  • 支持转码
  • 兼容Subsonic/Madsonic/Airsonic的客户端

缺点

  • 歌词显示似乎有bug
  • 无法在web端管理音乐

支持客户端

  • iOS: play:Sub, substreamer, Amperfy, iSub
  • Android: DSub, Subtracks, subreamer, Ultrasonic, Audinaut
  • 网页端: Subplayer, Airsonic Refix, Aurial, Jamstash, Subfire
  • 桌面端: Sublime Music(Linux)和Sonixd(Windows/Linux/MacOS)
  • 命令行: Jellycli(Windows/Linux)和STMP(Linux/MacOS)

界面

桌面端

移动端

安装

在注册表中搜索 navidrome ,选择第一个 deluan/navidrome,版本选择 latest

下载镜像

双击打开,再进入 高级设置,启用 自动重新启动

再点击 储存空间,添加如下两个文件夹,并装载如图所示路径。在装载之前,你需要创建相关文件夹(有则不需要)并配置文件夹对docker的读写权限。

文件夹装载路径说明
docker/navidrome/data存放配置数据
music/music音乐库路径

装载路径

随后选择 端口设置,本地端口设置你需要的,容器端口为4533

端口设置

环境变量可有可无,这里暂时略过,有需求后文会介绍。

运行

在浏览器中输入 http://群晖IP:4533 ,首先要注册一个管理员

注册账号

修改语言

修改语言

在右上角可进入个性化页面修改语言。

导入音乐

在音乐库文件路径添加音乐,本人建议音乐以以下方式归类

艺人/专辑/音乐

音乐归类

导入完成后进入web端,点击右上角快速扫描即可识别音乐。

扫描音乐

转码

无损音乐往往较大,流式传输时往往需要转码确保音乐流畅播放,这里就需要我们修改Docker的环境变量了,我们回到群晖Docker,停止navidrome,随后点击编辑修改配置,进入 环境变量

可变
ND_ENABLETRANSCODINGCONFIG设置为 true 以支持转码功能
ND_TRANSCODINGCACHESIZE转码缓存的大小。设置 0 为禁用缓存,默认为 100MB

转码环境变量

完成后应用,并重新启动navidrome。

我们回到web端,点击右上角转码设置,来到如下界面。

mp3opus对应两种转码格式,并可以修改转码的 默认比特率

随后我们在右上角进入客户端设置,选择需要设置转码的客户端,转码编号为转码格式,并设置最大比特率

客户端转码设置

外部集成

配置 Navidrome 可以从 Last.fmSpotify 获取专辑信息和图像

Last.fm

我们需要前往 Last.fm注册一个账号,随便转到 https://www.last.fm/api/account/create 并创建一个 API 帐户。

请输入图片描述

提交表单后,可以从 API account Created 页面获取 API KeyShared Secret

随后我们关闭navidrome容器,修改环境变量如下

可变
ND_LASTFM_ENABLED设置 false 为完全禁用 Last.fm 集成
ND_LASTFM_APIKEYLast.fm 获取的 API Key
ND_LASTFM_SECRETLast.fm 获取的 Shared Secret
ND_LASTFM_LANGUAGE用于从 Last.fm 检索的语言的两个字母代码,简体中文为 zh

Spotify

注册一个Spotify账号,并转到

https://developer.spotify.com/dashboard/applications

点击CREATE AN APP按钮

输入名称与描述后点击创建,随后获取 客户端ID,点击下面绿色文字可显示 客户端密钥

接下来我们修改docker环境变量并填入以上即可

可变
ND_SPOTIFY_IDSpotify 客户端 ID
ND_SPOTIFY_SECRETSpotify 客户端 Secret
最后修改:2022 年 11 月 14 日
如果觉得我的文章对你有用,请随意赞赏