惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog RSS Feed
量子位
Recent Announcements
Recent Announcements
T
The Blog of Author Tim Ferriss
美团技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Blog — PlanetScale
Blog — PlanetScale
H
Help Net Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - Franky
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
宝玉的分享
宝玉的分享
大猫的无限游戏
大猫的无限游戏
V
Visual Studio Blog
博客园 - 聂微东
aimingoo的专栏
aimingoo的专栏
Microsoft Security Blog
Microsoft Security Blog
U
Unit 42
J
Java Code Geeks
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
IT之家
IT之家
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
L
LangChain Blog

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
为树莓派换上AirPlay 2 - 少数派
2022-07-19 · via 少数派

这两天在Reddit上看到一个关于「AirPlay 2 on Linux」的帖子,其中推荐了 Shairport Sync 项目,于是我打算给家里在用的树莓派的AirPlay升级一下。大家有能力的可以直接去看原文,里面文档写的很详细。

准备

  • 一台Linux 或 FreeBSD的设备,其性能至少要大于等于树莓派 2
  • 319 和 320端口没有被占用
  • 一个音箱(最好是3.5mm接口)

开始安装

首选建议大家先将系统更新到最新状态,可以大大减少许多莫名其妙的问题。

sudo apt-get update #检查更新
sudo apt-get upgrade #执行更新

关闭Wi-Fi节能管理

如果你使用设备使用Wi-Fi连接的话,需要将节能管理关闭,可以避免安装后设备进入节能后搜索不到音箱。

iwconfig wlan0 power off

安装依赖

以下是Shairport Sync需要依赖

apt install --no-install-recommends build-essential git xxd xmltoman \ 
autoconf automake libtool libpopt-dev libconfig-dev libasound2-dev \ 
avahi-daemon libavahi-client-dev libssl-dev libsoxr-dev libplist-dev \ 
libsodium-dev libavutil-dev libavcodec-dev libavformat-dev uuid-dev libgcrypt-dev

nqptp

nqptpShairport Sync 监控时间的重要依赖,需要手动编译安装。

git clone https://github.com/mikebrady/nqptp.git #下载项目
cd nqptp #进入项目目录
autoreconf -fi #编译
./configure --with-systemd-startup #配置
make #构建环境
make install #安装

安装完毕后,需要启动nqptp

systemctl enable nqptp #设置自动启动
systemctl start nqptp #启动nqptp

sps-alsa-explore

一个可以帮助我们Shairport Sync的工具,可以很直观的列出当前的音频输出设备,需要手动编译安装。

git clone https://github.com/mikebrady/sps-alsa-explore.git #下载项目
cd sps-alsa-explore #进入项目目录
autoreconf -fi #编译
./configure #配置
make #构建环境

将音箱连接到树莓派,然后在sps-alsa-explore目录下执行./sps-alsa-explore

记录下Device Full Name:"hw:Headphones"Possible mixers:"Headphone" 在后续配置文件中使用。

编译安装 Shairport Sync

git clone https://github.com/mikebrady/shairport-sync.git #下载项目
cd shairport-sync  #进入项目目录
git checkout development #切换到development分支
autoreconf -fi #编译
./configure --sysconfdir=/etc --with-alsa --with-soxr --with-avahi --with-ssl=openssl --with-systemd --with-airplay-2 #配置
make -j #构建环境
make install #安装

配置 Shairport Sync

Shairport Sync 的配置文件路径在/etc/shairport-sync.conf,其中输出设备这里需要配置一下,熟悉vi/vim的朋友可以直接 sudo vi /etc/shairport-sync.conf配置一下,其中output_devicemixer_control_name都可以在前面./sps-alsa-explore的结果中找到。

alsa =
{
  output_device = "hw:Headphones";
  mixer_control_name = "Headphone";
};

配置文件中有大量注释说明,大家可以按需配置。

启动Shairport Sync

systemctl enable shairport-sync #设置自动启动
systemctl start shairport-sync #启动Shairport Sync

添加到HomeKit

在添加配件时,点击「没有代码或无法扫描?」,家庭 app 就会发现 AirPlay 2 设备,点击即可加入。

添加到HomeKit

遇到的问题

在「多房间音频系统」播放时存在延迟,我翻了下Shairport Sync的Issues发现并不是所有人都存在这个问题,通常HDMI连接的设备都会存在100毫秒左右的延迟。在文档的常见问题中给出的解决方法是手动设置一个延迟,在配置文件/etc/shairport-sync.conf中有一个audio_backend_latency_offset_in_seconds配置项单位为秒:

audio_backend_latency_offset_in_seconds配置

有其他问题的话可以先到文档中排查 「Troubleshooting」

使用感受

折腾完用了几天后感觉还算是可用状态,借此也让我体验到「多房间音频系统」的功能,但仅限于听歌或播客之类的音频,AirPlay的延迟一就是个头疼的问题,许多视频软件由于没有适配会出现音画不同步问题,就算适配AirPlay之后也会存在一个缓冲的延迟。但作为音频播放器在「多房间音频系统」时还是很方便的。

多房间音频系统

当然对于不喜欢折腾的人,Airport Express 2 (A1392) 也许是更好的选择,简单配置就可以让音箱支持AirPlay2,咸鱼价格在150~200。

Airport Express 2 (A1392)

参考资料