【亲测免费】 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 的功能得到了进一步扩展和应用,为用户提供了更多的自动化和控制选项。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0213
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0137
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03