rockboxd:Rockbox 音频守护进程
把 Rockbox 音频引擎做成网络音乐播放守护进程,提供多种 API、多房间输出与 Web 界面。
- 浏览
- 2
- 访问
- 0
- 下载
- 0
- 版本
- v2026.10.30
- 平台
- macOS、Linux
详细介绍
项目简介
Rockbox Daemon(rockboxd)是基于 Rockbox 开源音频播放器技术构建的现代化、支持网络的音乐播放平台,用 Rust 与 Zig 扩展。它以单个二进制(rockboxd)把完整的 Rockbox 音频引擎——无缝播放、DSP、20 多种解码器、标签数据库——通过 gRPC、GraphQL、HTTP、MPD 等 API 对外暴露,并支持 AirPlay、Snapcast、Squeezelite 的多房间输出。它运行在 Linux 和 macOS 上,是一个后台守护进程。
主要功能
- 音频输出:内置 CPAL、HLS + MPEG-DASH(CMAF)、AirPlay(RAOP)单房间/多房间、Snapcast(FIFO 管道与 TCP + mDNS 自动发现)、Squeezelite、Chromecast、UPnP/DLNA
- 无缝播放与交叉淡入淡出,支持 MP3、OGG、FLAC、WAV、AAC、Opus 等 20 多种编码
- 丰富 API:gRPC、GraphQL、HTTP REST、MPD 服务端(兼容各类 MPD 客户端)、MPRIS(桌面媒体键与任务栏集成)、Subsonic/Navidrome API、Jellyfin 兼容 API、S3 兼容 API(可从
awscli、mc、rclone上传/删除音频并自动同步音乐库) - 由 Typesense 提供快速搜索,可按文件夹或标签数据库浏览
- 客户端:Web(React)、桌面(原生 macOS / GPUI / GTK4)、移动(React Native)、终端(TUI)和 Rockbox REPL
- 提供 Android 库与 WebAssembly 目标
安装与使用
最快的上手方式是 Docker,无需配置文件和外部客户端,默认输出为 CMAF(HLS + DASH),可直接在浏览器播放:
docker run -v $HOME/Music:/root/Music -p 6062:6062 -p 7882:7882 tsiry/rockbox
打开 http://localhost:6062 的 Web UI,页面会自动连接 7882 端口上的 HLS 流。也可以在终端用任意支持 HLS 的播放器直接收听:
ffplay http://localhost:7882/hls/master.m3u8
手动安装后,创建 ~/.config/rockbox.org/settings.toml,music_dir 必填,audio_output 省略时默认为 builtin(CPAL,走系统默认设备):
music_dir = "/path/to/your/Music"
audio_output = "builtin"
然后启动 rockbox,打开 Web UI,或把任意 MPD 客户端连到 localhost:6600。
常用默认端口:gRPC 6061、GraphQL + Web UI 6062、HTTP REST 6063、MPD 6600、Subsonic/Navidrome 4533、S3 兼容 API 9000、CMAF 7882。
注意事项
- 不要把本项目刷入 DAP(数字音频播放器):它不是 Rockbox 固件,而是运行在电脑上的后台守护进程,刷到便携播放器上无法工作,也不受支持。
- 使用 Snapcast 时注意启动顺序:TCP 方式先启动
snapserver,FIFO 方式先启动rockboxd。 - 许可证为 GPL-2.0。
本作品整理自 GitHub 开源项目 tsirysndr/rockboxd,原作者 @tsirysndr,许可证 GPL-2.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v2026.10.30当前版本
升级 rockbox-dsp 0.5.0 与 rockbox-playback 0.9.0;EQ 设置新增上游滤波器类型字段,修复 Rust/Zig EQ 绑定与 Rockbox C 布局不一致导致的取值错误,并为正增益预留余量避免削波。
评论