HomePod mini 感觉像魔法,但其实只是时机恰到好处

Jeff Geerling 产品

摘要

Jeff Geerling 通过使用 Wireshark 和 Apple 的 Wireless Diagnostics 工具来嗅探 WiFi 数据包,深入研究了 HomePod mini 立体声配对的技术原理,揭示了配对是通过 WiFi 而非直接连接实现的。

<figure class="insert-image"><img src="https://www.jeffgeerling.com/blog/2026/homepod-mini-feels-like-magic--but-it-s-just-good-timing/homepod-minis-stereo-pair-iphone-playing-music.jpg" alt="HomePod mini 立体声配对演示(搭配 iPhone)" width="700" height="auto"> </figure> <p>苹果在 2020 年推出了 <a href="https://www.apple.com/homepod-mini/">HomePod mini</a>,距今已有六年。</p> <p>我对智能音箱不太感兴趣,但让我仔细研究的功能是它们能够形成立体声配对,无需任何有线连接。</p> <p>我知道还有其他制造商生产无线音箱,但据我所知,苹果只是通过 WiFi 使用 AirPlay... 那么它是如何工作的呢?</p> <p>通过购买两个 HomePod mini(如上图所示)的魔法,我找到了答案。下面嵌入的视频详细介绍了这个过程:</p>
查看原文
查看缓存全文

缓存时间: 2026/05/16 03:35

