📌 前言(避坑重点)
我在用 MusicTag Web 批量刮削音乐时,遇到一个BUG:
Mp3File is not JSON serializable
AI说这个报错是 Python底层库硬伤,批量处理MP3/FLAC几乎必崩,升级、换源、重启都无法根治。
折腾许久,最终更换 MusicScraper完美解决!
稳定性、中文匹配率、资源占用全面**打 MusicTagWeb,搭配 Navidrome 组成 飞牛NAS最强本地音乐库方案。
✨ 方案优势
- 彻底根除 JSON 序列化报错(无PythonBUG)
- 中文曲库匹配率极高:QQ/**云/酷狗/酷我/苹果多源互补
- 轻量稳定,NAS 7×24小时**无压力
- 全自动补全:封面、歌词、专辑、歌手、年份、流派
- 与 Navidrome 目录完全互通,刮削即生效
- 支持双语歌词、广告标签清理、批量规整音乐库
📊 工具对比(为什么要换?)
| 对比项 |
MusicTag Web(旧) |
MusicScraper(新推荐) |
| 经典报错 |
Mp3File JSON 序列化失败(无解) |
完全不存在 |
| 中文匹配 |
一般,大量需要手动改 |
优秀,华语歌曲几乎全覆盖 |
| 资源占用 |
偏高,批量刮削容易卡 |
极低,丝滑流畅 |
| 数据源 |
少、配置繁琐 |
6大音乐源、智能互补 |
📁 目录结构参考
可根据自己NAS路径自行修改:
- 音乐库目录:
/vol6/1000/Others/音乐/music
- Docker配置目录:
/vol4/1000/系统/docker/Music/
🚀 Docker Compose 完整部署配置
飞牛NAS直接新建Compose项目,全量复制覆盖即可:
version: '3.8'
services:
# 音乐刮削神器 MusicScraper
music-scraper:
image: minzgo/music-scraper:latest
container_name: music-scraper
ports:
- "15005:7301"
volumes:
- type: bind
source: /vol6/1000/Others/音乐/music
target: /app/music
- type: bind
source: /vol4/1000/系统/docker/Music/music-scraper/config
target: /app/data
environment:
- TZ=Asia/Shanghai
- PUID=1000
- PGID=100
restart: always
networks:
- appnet
# 私人音乐服务器 Navidrome(官方精简配置)
navidrome:
image: deluan/navidrome:latest
container_name: navidrome
ports:
- "15004:4533"
environment:
- TZ=Asia/Shanghai
- PUID=1000
- PGID=100
# 核心基础配置(官方推荐必要参数)
ND_LANGUAGE: zh-CN
ND_SCANSCHEDULE: "12h"
ND_LOGLEVEL: info
ND_SESSIONTIMEOUT: 24h
# 基础功能开关
ND_ENABLEFAVOURITES: true
ND_ENABLESTARRATING: true
ND_ENABLEDOWNLOADS: false
# 缓存优化配置
ND_TRANSCODINGCACHESIZE: 4000M
ND_IMAGECACHESIZE: 1000M
volumes:
- type: bind
source: /vol4/1000/系统/docker/Music/navidrome/data
target: /data
- type: bind
source: /vol6/1000/Others/音乐/music
target: /music
read_only: true
restart: always
networks:
- appnet
networks:
appnet:
driver: bridge
🌐 访问地址
- MusicScraper(音乐刮削):
http://你的NASIP:15005
- Navidrome(音乐播放后台):
http://你的NASIP:15004
⚙️ 最佳刮削设置(直接抄作业)
- 数据源优先级:QQ音乐 > **云 > 酷狗(华语最优)
- 写入字段:封面、标题、歌手、专辑、年份、流派、歌词
- 置信度:70%(过滤错误匹配)
- 开启:跳过已有完整信息文件、自动清理广告标签
- 刮削完成后手动刷新 Navidrome 媒体库即可生效
❓ 常见问题
1. 镜像拉取失败
飞牛Docker添加国内镜像加速源,重启Docker即可。
2. 改完标签Navidrome不显示
手动触发扫描,或等待12小时自动扫描。
3. 权限异常
飞牛默认管理员UID=1000、GID=100,无需修改。
✅ 总结
MusicTag Web 的 JSON 报错是底层硬伤,无法修复。
换成 MusicScraper 是目前飞牛NAS用户最稳、零报错、中文适配最好的音乐刮削方案。
搭配 Navidrome,直接打造 永久免费、无广告、无会员限制的私人无损音乐库。

项目开源地址:https://github.com/SimonLYU/MusicScraper