音乐流媒体服务器Navidrome

什么是 Navidrome ?

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

什么是 Spotify ?

Spotify 是一个正版流媒体音乐服务平台,2008 年 10 月在瑞典首都斯德哥尔摩正式上线。Spotify 提供免费和付费两种服务,免费用户在使用 Spotify 的服务时将被插播一定的广告,付费用户则没有广告,且拥有更好的音质。

老苏曾介绍过一些音乐服务器,你可以根据自己的需要进行选择:

安装

在群晖上以 Docker 方式安装。

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

docker 文件夹中,创建一个新文件夹,并将其命名为 navidrome,并建 2 个子目录,分别为 musicdata

文件夹 装载路径 说明
docker/navidrome/data /data 存放数据
docker/navidrome/music /music 音乐库,建议只读

如果你已经有音乐库,可以将音乐库直接映射到 /music,从安全性考虑,建议将 /music 设置为只读

只读

当然你非要读写也是可以的

端口

直接用了默认的端口 4533

本地端口 容器端口
4533 4533

环境

环境变量均为可选项,请参考官方文档:https://www.navidrome.org/docs/usage/configuration-options/

运行

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

接下来就能看到主界面

设置中文

右上角 Settings –> Personal –> Language

选择 简体中文

播放歌曲

music 中拷入了一张无损碟

快速扫描

能够被识别

可以直接播放

外部集成

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

Last.fm

首先需要一个 Last.fm 免费帐户,其次你要能访问 Last.fm

  1. 转到 https://www.last.fm/api/account/create 并创建一个 API 帐户。只有 应用程序名称 字段是强制性的

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

  1. 将上面的值复制到 Docker 的环境变量
可变
ND_LASTFM_ENABLED 设置 false 为完全禁用 Last.fm 集成
ND_LASTFM_APIKEY Last.fm 获取的 API Key
ND_LASTFM_SECRET Last.fm 获取的 Shared Secret
ND_LASTFM_LANGUAGE 用于从 Last.fm 检索的语言的两个字母代码,简体中文为 zh

Spotify

Spotify 中创建一个免费帐户,然后按照以下步骤操作:

  1. 单击 Spotify 的开发者仪表板中的 CREATE AN APP 按钮:https://developer.spotify.com/dashboard/applications

  1. 填写所有字段并单击 CREATE 按钮:

  1. 将值复制到 Docker 的环境变量

可变
ND_SPOTIFY_ID Spotify 客户端 ID
ND_SPOTIFY_SECRET Spotify 客户端 Secret

转码设置

之所以要转码,是因为无损的文件比较大,一般都有几百M,所以需要进行转码成,便于客户端进行播放

Navidrome 出于安全原因,禁用了从 Web 界面更改参数,所以需要先修改 Docker 的环境变量

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

默认设置中有两个转码方案,一个是转 MP3,另一个是转 OPUS

可以根据需要修改 比特率

然后选择需要转码的客户端

关于客户端,老苏推荐你看看 Subsonic Apps 列表:http://www.subsonic.org/pages/apps.jsp

老苏还是用的 Android 客户端 Subsonic

修改完成

又拷了 2MP3 格式的碟

从日志看,播放无损的 WAV 进行了转码

而播放 MP3 则没有

参考文档

navidrome/navidrome: 🎧☁️ Modern Music Server and Streamer compatible with Subsonic/Airsonic
地址:https://github.com/navidrome/navidrome

Navidrome
地址:https://www.navidrome.org/

Docker | Navidrome
地址:https://www.navidrome.org/docs/installation/docker/