Template
Add one-click Navidrome ingestion workflow
This commit is contained in:
@@ -1,3 +1,49 @@
|
||||
# MyTool
|
||||
# MangTool —— 音乐文件一键导入工具
|
||||
|
||||
我的工具箱
|
||||
面向 Navidrome 音乐服务器的音频文件智能导入管线。
|
||||
|
||||
## 一键导入工作流
|
||||
|
||||
将待处理的音频文件放入 `Input/` 目录,点击「开始一键导入」即可自动完成:
|
||||
|
||||
1. **扫描** — 递归扫描 Input 目录下的所有音频文件
|
||||
2. **校验** — 检查 Title/Artist/Album 元数据是否完整,缺失文件移入 Rejected/MissingMetadata
|
||||
3. **繁简转换** — 将繁体中文标签自动转为简体
|
||||
4. **格式转换** — 将 WAV/APE/AIFF/WV/TTA 转为 FLAC(需 FFmpeg),失败文件移入 Rejected/ConversionFailed
|
||||
5. **去重** — 基于 Artist+Album+Disc+Track+Title 归一化身份标识对比 Library 已有文件,重复移入 Rejected/Duplicate
|
||||
6. **入库** — 有效文件按 `Artist/Album (year)/NN - Title.ext` 布局移入 Library
|
||||
|
||||
## 目录结构
|
||||
|
||||
```
|
||||
BasePath/
|
||||
├── Input/ ← 放入待处理的音频文件
|
||||
├── Library/ ← 整理后的 Navidrome 兼容曲库
|
||||
└── Rejected/ ← 被拒绝的文件按原因分类
|
||||
├── MissingMetadata/
|
||||
├── Duplicate/
|
||||
├── ConversionFailed/
|
||||
├── Unreadable/
|
||||
└── Other/
|
||||
```
|
||||
|
||||
## 构建与运行
|
||||
|
||||
```bash
|
||||
# 后端
|
||||
cd backend && mvn clean package -DskipTests && mvn spring-boot:run
|
||||
|
||||
# 前端(开发模式)
|
||||
cd frontend && npm ci && npm run dev
|
||||
|
||||
# Docker
|
||||
cd docker && docker compose up -d --build
|
||||
```
|
||||
|
||||
## 技术栈
|
||||
|
||||
- 后端:Spring Boot 2.7 + Java 8 + Maven
|
||||
- 前端:Vue 3 + Vite + TypeScript + Element Plus
|
||||
- 音频元数据:jaudiotagger
|
||||
- 繁简转换:opencc4j
|
||||
- 格式转换:FFmpeg
|
||||
|
||||
Reference in New Issue
Block a user