三个角色,一个家庭网络
无论什么品牌,每一套 UPnP 音乐系统都是同一出戏,三个演员。
媒体服务器
一个运行在电脑或 NAS 上的小软件(MinimServer 或 Plex),指向你的音乐文件夹。它读取每个文件的标签,标题、艺人、封面,再把整份收藏提供给网络。它存放音乐,自己从不发声。如果说 Serento 是遥控器,服务器就是那面唱片架。
Serento
Serento 就是你手里那块屏幕。它不存放你的音乐,也不发出声音:它负责指挥。你浏览音乐库,挑一张专辑,再决定由哪台设备播放。在 UPnP 的术语里,这个角色叫控制点。妙处在于:因为大家说的是同一种语言,Serento 能指挥任意品牌的任意服务器和任意渲染器。
渲染器
真正发出声音的那台设备:网络流媒体机、流媒体功放、DAC,或者 Serento 所在的设备本身,只要你把输出选成 “This iPhone / iPad / Mac”。按下播放后,渲染器直接从服务器取回音乐并播放。你的手机始终不在音频链路上。
一台设备可以身兼两职。你的 iPhone 既可以是遥控器,同时也可以是播放器(把输出选成 “This iPhone”)。NAS 可以承担服务器。但这三个角色永远都在,这就是最关键的思维模型。
它们是怎么互相找到的?
不用配对,没有配对码,也不需要账号。Serento 一打开,就在你的 Wi-Fi 上喊一声(“这里有谁会说 UPnP?”),每一台服务器和渲染器都会报上自己的名字和地址。这一问一答用的是一个叫 SSDP 的标准,所有设备之所以会自己冒出来,就是因为它。
发现要能成功,需要
- 手机 / iPad / Mac 与服务器处在同一个 Wi-Fi 网络
- iOS 会询问一次本地网络权限,请选择允许(如果当时错过了,去「设置 → Serento → 本地网络」打开)
- 服务器软件确实在那台电脑或 NAS 上运行着
最常见的拦路虎
- 访客 Wi-Fi 或另一个网络名称,设备之间彼此看不见
- 手机上开着 VPN,流量被送出了家庭网络;听音乐时先关掉
- 路由器或 AP 的「客户端隔离」,这项设置就是专门用来隔开设备的;请关闭
- 电脑防火墙挡住了服务器软件
Serento 为什么要同步?
这是我们被问得最多的问题。简短的回答是:同步复制的是图书目录卡,不是书本身。你的服务器里有成千上万张专辑。如果每翻一屏都要通过 Wi-Fi 去问它一次(每一次滚动、每一次搜索、你输入的每一个字母),体验会又慢又卡。
同步会复制什么
标题、艺人、专辑、流派、年份、封面、格式:也就是关于你音乐的信息。体积很小,传得很快。
同步不会复制什么
音频文件本身。它们留在服务器上,按下播放时才按需传输。你的手机不会被塞满。
你得到什么
瞬时浏览、瞬时搜索、漂亮的唱片墙,哪怕曲目数达到六位数也一样。音乐库用起来就像在本地,因为目录确实在本地。
我该在什么时候同步?
每台设备各自保存一份目录。你的 iPhone、iPad 和 Mac 各自同步一次。所以一台全新的设备在跑完它自己的第一次 Sync Data 之前,音乐库是空的,这并不是出了问题,只是它还没把目录复制过来。
音乐究竟是从哪里流过去的?
接下来这一点几乎让每个人都意外。当你播放到流媒体机时,音频根本不经过你的手机。Serento 只是告诉流媒体机“去服务器上取这首歌”,然后它们两个直接对话。
输出到流媒体机。Serento 只发出很小的指令;流媒体机直接从服务器取回音频,比特完美,原封不动。你可以锁屏、接电话,甚至离开房间:音乐照常播放,因为你的手机从来就不在音频链路上。
输出到本机。不需要流媒体机:你的 iPhone、iPad 或 Mac 就是渲染器。音频从服务器流到这台设备,通过它的扬声器、耳机或任何已连接的设备播放。播放期间,这台设备需要一直连在家里的 Wi-Fi 上。
你需要什么
一个家庭网络
就是你平时用的 Wi-Fi 路由器。所有设备必须在同一个网络里,整件事的诀窍就在这儿。
Serento
装在 iPhone、iPad 或 Mac 上。它是遥控器,你想要的时候,也可以是播放器。
一台渲染器
网络流媒体机、带流媒体输入的功放,或者一台 DAC。只有追求 Hi-Fi 输出时才需要,Serento 本身用你的设备播放同样没问题。
用上 Serento 的头五分钟
- 在同一个 Wi-Fi 下打开 Serento
iOS 询问时允许本地网络。设备发现会自动开始,不需要任何设置向导。
- 选择你的服务器
进入 Settings → Libraries。你的服务器会以名字出现(这就是 SSDP 在起作用)。点它。
- 运行 Sync Data
目录开始复制,你会看到专辑数一路往上涨。音乐库很大?让它跑完这一次;此后每次启动都是秒开。
- 选择输出
点输出选择器,选你的流媒体机,或者 “This iPhone / iPad / Mac”。这就是第 01 节里的渲染器角色。
- 按下播放
浏览、点开一张专辑、开听。下次往服务器里加了音乐,跑一次 Sync Data,新专辑就会出现在这里。
大家都会问的问题
- 服务器软件此刻确实在那台电脑或 NAS 上运行吗?
- 你的设备和服务器连的是同一个 Wi-Fi 名称吗(不是访客 Wi-Fi,也不是蜂窝网络)?
- iOS:设置 → Serento → 本地网络要打开。
- 手机或 Mac 上的 VPN 要关掉。
- 路由器设置:如果有 AP / 客户端隔离,请关闭。
- 电脑防火墙:放行服务器软件。
一百次里有九十九次,问题都出在前四条中的某一条。
播放到流媒体机时不会。音频是从服务器直达流媒体机的;你的手机只是遥控器,可以息屏休眠。用设备本身播放时则不同:它就是播放器,因此必须留在网络里,并保持在足以继续播放的状态(锁屏没问题;走出 Wi-Fi 覆盖范围就会停)。
不需要:服务器、渲染器和 Serento 完全在你的家庭网络内部通信。互联网只用于网络电台、艺人照片和元数据查询这类附加内容。断网时你的音乐照常播放。
设备上的目录是一份副本,它并不知道服务器变了。先让服务器自己重新扫描(MinimServer:Status → Rescan;Plex:扫描媒体库),然后在 Serento 里运行 Sync Data · 首次同步之后只会拉取有改动的内容。新专辑会出现在 Recently Added 里。
音频文件里内嵌的封面往往只是一张小缩略图(大约 500×500)。放在曲目旁边的 folder.jpg / cover.jpg 通常才是全分辨率的封面,Serento 会自动优先使用它,所以大画面(Now Playing、专辑页)始终清晰。
UPnP 是家庭网络内的生态,出了你的 Wi-Fi 就访问不到服务器。想在路上听,就用 Serento 的下载功能:在家时把专辑存到设备上,之后在哪儿都能播。
输出是流媒体机时不会:它直接从服务器取回原始文件,比特完美,FLAC、高解析度、DSD 都一样,手机全程没碰过。当输出是设备本身时,则由设备解码,并以其硬件所能达到的最佳质量播放。
UPnP 是那门共同语言。DLNA 是建立在它之上的一套认证;就我们的用途而言,两者是一回事。OpenHome 是部分 Hi-Fi 流媒体机支持的扩展:它让流媒体机自己保存播放队列,因此即便手机彻底离开,播放依然继续。这三者 Serento 都会说,并且自动挑最合适的那个,你什么都不用配置。
都可以。多个音乐库可以并存于 Settings → Libraries 中(各自独立同步)。多台 Serento 设备也能和平共处,每台保存自己的一份目录副本;在同一网络中,它们甚至共享正在播放的状态,所以 iPad 能显示并接管 iPhone 上开始的播放。
它要通过 Wi-Fi 把你的整个目录(可能有几万条)连同封面读一遍,就这一次。之后浏览完全不碰网络,后续再跑一次 Sync Data 只要几秒。一次性成本,长期收益。
一份小小的术语表
准备好搭起自己的系统了吗?
设置指南带你在十分钟左右从零走到出声:安装服务器、可直接复制粘贴的配置值,以及第一次同步。