POST

Navidrome:把 NAS 上的音乐变成自己的流媒体服务

扫一遍音乐目录,自动读标签建库。手机装个客户端,走到哪都能听,不联网也能缓存。

音乐 App 的问题大家都知道:歌单变灰、版权到期、会员涨价。

如果你的硬盘里已经存了一堆无损,那缺的只是一个"能放"的服务器。Navidrome 就是干这个的,而且做得比想象中好。

装

应用中心搜 Navidrome,或者:

services:
  navidrome:
    image: deluan/navidrome:latest
    container_name: navidrome
    ports: ["4533:4533"]
    volumes:
      - ./navidrome/data:/data
      - /vol1/music:/music:ro
    environment:
      - ND_MUSICFOLDER=/music
      - ND_SCANSCHEDULE=1h
      - ND_LOGLEVEL=info
      - TZ=Asia/Shanghai
    restart: unless-stopped

两个路径要说清楚:

  • /data:它的数据库和封面缓存,要备份;
  • /music:你的音乐目录,只读挂载(:ro),防止它误改你的文件。

ND_SCANSCHEDULE=1h 表示每小时扫一次新文件。加歌之后不想等,界面上也能手动触发扫描。

音乐怎么整理

Navidrome 靠标签建库,不靠文件名。所以:

  • 每首歌的 ID3 标签(歌名、艺术家、专辑、年份、音轨号)要填对;
  • 一个专辑放一个文件夹,命名成 艺术家 - 专辑名 (年份);
  • 封面文件叫 cover.jpg 或 folder.jpg,放在专辑目录里。

整理工具推荐 Mp3tag(Windows)或者 beets(命令行批量)。标签乱的话,界面上会看到一堆"未知艺术家"——这就是没整理过的样子。

客户端怎么选

它有标准的 Subsonic / OpenSubsonic 接口,所以客户端非常多:

  • iOS:Amperfy、substreamer、play:Sub
  • Android:Symfonium(付费但最好)、DSub、Ultrasonic
  • 桌面:浏览器直接用,或者 Sonixd
  • 电视:部分 Subsonic 客户端支持 Android TV

我自己用 Symfonium,它的离线缓存做得最顺——出门前点一下"缓存这个歌单",地铁上不联网也能听。

三个实用功能

一、按标签自动建歌单 最喜欢的一类规则:“评分 ≥ 4 的,随机 50 首”。设一次,永远有歌听。

二、转码 在外面网络差的时候,可以让服务端把无损转成 128k mp3 再发。设置里按场景配:局域网直传原文件,外网转码。

三、多用户 家里人各自有账号、各自的播放记录和收藏,互不干扰。

会踩的坑

扫描完一首歌都没有 路径挂错了,或者容器里看不到 /music。进容器 ls /music 确认。

专辑裂成好几张 标签里的"专辑艺术家"不一致(有的写"周杰伦",有的写"Jay Chou")。统一一下。

封面不显示 封面文件没放在专辑目录里,或者文件名不是 cover.jpg。它也能读内嵌封面,但要标签里有。

中文乱码 老 MP3 的标签编码是 GBK。用 Mp3tag 批量转成 UTF-8。

外网访问很卡 无损文件很大。开转码,或者用隧道时先缓存。

它适合谁

  • 硬盘里存了一堆音乐,想随时能听的;
  • 不想再为版权续费的;
  • 想让家里人在电视、车机上也能听自己库的。

不适合:只听在线歌单、不存本地文件的;音乐库很乱又不想整理标签的(那样体验会很差)。

最后

Navidrome 的价值不是"省钱",是你的库永远在。

十年后某个流媒体平台下架了你喜欢的专辑,你的还能播。这一点,值得花半小时整理标签。

有问题留言。

👁 - 次浏览

留言

← 返回首页