# HomePod mini 感觉像魔法,实则只是精准的时机把握 来源: https://www.jeffgeerling.com/blog/2026/homepod-mini-feels-like-magic--but-it-s-just-good-timing/ HomePod mini 立体声配对演示与 iPhone苹果在2020年——也就是*六年前*——推出了HomePod mini (https://www.apple.com/homepod-mini/)。 我本不是智能音箱爱好者,但让我仔细研究的一个功能是它们无需任何有线连接就能组成立体声对。 我知道还有其他厂商的无线音箱,但据我所知,苹果只是利用 WiFi 上的 AirPlay……那么这到底是怎么工作的呢? 通过购买两个 HomePod mini(上图所示)的“魔法”,我找到了答案。下面嵌入了一个详细介绍过程的视频: ## 设置 HomePod mini(Mac 不允许) 在探究苹果如何实现立体声配对之前,我必须先设置音箱。像一位资深 Mac 用户那样想,我做了最简单的事:将 USB-C 线缆直接插入我的 Mac。 毫无反应。 嗯,有一个微弱的琥珀色脉搏灯亮起,但仅此而已: HomePod mini 尝试通过 Mac 进行设置于是我使用包装盒中附带的 USB-C 电源适配器将它插到墙上,它似乎启动到了白色脉搏灯闪烁状态——稍微好了一点。 但我仍然无法在我的 Mac 上连接。开局并不顺利,最让我惊讶的是,我居然不能直接把它当作 USB-C 音箱来用——甚至不能作为蓝牙音箱使用! 我浏览了苹果的文档,最终发现你不能使用 Mac 来设置 HomePod (https://support.apple.com/en-us/111110): > 你需要 iPhone 或 iPad 来设置 HomePod。你无法通过 Mac 来设置 HomePod。 这有多蠢? 我掏出 iPhone,意识到我必须将我的 Apple 账户关联到 HomePods,并同意一大堆东西,才能让它们开始作为音箱工作。这在我看来并不怎么“智能”。 ## 使用 Wireshark 搜索基于 WiFi 的 PTP 我 YouTube 频道的一位观众给我发了消息(而且我实在想不起来是谁,在哪个平台发给我的),暗示苹果可能在他们的 HomePod mini 上使用一种 PTP 形式,所以我想着播放一些音频并用 Wireshark (https://www.wireshark.org/) 监听一下。 我尝试在我的 Mac Studio 的 WiFi 连接上启用监听模式,但无法通过这种方式获取任何数据包。在有线以太网上可以,但在 WiFi 上不行。可能是 macOS 26 Tahoe 中的某些安全问题。 > **更新**:本博客的一位读者给我发邮件说,如果你在开始监听模式之前断开当前 WiFi 网络的连接,Wireshark 可以显示实时流量。我照做了(只需点击 WiFi 菜单中已连接的网络断开连接,同时保持 WiFi 开启),在 Wireshark 的 WiFi 连接选项(我的 Mac Studio 上是 `en1`)中勾选“监听”复选框,并确认可以这样监听。不错! 幸运的是,苹果在现代 Mac 上包含了一个“无线诊断”应用,它内置了嗅探器工具,可以根据给定的信道和宽度设置嗅探所有流量。 该应用位于 `/System/Library/CoreServices/Applications` 中,与 DVD 播放器和“关于本机”等其他程序同级。打开它,然后在出现的诊断向导中点击任何内容之前,点击“窗口”菜单并选择“嗅探器”: 使用苹果的无线诊断工具嗅探 WiFi 数据包我确保 Mac 连接到了同一个 WiFi 网络(一个 5 GHz WiFi 网络),并选择了默认设置(信道 100,带宽 80 MHz)。 我点击“开始”,从另一台 Mac 向音箱播放一些音频。大约 10 秒后,我点击“停止”。这会在 `/var/tmp` 内生成一个 `.pcap` 文件,我将其复制到下载文件夹,并在 Wireshark 中打开。 Wireshark 中的 Apple 无线数据链路 gPTP 同步数据包浏览数据包时,我很快找到了我要找的东西:多组四个 PTPv2 数据包: 1. Sync 2. Follow_Up 3. Delay_Req 4. Delay_Resp 这四类数据包是 PTP(精确时间协议 (https://en.wikipedia.org/wiki/Precision_Time_Protocol))用于在两个计算机之间同步时间所使用的1 (https://www.jeffgeerling.com/blog/2026/homepod-mini-feels-like-magic--but-it-s-just-good-timing/#fn:1)。 而在本例中,这些数据包被封装在音箱与我的 Mac 之间的点对点连接中,使用的是 Apple 无线直连 (https://stackoverflow.com/questions/19587701/what-is-awdl-apple-wireless-direct-link-and-how-does-it-work),该技术用于 AirPlay、AirDrop、GameKit 和其他高速直连。 通过 AWDL 或 WiFi 运行,PTP 可以使用基于软件的时钟同步将多个 HomePod 上的时钟同步到微秒级——对于音视频同步来说绰绰有余。他们似乎使用的标准是 gPTP (https://blog.meinbergglobal.com/2024/03/27/what-is-gptp/) 和 IEEE 802.1AS (https://www.ida.liu.se/~sohsa65/courses/tsn-course-2021/stds/8021AS-2020.pdf),作为 AVB(音频视频桥接 (https://en.wikipedia.org/wiki/Audio_Video_Bridging))标准的一部分。 ## 苹果使用标准:gPTP 和 AVB gPTP 和 AVB 对我来说是新事物2 (https://www.jeffgeerling.com/blog/2026/homepod-mini-feels-like-magic--but-it-s-just-good-timing/#fn:2)。 苹果在 AirPlay 2 中采用了 2011 年版的 802.1AS 标准,以确保多个音箱之间的音频几乎完美同步。这似乎也用于同步 HomePod 发出的声音与 Mac、iPhone、iPad 和 Apple TV 上显示的视频。 如果你的所有设备都具有微秒级精度的时钟,显示器上的画面就可以在正确的音频时间上与多个独立的音频设备同步,从而避免十年前更常见的怪异相位问题或音视频不同步(如今仍然频繁发生)。 这篇关于 macOS 网络音频的 Aud-iOS 博客文章 (https://aud1os.wordpress.com/2018/01/26/macos-networked-audio-systems-overview-avb-tsn-dante/) 包含了很多有趣的背景信息,但可惜 HomePods 不能作为标准的“网络 AVB 设备 (https://support.apple.com/guide/audio-midi-setup/browse-your-network-for-an-avb-device-amsavb001/mac)”工作,而这似乎与其他音频生态系统更兼容。 要从 Linux 向 AirPlay 2 设备播放音频,必须使用 owntone-server (https://github.com/owntone/owntone-server) 或 airplay2-rs (https://github.com/lmcgartland/airplay2-rs/) 之类的工具——后者探究了苹果如何在 AirPlay 中使用 gPTP (https://github.com/lmcgartland/airplay2-rs/blob/master/PTP%20analysis/PTP.md)。第一版 AirPlay 似乎使用了 NTP (https://openairplay.github.io/airplay-spec/screen_mirroring/time_synchronization.html),但这可能导致几毫秒的误差——人耳可以察觉。 我之前曾推测苹果如何使用 Dante、Livewire、Ravenna、AES67 等专业设备处理音频 (https://www.jeffgeerling.com/blog/2025/using-gps-most-accurate-time-possible-on-mac/),看起来他们的 AVB 和 gPTP 系统处理了这一切——但苹果似乎满足于微秒级的同步。 要获得比 1 微秒同步精度更好的,需要硬件 PTP 时间戳(或者对于 WiFi 来说,需要更新的技术如 FTM,即精细时间测量 (https://people.csail.mit.edu/bkph/FTMRTT_intro)),而且我还没看到任何在 Mac 上实现这一点的方法,至少没有公开文档。

相似文章

Apple Silicon 高管解读 Mac Mini AI 需求与设备端未来

Hacker News Top

Apple Silicon 高管 Doug Brooks 解读 Mac mini 和 Mac Studio 在 AI 代理工作负载方面需求的激增,强调了苹果集成神经引擎的芯片设计理念,并讨论了出于隐私和成本考虑向设备端 AI 的转变,同时展望了一个混合的未来。

AirPods效应

Hacker News Top

本文探讨了AirPods和耳机广泛使用的社会影响,援引研究指出频繁使用耳机与孤独感增加及自发性社交互动减少有关。