核心用法
youtube-music-cast 是一套基于 yt-dlp 和 Home Assistant 的本地音乐下载与投射工具链,将 YouTube/YouTube Music 内容转为 320K MP3 后,通过自建 HTTP 服务器推送至任意 Chromecast 设备。完整流程为:cast-download <URL> → cast-server start → cast-play <file>,三步即可播放。
主要功能包括:
- 下载:yt-dlp 提取音频为 320K MP3 或带封面/歌词叠加的 MP4 视频
- 电台模式:基于种子歌曲自动发现并下载相关推荐曲目
- 多房间投射:支持任意 Home Assistant 集成的 Chromecast 设备
- 本地托管:Python HTTP 服务器桥接本地文件与 HA
play_mediaAPI
显著优点
| 维度 | 表现 |
|------|------|
| **成本** | 完全免费,无订阅、无广告 |
| **音质** | 固定 320K MP3,优于 Spotify 免费版的 160K |
| **隐私** | 纯本地操作,零云端依赖,Token 仅存本地配置文件 |
| **离线** | 下载后永久保留(默认存 `/tmp`,可配置持久化) |
| **扩展性** | 支持视频模式(MP4 + 封面)、批量下载、播放列表 |
潜在缺点与局限性
1. 版权灰色地带:下载 YouTube 内容违反其 ToS,存在 DMCA 风险
2. 功能依赖 Home Assistant:需自行部署 HA 并配置 Google Cast 集成
3. 网络拓扑限制:HTTP 服务器与 Chromecast 必须在同一局域网
4. 无自动队列:电台模式仅批量下载,需手动串行播放
5. 临时文件设计:默认 /tmp 目录重启清空,需手动迁移防丢失
6. 维护负担:yt-dlp 需频繁更新以应对 YouTube 反爬变更
适合人群
- 已运行 Home Assistant 的智能家居玩家
- 重视隐私、拒绝云音乐订阅的技术用户
- 拥有 Chromecast/Nest 音箱且希望离线听歌的 Linux/macOS 用户
- 能接受 CLI 操作、具备基础网络调试能力的进阶用户
常规风险
- 法律风险:下载受版权保护内容可能面临服务商封禁或法律追责
- 安全风险:HTTP 服务器默认无认证,同一局域网内任意设备可访问下载目录
- Token 泄露:HA Long-Lived Token 明文存储于
~/.youtube-music-cast/config.sh,需严格保密 - 依赖风险:yt-dlp 项目若停止维护,核心功能将失效