从 YouTube/YouTube Music 下载 320K MP3 并投射到 Chromecast 的本地 CLI 工具,零订阅费、纯隐私、支持视频模式和自动电台推荐。
说明:
## 核心用法
**youtube-music-cast** 是一套基于 yt-dlp 和 Home Assistant 的本地音乐下载与投射工具链,将 YouTube/YouTube Music 内容转为 320K MP3 后,通过自建 HTTP 服务器推送至任意 Chromecast 设备。完整流程为:`cast-download ` → `cast-server start` → `cast-play `,三步即可播放。
主要功能包括:
– **下载**:yt-dlp 提取音频为 320K MP3 或带封面/歌词叠加的 MP4 视频
– **电台模式**:基于种子歌曲自动发现并下载相关推荐曲目
– **多房间投射**:支持任意 Home Assistant 集成的 Chromecast 设备
– **本地托管**:Python HTTP 服务器桥接本地文件与 HA `play_media` API
### 显著优点
| 维度 | 表现 |
|——|——|
| **成本** | 完全免费,无订阅、无广告 |
| **音质** | 固定 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 项目若停止维护,核心功能将失效








