零成本用snapcast开源项目组建多房间音乐系统
最近搞了一套多房间音乐系统,实现任意设备播放的音乐流转到任何房间的设备播放或者同步播放,现在和大家一起分享。
想象这些场景,实现音频的流转自由
台式电脑没有蓝牙,我想用我的蓝牙耳机听歌,我可以用我的手机作为中介,播放电脑上的任何声音
电脑或手机上用麦克风喊话,各个房间的喇叭都会实时播放你的声音(比如叫起床,吃饭)
我在客厅听音乐,现在想到卧室休息,卧室的音箱同步播放客厅的音乐不间断
客厅的功放设备不支持airplay,但是我可以利用这个系统接收苹果的airplay隔空播放
蓝牙的音质不好,我想播放抖音的音频到音箱,通过wifi,立刻给你搞定
foobar播放的音乐,充满每个房间,同步播放
不管是安卓还是苹果手机,总能把音乐投送到指定设备
我想播放nas上的音乐,不管我用平板、手机、还是pc,只要能浏览网页,不用安装客户端
是不是很神奇?先了解下系统的实现原理
本系统的核心是snapcast开源项目,一个多房间的音频系统,分为服务端和客户端两部分。服务端捕获(snap)各种播放器播放的音频流,编码(flac,pcm,ogg,opus)后发送(cast)到各个安装有snapcast的客户端,可以是平板、手机、安卓机顶盒或者网页客户端。
音频流的来源,可以分为四大部分,安卓阵营的dlna,苹果的airplay,mopidy播放的本地文件和流媒体服务,手机或电脑的声卡直接捕获的流(只要能播放,就能做内容源)。这样几乎任何节目内容,都能被这个系统捕获,和蓝牙不同的是,它可以网络传输和无损编码,音质没有损失,理论上达到cd级别。
客户端安装到智能设备上,可以是平板、pc、手机、机顶盒、树莓派等。只要能安装snapcast客户端就行。接下来就是连接到你的现有音响系统,可以通过线缆,USBdac,蓝牙等方式。这个可能是唯一的硬件门槛。
一些截图:
具体的实现方式:
服务端需要运行在linux系统上,我是在Windows 上的虚拟机运行dietpi 系统,安装snapcast服务和shairport-sync(airplay接收端)、mopidy、upmpdcli(docker安装,用于接受dlna)。都是开源免费的软件,你也可以安装到群晖上。具体功能见图。
客厅的电视盒子和手机是安卓系统,安装了snap.net,一个开源的跨平台snapcast客户端带声卡采集广播功能(采集音频传输到snapcast服务器),pc也安装这个软件。snap.net也是控制中心,可以控制那个设备播放哪个音源(蓝色线框内的部分)。手机安装了MPd的客户端MALP,可以控制mopidy的各种功能,主要用于本地媒体播放和音乐串流服务(国外的多)。也可以访问mpd的网页客户端,进行控制,也可以打开snapcast的网页客户端控制音频的流转,同时只要能上网,你的设备就能临时变成播放终端,不用安装软件。
如果大家感兴趣,可以出详细的教程,也欢迎大家讨论这个平民版的多房间音乐系统。最大的好处是各种设备可以自由组合,充分利用老旧的现有设备,hifi设备,缺点是需要有一个设备充当服务器,可以是虚拟机、树莓派、软路由等。音质比蓝牙好(无损传输),延迟约1秒。听音乐没问题,但是播放视频延迟不可接受,解决办法是用可以调整音视频同步的播放软件,音频设置提前1秒。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
shawn_zhou
校验提示文案
Nemoread
校验提示文案
ouzengguan
校验提示文案
lukea
校验提示文案
shawn_zhou
音响端安装snapcast client.
能否具体出一个教程来将如何安装MPD,UPMPDCLI,SNAPCAST呢? 百度了一下,国内此方面教程很少
校验提示文案
Bloodstream
校验提示文案
修观
校验提示文案
9段胖子
校验提示文案
谁不知道呢
校验提示文案
涵奕baby
校验提示文案
Hiro-x
校验提示文案
值友7736933919
校验提示文案
joker95275
校验提示文案
yinhao
校验提示文案
进驻_fejich
校验提示文案
莫泠晴
校验提示文案
莫泠晴
校验提示文案
进驻_fejich
校验提示文案
shawn_zhou
音响端安装snapcast client.
能否具体出一个教程来将如何安装MPD,UPMPDCLI,SNAPCAST呢? 百度了一下,国内此方面教程很少
校验提示文案
yinhao
校验提示文案
lukea
校验提示文案
joker95275
校验提示文案
ouzengguan
校验提示文案
值友7736933919
校验提示文案
Nemoread
校验提示文案
Hiro-x
校验提示文案
涵奕baby
校验提示文案
谁不知道呢
校验提示文案
9段胖子
校验提示文案
shawn_zhou
校验提示文案
修观
校验提示文案
Bloodstream
校验提示文案