Snapcast 0.35.0 介绍与选型指南
Snapcast 0.35.0 实测介绍与选型:三平面架构与毫秒级同步原理、JSON-RPC 控制面、快速部署双客户端最小示例、无声卡 null 输出验证与多房间音频方案量化对比。
Snapcast 0.35.0 介绍与选型指南
目标:读懂 Snapcast 的定位、同步原理与功能边界,在一台 Linux 服务器上完成「1 个 snapserver + 2 个 snapclient」的最小可用部署,并为多房间音频方案给出可量化的选型依据。已在 Debian 12(x86_64)上实测 Snapcast 0.35.0 双客户端同步播放通过。
一、环境信息
本文所有命令与回显均在以下实测环境采集:
- 操作系统:Debian GNU/Linux 12 (bookworm)
- 架构:x86_64
- Snapserver:v0.35.0 (rev f1237347),GPL-3.0
- Snapclient:v0.35.0 (rev f1237347),GPL-3.0
- 网络拓扑:1 台服务器(主机名
snapserver,IP10.89.61.2)+ 2 台客户端(IP10.89.61.3、10.89.61.4),同一局域网 - 服务端口:1704(TCP 音频流分发)、1705(TCP JSON-RPC 控制台)、1780(HTTP JSON-RPC 控制台 / Snapweb 页面)
- 音源:
pipe:///tmp/snapfifo命名管道接入的 440Hz 正弦波 PCM(44100:16:2),流名SineTest - 客户端输出:测试机无声卡,使用 ALSA
null设备(Discard all samples)验证链路 - 溯源数据日期:2026-10-30(GitHub API 实查)
二、软件概述
2.1 定位与来历
Snapcast 是一个开源的多房间同步音频解决方案,采用「服务器分发 + 瘦客户端播放」架构:上游音源(MPD、Lyrion Music Server、Mopidy、librespot、AirPlay 接收端等)把 PCM 音频写入 snapserver,snapserver 编码后经 TCP 分发给局域网内所有 snapclient,各客户端依据服务器时间戳在同一毫秒对齐播放,从而实现全屋无线同步音响。
项目由 Johannes M. Pohl(BadAix)发起,仓库原地址 badaix/snapcast,现已迁移至 snapcast/snapcast(GitHub API 301 跟随确认,2026-10-30 实查)。项目创建于 2015-01-02,截至 2026-10-30 累计 8038 stars、129 个 open issues,最近一次代码推送 2026-10-28,维护活跃。
版本信息实测回显(snapserver --version):
snapserver v0.35.0 (rev f1237347)
Copyright (C) 2014-2025 BadAix (snapcast@badaix.de).
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Johannes M. Pohl and contributors <https://github.com/snapcast/snapcast/graphs/contributors>.
2.2 版本节奏与发行包
当前稳定版 v0.35.0 发布于 2026-03-10(GitHub Releases 实查,非预发布),上一版本 v0.34.0 发布于 2025-10-03,约每 3~6 个月一个特性版本。v0.35.0 共 46 个发行资产,覆盖 Debian 三个发行线(bookworm / bullseye / trixie)× 三种架构(amd64 / arm64 / armhf)× 三种音频后端(标准 ALSA 版、with-pulse PulseAudio 变体、with-pipewire PipeWire 变体),服务器与客户端均提供 deb 包。代表资产实测列举:
snapclient_0.35.0-1_amd64_bookworm.deb 591928
snapclient_0.35.0-1_amd64_bookworm_with-pipewire.deb 613888
snapclient_0.35.0-1_amd64_bookworm_with-pulse.deb 610100
snapclient_0.35.0-1_amd64_bullseye.deb 605712
snapclient_0.35.0-1_amd64_bullseye_with-pipewire.deb 628284
snapclient_0.35.0-1_amd64_bullseye_with-pulse.deb 622764
💡 说明:v0.35.0 客户端新增 SDL2 播放后端(PR #1460),服务器新增「新客户端默认源」选项(PR #1494);除 deb 外官方还提供 Ubuntu PPA、Alpine/Arch/Fedora 社区包与源码编译路径,发行资产清单以 Release 页为准。
三、核心架构
3.1 三个平面:音源、分发、播放
Snapcast 把「音源在哪」与「声音在哪响」彻底解耦,整体分三个平面:
- 音源平面(输入):snapserver 从一个或多个
sourceURI 持续读取 PCM 数据,典型如pipe:///tmp/snapfifo(命名管道)、file://(PCM 文件)、process://(子进程 stdout)、librespot://(Spotify Connect)、airplay://、tcp://(TCP 对端)与meta://(把多个源聚合成一个可切换源)。 - 分发平面(传输):snapserver 按固定时间片(
chunk_ms,默认 20ms)切块,用选定 codec 编码后附上服务器时间戳,经 1704 端口推给每个已连接客户端。 - 播放平面(输出):snapclient 收到 chunk 后放入本地缓冲区(
buffer,默认 1000ms),按服务器时钟对齐播放时刻,再交由 ALSA/PulseAudio/PipeWire/SDL2/文件等后端输出。
同步的数学基础很简单:每个 chunk 携带「采样点对应的服务器时刻」,客户端用时间协议估算自己与服务器时钟差(客户端日志中的 diff to server [ms]),把「服务器时刻 T 的样本」安排在「本地时钟 T + buffer_ms」播放。只要各客户端时钟差估算准确(局域网内通常亚毫秒级),全屋即达成听感无差别的同步。客户端实测日志(节选):
2026-10-30 00-51-59.277 [Notice] (Connection) Connected to server
2026-10-30 00-51-59.277 [Info] (Connection) My MAC: "ae:91:13:92:a7:29", socket: 8
2026-10-30 00-51-59.287 [Info] (Controller) ServerSettings - buffer: 1000, latency: 0, volume: 100, muted: 0
2026-10-30 00-51-59.287 [Info] (Controller) Codec: pcm, sampleformat: 44100:16:2
2026-10-30 00-51-59.298 [Info] (Controller) diff to server [ms]: -0.001
3.2 控制平面:JSON-RPC 与 Snapweb
播放控制与拓扑管理走 JSON-RPC 2.0,三种入口等价:HTTP POST http://<server>:1780/jsonrpc(同时承载 WebSocket)、TCP 裸流 telnet <server>:1705(每行一个 JSON 请求)。实测两种入口均可用:
== TCP 1705 JSON-RPC ==
{"id":1,"jsonrpc":"2.0","method":"Server.GetRPCVersion"}
{"id":1,"jsonrpc":"2.0","result":{"major":23,"minor":0,"patch":0}}
方法命名空间分四组:Server.*(全局状态/删除客户端)、Group.*(分组、组静音、切流)、Client.*(音量/静音/名字/延迟)、Stream.*(流属性控制)。v0.35.0 的 JSON-RPC 版本为 23.0.0(上方实测回显)。deb 包内置 Snapweb 网页控制台(安装于 /usr/share/snapserver/snapweb),配置 doc_root 后访问 1780 端口即可用浏览器分组、调音量;未配置 doc_root 时返回内置默认页。实测:
HTTP/1.1 200 OK
Server: Snapcast
Content-Type: text/html
Content-Length: 1717
服务器同时通过 mDNS(Bonjour/Avahi)发布 _snapcast._tcp(流)、_snapcast-ctrl._tcp(控制)等服务,snapclient 未显式指定地址时默认发现 tcp://_snapcast._tcp,即零配置接入。
3.3 传输 codec 一屏对比
💡 技术拓展:snapserver 支持的传输编码不止一种,四选对比——
codec 原理/特点 适用场景 pcm 不编码,原样透传 CPU 最低、内网带宽充足;本文实测采用 flac 无损压缩,CPU 开销小 兼顾音质与带宽的默认选择(默认压缩级别 2) ogg (Vorbis) 有损压缩,VBR 质量档 -0.1~1.0(默认 0.9) 带宽受限、可接受轻微损失 opus 有损压缩,码率 6000~512000(默认 192000)、复杂度 1-10 低带宽 Wi-Fi、嵌入式客户端 本文实测环境为千兆内网且需零编码开销,
snapserver.conf中显式设codec = pcm;生产家庭环境通常保持默认codec = flac即可。
codec 专属参数实测回显(snapserver --stream.codec=<codec>:?):
== codec=flac options ==
Options for codec 'flac':
compression level: [0..8]
Default: '2'
== codec=opus options ==
Options for codec 'opus':
BITRATE:[6000 - 512000|MAX|AUTO],COMPLEXITY:[1-10]
Default: 'BITRATE:192000,COMPLEXITY:10'
四、功能特性
4.1 多源输入与 meta 聚合
snapserver 的 source 可配置多行,每行一个流;meta:// 把多个真实流聚合为一个虚拟流,客户端切到 meta 流后可通过 Stream 控制方法在子源间切换——这是「一个 Snapcast 网络、多个上游服务」共存的标准玩法。deb 包随附四个 meta 插件脚本(实测 dpkg -L snapserver):
/usr/share/snapserver/plug-ins/meta_go-librespot.py
/usr/share/snapserver/plug-ins/meta_librespot-java.py
/usr/share/snapserver/plug-ins/meta_mopidy.py
/usr/share/snapserver/plug-ins/meta_mpd.py
4.2 分组、音量与延迟管理
服务器把客户端组织成若干组(Group):同组客户端播放同一流且联动静音,跨组可播不同流(真正的分区音频)。每个客户端可独立设置音量、静音、名字与延迟补偿(补偿功放/声道处理链引入的固定延迟,实测 Client.SetLatency 设 10ms 生效回显 {"latency": 10})。音量既可按客户端调,也可按组调。实测把两台客户端并入同一组的 JSON-RPC 回显(节选):
{
"id": 7,
"jsonrpc": "2.0",
"result": {
"server": {
"groups": [
{
"clients": [
{
"config": {
"instance": 1,
"latency": 10,
"name": "LivingRoom",
"volume": {
"muted": false,
"percent": 65
}
},
"connected": true,
"host": {
"arch": "x86_64",
"ip": "::ffff:10.89.61.3",
"mac": "66:5f:2e:b8:5e:7f",
"name": "a2cb3822d765",
"os": "Debian GNU/Linux 12 (bookworm)"
},
"id": "66:5f:2e:b8:5e:7f",
"snapclient": {
"name": "Snapclient",
"protocolVersion": 2,
"version": "0.35.0"
}
},
{
"config": {
"instance": 1,
"latency": 0,
"name": "",
"volume": {
"muted": false,
"percent": 100
}
},
"connected": true,
"id": "ae:91:13:92:a7:29"
}
],
"id": "49007f3a-2eef-a835-23a5-7cbe99977a2c",
"muted": false,
"name": "",
"stream_id": "SineTest"
}
]
}
}
}
💡 说明:客户端以 MAC 地址为唯一 ID(
id字段),服务器断电重启后配置(名字/音量/分组)按 ID 恢复;客户端长期离线后其记录会保留在列表中(connected: false),可用Server.DeleteClient清理,本文实测已验证。
4.3 安全与传输加密
v0.35.0 支持 HTTPS 控制台(http.ssl_enabled,默认端口 1788)与 WSS 流,证书经 [ssl] 段配置(PEM 证书/私钥/客户端 CA 校验);TCP 与 HTTP 的 JSON-RPC 可绑定到指定地址(如仅 127.0.0.1),并可启用基于角色的授权(authorization.enabled、role、user)。家庭内网最小配置下这些项默认关闭,暴露公网前必须开启。
4.4 客户端多后端与无声卡输出
snapclient 的播放后端经 --player 选择(默认 alsa,可选 file 等),音频设备经 --soundcard 指定(索引或名称,默认 default)。没有声卡的服务器/虚拟机照样可以接入做同步验证:把设备指向 ALSA null(丢弃采样但完整走完同步链路)。实测 snapclient -l(列出 PCM 设备)与 --soundcard null 启动日志:
0: null
Discard all samples (playback) or generate zero samples (capture)
2026-10-30 00-51-59.287 [Info] (Player) Player name: alsa, device: null, description: Discard all samples (playback) or generate zero samples (capture), idx: 0, sharing mode: unspecified, parameters: <none>
2026-10-30 00-51-59.287 [Info] (Alsa) PCM name: null, sample rate: 44100 Hz, channels: 2, buffer time: 80000 us, periods: 4, period time: 20000 us, period frames: 882
五、快速开始(最小可用示例)
本章在 Debian 12 服务器上从零跑通「1 服务器 + 2 客户端」同步链路,5 分钟内可完成;完整参数解释见第七章及后续专题文档。
5.1 安装 deb 包
从官方 Releases 下载对应发行线与架构的 deb 并安装(客户端机器执行同理,装 snapclient 包):
wget https://github.com/snapcast/snapcast/releases/download/v0.35.0/snapserver_0.35.0-1_amd64_bookworm.deb
wget https://github.com/snapcast/snapcast/releases/download/v0.35.0/snapclient_0.35.0-1_amd64_bookworm.deb
apt-get install -y ./snapserver_0.35.0-1_amd64_bookworm.deb ./snapclient_0.35.0-1_amd64_bookworm.deb
实测安装回显(Debian 12 干净环境,输出节选):
Setting up libavahi-core7:amd64 (0.8-10+deb12u1) ...
Setting up libavahi-client3:amd64 (0.8-10+deb12u1) ...
Setting up avahi-daemon (0.8-10+deb12u1) ...
Setting up snapclient (0.35.0-1) ...
Adding user `snapclient' to group `audio' ...
Done.
Processing triggers for libc-bin (2.36-9+deb12u14) ...
💡 说明:deb 安装会自动创建运行账号(
snapserver/snapclient)并加入audio组(实测id snapclient→uid=102(snapclient) gid=104(snapclient) groups=104(snapclient),29(audio)),同时注册 systemd 服务snapserver.service/snapclient.service。官方源下载慢时可改用代理或国内镜像加速,见官方文档「Installing」章节。
验证版本:
snapserver --version | head -1
snapclient --version | head -1
snapserver v0.35.0 (rev f1237347)
snapclient v0.35.0 (rev f1237347)
5.2 配置音源并启动服务器
编辑 /etc/snapserver.conf,把默认 pipe:///tmp/snapfifo 源保留(服务器启动时会自动创建该命名管道),并确认端口段:
[stream]
source = pipe:///tmp/snapfifo?name=default
codec = pcm
chunk_ms = 20
buffer = 1000
send_to_muted = false
[tcp-streaming]
enabled = true
port = 1704
[tcp-control]
enabled = true
port = 1705
[http]
enabled = true
port = 1780
💡 说明:
source定义音源 URI 与流名(本文实测用name=SineTest、sampleformat=44100:16:2,上面示例保持官方默认流名default);buffer = 1000即端到端同步缓冲 1 秒,是「抗网络抖动」与「操作时延」的折中。逐项参数含义见《Snapcast 0.35.0 配置参数详解》。
启动并验证:
systemctl start snapserver
systemctl is-active snapserver
ss -lntp | grep -E '1704|1705|1780'
curl -s http://127.0.0.1:1780/jsonrpc -H 'Content-Type: application/json' -d '{"id":1,"jsonrpc":"2.0","method":"Server.GetRPCVersion"}'
active
LISTEN 0 128 0.0.0.0:1704 0.0.0.0:* users:(("snapserver",pid=1,fd=6))
LISTEN 0 128 0.0.0.0:1705 0.0.0.0:* users:(("snapserver",pid=1,fd=7))
LISTEN 0 128 0.0.0.0:1780 0.0.0.0:* users:(("snapserver",pid=1,fd=9))
{"id":1,"jsonrpc":"2.0","result":{"major":23,"minor":0,"patch":0}}
5.3 接入客户端并验证同步
在每台客户端机器上执行(服务端地址按实际环境填写;客户端经 systemd 启动则把地址写进 /etc/default/snapclient 的 SNAPCLIENT_OPTS):
snapclient tcp://10.89.61.2:1704 --soundcard null --latency 0
实测客户端连接日志(节选,无声卡机用 null 设备):
2026-10-30 00-51-59.275 [Info] (Snapclient) Version 0.35.0, revision f1237347
2026-10-30 00-51-59.277 [Info] (Connection) Connecting to host: 10.89.61.2:1704, port: 1704, protocol: tcp
2026-10-30 00-51-59.277 [Notice] (Connection) Connected to server
2026-10-30 00-51-59.277 [Info] (Connection) My MAC: "ae:91:13:92:a7:29", socket: 8
2026-10-30 00-51-59.287 [Info] (Controller) ServerSettings - buffer: 1000, latency: 0, volume: 100, muted: 0
2026-10-30 00-51-59.298 [Info] (Controller) diff to server [ms]: -0.001
回到服务器查询客户端拓扑(HTTP JSON-RPC):
curl -s http://127.0.0.1:1780/jsonrpc -H 'Content-Type: application/json' \
-d '{"id":2,"jsonrpc":"2.0","method":"Server.GetStatus"}'
实测回显(节选,两台客户端均已连入同一组、流状态 playing):
{
"id": 2,
"jsonrpc": "2.0",
"result": {
"server": {
"groups": [
{
"clients": [
{
"connected": true,
"id": "66:5f:2e:b8:5e:7f",
"snapclient": {
"protocolVersion": 2,
"version": "0.35.0"
}
},
{
"connected": true,
"id": "ae:91:13:92:a7:29"
}
],
"muted": false,
"stream_id": "SineTest"
}
],
"streams": [
{
"id": "SineTest",
"status": "playing",
"uri": {
"raw": "pipe:///serverdata/snapfifo?chunk_ms=20&codec=pcm&name=SineTest&sampleformat=44100%3A16%3A2",
"scheme": "pipe"
}
}
]
}
}
}
验证闭环完成:两台客户端 connected: true、组 stream_id 指向同一流、status: playing,即同步分发链路已建立。往 /tmp/snapfifo 持续写入 PCM(如 MPD 的 pipe 输出)即可全屋出声。
5.4 喂入真实音源
Snapcast 本身不含曲库与播放列表,上游音源决定体验,常用接法:
- MPD:
mpd.conf里把输出设为 pipe 插件写到/tmp/snapfifo(官方插件meta_mpd.py可同时聚合 MPD 控制流); - Lyrion Music Server:以「Squeezelite 转发器」方式把播放输出经 pipe 交给 snapserver,库管理全走 Lyrion,相关部署见 《Lyrion Music Server 9.1.1 介绍与选型指南》;
- librespot(Spotify Connect):
librespot:///usr/bin/librespot?name=Spotify直接作为源; - PipeWire/PulseAudio:把系统音频 loopback 到 snapfifo,实现「电脑正在放的任何声音」全屋同步。
六、适用场景与限制
6.1 适用场景
- 全屋同步音频:家里多台树莓派/旧电脑接功放,手机或网页一键分组、调音量,厨房客厅同一首歌毫秒级对齐。
- 分区音频(多组多流):配置多个
source,客厅放歌、书房听播客互不干扰。 - 多上游共存:MPD、Spotify(librespot)、AirPlay(airplay2snapcast)各占一个流,用 meta 流聚合后在网页里切换。
- 无中心商业生态依赖:全部开源自托管,客户端硬件不挑(x86/ARM 都有官方 deb),不锁定任何音箱品牌。
6.2 已知限制
- 不含音源管理:Snapcast 只做「分发与同步」,曲库、播放列表、封面等依赖上游(MPD/Lyrion/Mopidy 等),需要自行组合。
- 单服务器架构:没有内置的主备/集群机制,snapserver 宕机则全网停播;恢复后客户端自动重连(systemd
Restart=on-failure兜底)。 - 强依赖网络质量:同步基于局域网时延估算,跨公网/高丢包链路会出现缓冲重置;Wi-Fi 拥塞段建议加大
buffer。 - 音频仅 PCM 通道:不支持环绕声多声道透传(按
channels声道数传输),杜比/DTS 比特流输出场景不适用。 - 控制接口无默认鉴权:1705/1780 默认裸奔,公网暴露前必须配置 TLS 与
[authorization]或做防火墙隔离。
七、同类选型对比
7.1 多房间同步音频方案对比
下列开源方案均可在自托管场景覆盖「音乐到多个房间」,机制差异决定了适用边界。除标注外,stars/许可/推送时间均经 GitHub API 实查(2026-10-30):
| 方案 | 定位 | 同步/分发机制 | 音源生态 | 许可 | Stars | 最近推送 |
|---|---|---|---|---|---|---|
| Snapcast 0.35.0 | 多房间同步分发(服务端+瘦客户端) | 服务器时间戳+客户端缓冲,毫秒级同步 | pipe/file/process/librespot/airplay/tcp/alsa/meta,配 MPD/Lyrion/Mopidy | GPL-3.0 | 8038 | 2026-10-28 |
| Lyrion Music Server 9.1.1(原 Logitech Media Server) | 曲库服务器+自家播放器生态 | SLIC 流协议,端点需 Squeezebox/Squeezelite | 自带曲库+Spotify/Tidal/Qobuz 插件 | 开源(自定义许可文件) | 1801 | 2026-10-24 |
| MPD | 音乐播放守护进程(单机输出) | 无多房间同步;经 pipe 输出可喂给 Snapcast | 曲库播放、HTTPD 输出 | GPL-2.0 | 2808 | 2026-10-27 |
| Mopidy | Python 扩展型音乐服务器 | 本机输出为主,扩展生态丰富(含 snapcast 扩展) | Spotify/YouTube 等扩展 | Apache-2.0 | 8605 | 2026-10-29 |
| shairport-sync | AirPlay 音频接收端 | AirPlay 单端点推流,多房间需多实例无中心同步 | Apple AirPlay 生态 | 开源(自定义许可文件) | 8970 | 2026-10-29 |
| NymphCast | 类 Chromecast 接收端方案 | 服务端推流到 receiver,多屏同播 | 自带 receiver/app 生态 | BSD-3-Clause | 2571 | 2026-01-10 |
| Icecast / AzuraCast | 面向公众的广播流 | HTTP 逐跳流,秒级缓冲,无同步语义 | 电台编排、DJ 直播 | 开源 | 站内专栏 | — |
| Owncast | 自托管直播(RTMP/HLS) | 直播推流+HLS 分发 | 直播场景 | MIT | 11631 | 2026-10-26 |
关键差异解读:**「是否以毫秒级同步为一等公民」**是分水岭——只有 Snapcast 把「同一时刻、多个房间、零相位差」作为核心设计(时间戳+统一缓冲),Lyrion 依赖自家端点生态达成同步但客户端硬件受限,Icecast/Owncast 这类广播/直播流天然不同步。shairport-sync 的强项是「iOS 设备做音源」(AirPlay 接收),与 Snapcast 的「服务器做音源」互补:可以让 shairport-sync 输出经 pipe 喂给 snapserver,手机投放即全屋同步。
7.2 与流媒体服务器的组合关系
Snapcast 常被误读为「流媒体音乐服务器」竞品,实际是下游分发层:曲库与播放控制交给上游,Snapcast 只把上游吐出的 PCM 同步铺到每个房间。典型组合:
- MPD + Snapcast:最轻量的自建方案,一个 MPD 管曲库,pipe 输出给 snapserver;
- Lyrion Music Server + Snapcast:保留 Lyrion 的曲库与插件生态,用 Snapcast 替代 Squeezelite 端点获得统一的分组控制面,Lyrion 的部署与配置见 《Lyrion Music Server 9.1.1 Docker Compose 部署指南》;
- Mopidy + Snapcast:需要 Spotify 等在线源扩展时选它,Mopidy-Snapcast 扩展可免手工 pipe。
7.3 选型建议
- 要「全屋同步 + 自由选音源 + 硬件不挑」→ Snapcast,本文实测路线;
- 要「现成曲库管理 + 自家音箱生态」→ Lyrion Music Server(配合 Squeezelite 端点);
- 要「手机一键投音」且音源就是 iPhone/iTunes → shairport-sync(或其与 Snapcast 的组合);
- 要「面向听众的电台/直播」→ Icecast/AzuraCast/Owncast,不要用同步音频方案硬做;
- 商业全家桶(Sonos/Roon RAAT)体验最完整,但闭源且硬件锁定,不在自托管选型范围。
八、参考链接
- Snapcast 官方仓库(原 badaix/snapcast 已迁移至此):https://github.com/snapcast/snapcast
- 官方文档站:https://snapcast.github.io/docs/
- v0.35.0 Release(2026-03-10,46 个资产):https://github.com/snapcast/snapcast/releases/tag/v0.35.0
- Snapweb 网页控制台:https://github.com/snapcast/snapweb
- JSON-RPC API 文档:https://github.com/snapcast/snapcast/blob/develop/doc/json_rpc_api/
- 站内相关篇目:《Snapcast 0.35.0 Docker Compose 部署指南》、《Snapcast 0.35.0 配置参数详解》、《Snapcast 0.35.0 常用 CLI 命令与工具详解》、《Lyrion Music Server 9.1.1 介绍与选型指南》