返回 2026-05-09
📝 其他

HomePod mini 感觉像魔法,但其实只是时机恰到好处HomePod mini feels like magic, but it's just good timing

jeffgeerling.com·2026-05-08

Jeff Geerling 分析了 HomePod mini 的成功并非源于技术突破,而是苹果在正确时间整合了硬件、软件与生态系统的结果。尽管六年前发布,其立体声配对功能展示了空间音频与设备协同的成熟度。作者认为用户体验的流畅感来自精准的时机而非单一技术创新。

苹果在2020年推出了HomePod mini,距今已有六年时间。

我并不是智能音箱的爱好者,但让我特别关注的一个功能是:它们无需任何有线直连,就能自动组成立体声配对。

我知道市面上还有其他厂商也生产无线音箱,但据我所知,苹果只是通过WiFi使用AirPlay技术……那它是怎么做到的呢?

多亏了我买了两台HomePod mini(见上文图片),我才搞明白其中的原理。下面嵌入了一个详细介绍该过程的视频:

设置HomePod mini(不允许使用Mac)

在探索苹果如何实现立体声配对之前,我得先设置好这些音箱。作为一个资深Mac用户,我想当然地认为最简单的方法就是把那条USB-C数据线直接插到我的Mac上。

结果什么反应都没有。

嗯,顶部的指示灯倒是闪了一下琥珀色光,除此之外毫无动静:

于是我把USB-C电源线接到包装盒里的电源适配器上,再插到墙上,这时音箱似乎开始启动了——顶部出现白色闪烁,比之前稍微好一点。

但我依然无法在我的Mac上连接它。这开局可不太顺利,我本来还指望它能像普通USB-C接口的音箱那样工作,或者至少能作为蓝牙音箱使用呢!

我查阅了苹果的文档,最终发现原来不能用Mac来设置HomePod:

必须用iPhone或iPad才能完成HomePod的设置,不能用Mac。

这也太蠢了吧?

我拿出iPhone,这才意识到要让它正常工作,还得把Apple账户绑定到HomePod上,并且同意一堆条款才行。我觉得这种做法一点都不聪明。

用Wireshark搜索WiFi上的PTP协议

我YouTube频道的一位观众私信我(至于他是谁、用什么平台发的消息,我实在记不清了),他暗示苹果可能在HomePod mini中使用了某种形式的PTP协议,于是我想试试看能不能用Wireshark抓包分析一下。

我尝试在我的Mac Studio的WiFi连接上启用监听模式,但没能成功捕获到任何数据包。在有线以太网下可以,但在WiFi下不行。估计是macOS 26 Tahoe系统存在某些安全限制。

好在现代Mac都自带一个“无线诊断”应用,里面内置了一个嗅探器工具,只要指定信道和带宽,就能抓取所有流量。

这个应用位于 /System/Library/CoreServices/Applications 目录下,和其他一些实用程序如DVD Player、“关于本机”等放在一起。打开它后,在弹出的诊断向导出现前,先点击菜单栏中的“窗口”,然后选择“嗅探器”:

我确保自己的Mac连接的是同一个WiFi网络(一个5GHz频段),系统已经自动为我选择了默认参数(信道100,带宽80MHz)。

我点击“开始”,然后从另一台Mac播放音频到音箱上。大约10秒后,我点击“停止”。这会生成一个.pcap文件,保存在 /var/tmp 目录里,我把它复制到了Downloads文件夹,并用Wireshark打开了。

浏览数据包时,我很快就找到了目标:多个包含四组PTPv2协议包的集合:

  • Sync(同步)
  • Follow_Up(跟随更新)
  • Delay_Req(延迟请求)
  • Delay_Resp(延迟响应)
  • 这四种数据包正是PTP(精确时间协议)用来实现两台计算机之间时间同步的核心机制1。

    而在这个场景中,这些数据包被封装在一个点对点连接中,运行在苹果无线直连链路(Apple Wireless Direct Link)之上,该技术广泛用于AirPlay、AirDrop、GameKit以及其他高速直连服务。

    通过 AWDL 或 WiFi 运行,PTP 可以利用基于软件的时钟同步技术,将多个 HomePod 的时钟精确同步到微秒级别——这对于音视频同步来说已经足够好。它们似乎采用的是 gPTP 和 IEEE 802.1AS 标准,作为 AVB(音视频桥接)标准的一部分。

    苹果采用的标准:gPTP 和 AVB

    gPTP 和 AVB 对我来说还是新事物。

    苹果在 AirPlay 2 中采用了 2011 年版的 802.1AS 标准,以确保多个扬声器之间的音频保持(几乎)完美同步。它似乎也被用于将 HomePod 发出的声音与 Mac、iPhone、iPad 和 Apple TV 上显示的视频进行同步。

    如果所有设备的时钟都具备微秒级精度,那么显示器上的画面就能与多个独立的音频设备在正确的音频时间点同步播放,从而避免相位异常或音视频不同步的问题——这些问题十年前还很普遍,如今依然频繁发生。

    这篇名为《macOS 上的网络音频》的 Aud-iOS 博客文章提供了许多有趣的背景信息,但遗憾的是,HomePod 并不作为标准的“网络 AVB 设备”运行,这似乎使其与其他音频生态系统的兼容性较差。

    要从 Linux 向 AirPlay 2 设备播放音频,必须使用 owntone-server 或 airplay2-rs 等工具——后者深入探讨了苹果如何在 AirPlay 中使用 gPTP。初代 AirPlay 似乎使用的是 NTP,但这可能导致几毫秒的误差,人耳可以察觉。

    我曾推测苹果如何处理与 Dante、Livewire、Ravenna、AES67 等专业音频设备的同步,现在看来他们的 AVB 和 gPTP 系统已经涵盖了这些需求——不过苹果似乎满足于微秒级的同步精度。

    要实现优于 1 微秒的同步,需要硬件 PTP 时间戳(对于 WiFi,则需使用 FTM 或精细时间测量等较新技术),而我尚未在任何公开文档中发现 Mac 支持此功能的方法。

  • 今年晚些时候我会更深入地探讨 PTP 技术。敬请期待。↩︎
  • 我主要研究的 PTP 应用场景集中在电信、科学和数据中心领域——这些环境都是有线连接。↩︎
  • 需要完整排版与评论请前往来源站点阅读。