ytm-cast_skill

This skill helps you download YouTube Music tracks and cast them to Chromecast through Home Assistant, keeping playback local and offline.
  • Python

2.6k

GitHub Stars

2

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill openclaw/skills --skill ytm-cast

  • _meta.json286 B
  • SKILL.md23.1 KB

Overview

This skill downloads audio or video from YouTube and YouTube Music and streams it to Chromecast devices via Home Assistant. It bundles a CLI toolset, a lightweight local web server, a setup wizard, and playback controls so you can host and cast media entirely on your network. The workflow focuses on local storage, high-quality audio, and simple integration with Home Assistant.

How this skill works

The tool uses yt-dlp to fetch and extract audio (320K MP3) or produce MP4 videos with album art via ffmpeg. A small Python HTTP server hosts the downloaded files so Home Assistant can access them by URL. Home Assistant’s media_player.play_media API then instructs Chromecast devices to stream the files directly from your machine.

When to use it

  • You want local, ad-free playback without subscriptions or cloud services
  • You need offline access to your favorite tracks or playlists
  • Casting to one or multiple Chromecast devices in your home
  • Preparing music or playlists for parties or background audio without buffering
  • Converting tracks into simple MP4 videos with album art for display devices

Best practices

  • Run cast-setup once to store HA URL, token, server IP and default device
  • Use clean, lowercase, hyphenated filenames to avoid URL encoding issues
  • Keep yt-dlp and ffmpeg up to date to prevent download/encoding failures
  • Start the web server (cast-server start) before attempting to cast
  • Use radio mode for hands-off related-track playlists and video mode only when you need visuals

Example use cases

  • Morning routine: download a set of tracks and cast them to bedroom and kitchen Chromecasts
  • Party mode: pre-download playlists, start server, then queue tracks without phones
  • Background audio: host ambient playlists locally to avoid interruptions and ads
  • Multi-room sync: run cast-play commands to multiple media_player entities for synchronized playback
  • Video mode: create MP4s with album art for TVs or Nest Hub displays

FAQ

Yes. Home Assistant with the Google Cast integration is required so the tool can send media URLs to Chromecast devices.

Is this legal and safe to use?

The tool only automates downloading public YouTube content to your local device. Ensure you respect copyright and the terms of service for any content you download.

What prerequisites are required?

Install yt-dlp, Python 3, curl and jq. For video mode, install ffmpeg. A Home Assistant long-lived access token and a Cast-enabled device are also required.

Why run a local web server?

Home Assistant requires an HTTP-accessible URL for play_media. The server exposes downloaded files over HTTP so Chromecast devices can stream them.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational