Snapcast 多房间音频控制一体化

目录

动机

想要手头的两台 MBP 能同时无延迟播放音频,拒绝使用直播流的形式。

主旨

Vmware Ubuntu 中安装 snapserver

接受 Airplay 的信号

sudo apt install snapserver

sudo apt install -y shairport-sync
sudo systemctl disable --now shairport-sync
  1. 该虚拟机网络采用桥接方式

  2. 注意该服务会自动启动,你可能需要设置下配置文件位置 sudo vi /lib/systemd/system/snapserver.service

    Untitled

    Untitled

    Untitled

  3. 配置文件 /etc/snapserver.conf 中添加:source = airplay:///shairport-sync?name=Airplay

    [stream]
    source = airplay:///shairport-sync?name=Airplay
    

    Untitled

  4. 重启 sudo service snapserver restart

  5. snapweb 是需要手动添加的,建议从 macos 中复制到该虚拟机,在 mac 上的位置为:

    /usr/local/Cellar/snapcast/0.27.0/share/snapserver

    Untitled

  6. 使用 Tabby 终端连接上虚拟机的 SFTP 上传,上传到配置文件中 doc_root 配置的位置:

    Untitled

    Untitled

macOS 上启动 snapclient

brew install snapcast

snapclient

会自动找到局域网中的 server 并连接

总结

任意终端打开控制网页:

Untitled

Untitled

发现两台 MBP 都连接上了,使用 iPhone 隔空投送到 Snapcast:

Untitled

两台 MBP 无缝播放音乐咯!

缺点是无法用两台 MBP 中的一个作为输出,还需要 iPhone 介入,应该有解决方案,之后再看了

  • 在其中一台 MBP 中部署了 navidrome,然后通过 iPhone 放歌。配合 iPhone 上的 substreamer 免费 app ,好用到飞起。但要注意 local music 的质量,需要 ~~mp3tag~~Tagr (自动提取真的好用极了)这样的软件编辑好音频元数据。

Untitled

专辑封面哪里找?Last.fm | Play music, find songs, and discover artists

Untitled

音乐下载使用 msc:https://github.com/zonemeen/musicn https://github.com/zonemeen/musicn

参考文章

GitHub Snapcast

标签 :

相关文章

内存管理:分段、分区、分页

内存要怎么用起来呢?存储程序的思想,把程序放入内存,程序在CPU中取指执行! 而用户程序有逻辑地址,实际的内存是物理地址,于是先有一个地址重定位的问题。 由于程序载入内存之后,睡眠了的话,还会被移入到磁盘

阅读更多
Neo4j: 图数据基本概念、语法与增删改查

Neo4j 简介 Neo4j 使用属性图(Property Graph)模型1。 一个图包含节点(Objects)和边(Relationships)。 Neo4j 的属性图模型包含了: 节点 节点标签:用于区分节点的类型,0个或多个 边:源节点

阅读更多
搭建起本地的 DevOps 环境

动机 自己作为独立开发者,也想体验那种写完代码效果就出来的感觉,不用又当个运维人员。 想当初 Spring Boot 程序,得手动编译,然后手动复制到目标机器,然后重启服务,可麻烦了。 因此,本地跑一套 DevOps 或者 GitOps 的系统应该会很有趣

阅读更多