ClawSkills logoClawSkills

Control Chromecast

Control Chromecast devices on your local network - discover, cast media, control playback, manage queues, and save/restore states

Introduction

# Chromecast Control

Control Chromecast and Google Cast-enabled devices on your local network using `catt` (Cast All The Things).

## Quick Reference

| Command | Description | |---------|-------------| | `catt scan` | Find all Chromecasts on network | | `catt cast <url>` | Cast video/audio | | `catt pause` / `play` | Pause/resume | | `catt stop` | Stop playback | | `catt status` | Current playback info | | `catt volume <0-100>` | Set volume |

Use `-d <device>` to target a specific device by name or IP.

## Discovery & Device Management

```bash # Find all devices catt scan

# Set a default device (saves to config) catt -d "Living Room TV" set_default

# Create an alias for easier access catt -d 192.168.1.163 set_alias tv

# Remove alias or default catt -d tv del_alias catt del_default ```

## Casting Media

### Basic Casting ```bash # Cast from URL (YouTube, Vimeo, and hundreds of yt-dlp supported sites) catt cast "https://www.youtube.com/watch?v=VIDEO_ID"

# Cast local file catt cast ./video.mp4

# Cast a website (displays webpage on TV) catt cast_site "https://example.com" ```

### Advanced Cast Options ```bash # Cast with subtitles catt cast -s ./subtitles.srt ./video.mp4

# Start at specific timestamp catt cast -t 01:30:00 "https://youtube.com/watch?v=VIDEO_ID"

# Play random item from playlist catt cast -r "https://youtube.com/playlist?list=PLAYLIST_ID"

# Play only video (ignore playlist in URL) catt cast -n "https://youtube.com/watch?v=VIDEO_ID&list=PLAYLIST_ID"

# Disable automatic subtitle loading catt cast --no-subs ./video.mp4

# Pass yt-dlp options (e.g., select format) catt cast -y format=best "https://youtube.com/watch?v=VIDEO_ID"

# Block until playback ends (useful for scripts) catt cast -b "https://example.com/video.mp4" ```

## Playback Control

```bash catt play # Resume playback catt pause # Pause playback catt play_toggle # Toggle play/pause catt stop # Stop playback completely catt skip # Skip to end of content

# Seeking catt seek 300 # Jump to 5 minutes (seconds) catt seek 01:30:00 # Jump to 1h 30m (HH:MM:SS) catt ffwd 30 # Fast forward 30 seconds catt rewind 30 # Rewind 30 seconds ```

## Volume Control

```bash catt volume 50 # Set volume to 50% catt volumeup 10 # Increase by 10 catt volumedown 10 # Decrease by 10 catt volumemute on # Mute catt volumemute off # Unmute ```

## Queue Management (YouTube)

```bash # Add video to end of queue catt add "https://youtube.com/watch?v=VIDEO_ID"

# Add video to play next catt add -n "https://youtube.com/watch?v=VIDEO_ID"

# Remove video from queue catt remove "https://youtube.com/watch?v=VIDEO_ID"

# Clear entire queue catt clear ```

## State Management

```bash # Save current state (position, volume, what's playing) catt save

# Restore saved state later catt restore ```

## Device Information

```bash catt status # Brief: time, volume, mute status catt info # Full: title, URL, player state, media type, etc. ```

## Configuration

Config file: `~/.config/catt/catt.cfg`

```ini [options] device = Living Room TV

[aliases] tv = Living Room TV bedroom = Bedroom Speaker ```

## Network Requirements

- Chromecast and computer must be on same network - For local file casting: TCP ports 45000-47000 must be open - Some networks block mDNS - use IP address directly if `catt scan` fails

## Supported Sources

Catt uses yt-dlp internally, supporting: - YouTube (videos, playlists, live streams) - Vimeo, Dailymotion, Twitch - Direct video URLs (MP4, MKV, WebM, etc.) - Local files (video, audio, images) - Hundreds more sites (see yt-dlp supported sites)

More Products