【亲测免费】 pyatv 项目使用教程
1. 项目介绍
pyatv 是一个用于与 Apple TV 和 AirPlay 设备交互的异步 Python 库。它主要针对所有代次的 Apple TV(包括 tvOS 15 及更高版本),但也支持通过 AirPlay 进行音频流式传输到 HomePod、AirPort Express 和第三方扬声器等接收器。此外,它还可以作为 macOS 中 Music 应用/iTunes 的遥控器。
pyatv 提供了丰富的功能,包括远程控制命令、元数据检索、AirPlay 流媒体、列出并启动已安装的应用、管理用户账户、添加或移除音频输出设备(如 HomePods)、键盘支持以及持久存储凭证和设置等。
2. 项目快速启动
安装 pyatv
你可以通过 pip 安装 pyatv:
pip install pyatv
设置新设备
使用 atvremote 工具设置新设备:
atvremote wizard
该命令会扫描并列出可用的设备,选择你要设置的设备并输入 PIN 码进行配对。
示例命令
设置完成后,你可以直接运行其他命令:
# 获取当前播放状态
atvremote -s 10.0.10.254 playing
# 暂停播放
atvremote -s 10.0.10.254 pause
# 继续播放
atvremote -n FakeATV play
使用 Docker 运行
你也可以使用 Docker 运行 pyatv:
docker run -it --rm --network=host ghcr.io/postlund/pyatv:0.14.0 atvremote scan
3. 应用案例和最佳实践
远程控制 Apple TV
pyatv 可以用于远程控制 Apple TV,例如播放、暂停、调整音量等操作。这对于家庭自动化系统非常有用,可以通过编程实现自动化控制。
音频流式传输
通过 pyatv,你可以将音频流式传输到支持 AirPlay 的设备,如 HomePod、AirPort Express 等。这对于构建多房间音频系统非常有用。
元数据检索
pyatv 可以检索当前播放的媒体元数据,包括标题、艺术家、播放位置等信息。这对于构建媒体监控系统非常有用。
4. 典型生态项目
Home Assistant
Home Assistant 是一个开源的家庭自动化平台,其 Apple TV 集成由 pyatv 提供支持。通过 Home Assistant,用户可以自动化控制 Apple TV 和其他智能家居设备。
node-pyatv
node-pyatv 是一个基于 pyatv 构建的 Node.js 绑定库,允许开发者在 Node.js 环境中使用 pyatv 的功能。
pyatv-mqtt-bridge
pyatv-mqtt-bridge 是一个 MQTT 桥接器,允许用户通过 MQTT 协议远程控制 Apple TV。它基于 node-pyatv 构建。
homebridge-appletv-enhanced
homebridge-appletv-enhanced 是一个 Homebridge 插件,提供了 HomeKit 中本应原生支持的功能。它也使用了 pyatv 来实现 Apple TV 的控制。
通过这些生态项目,pyatv 的功能得到了进一步扩展和应用,为用户提供了更多的自动化和控制选项。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
LongCat-AudioDiT-1BLongCat-AudioDiT 是一款基于扩散模型的文本转语音(TTS)模型,代表了当前该领域的最高水平(SOTA),它直接在波形潜空间中进行操作。00- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
HY-Embodied-0.5这是一套专为现实世界具身智能打造的基础模型。该系列模型采用创新的混合Transformer(Mixture-of-Transformers, MoT) 架构,通过潜在令牌实现模态特异性计算,显著提升了细粒度感知能力。Jinja00
FreeSql功能强大的对象关系映射(O/RM)组件,支持 .NET Core 2.1+、.NET Framework 4.0+、Xamarin 以及 AOT。C#00