List currently reachable Chromecasts.
go run ./cmd/gaspode list
go run ./cmd/gaspode list --to-json
go run ./cmd/gaspode list --timeout 10s --debug-discovery --to-jsonNotes:
listalways exits with code0--to-jsonprints[]when no devices are found--timeoutuses Go duration syntax such as5s,1500ms, or1m
List audio capture devices that can be used for screen streaming.
go run ./cmd/gaspode audio-devices
go run ./cmd/gaspode audio-devices --to-jsonSend a media URL or local file to a Chromecast.
go run ./cmd/gaspode send --device-name "Living Room TV" --media-url "https://samplelib.com/mp4/sample-5s.mp4"
go run ./cmd/gaspode send --device-name "Living Room TV" --media-url "F:\media\movie.mkv"
go run ./cmd/gaspode send --device-name "Living Room TV" --media-url "F:\media\movie.mkv" --compatibility
go run ./cmd/gaspode send --device-name "Living Room TV" --media-url "F:\media\movie.mkv" --compatibility --create-indexImportant flags:
--device-nameselects an exact Chromecast by name--media-urlaccepts remote URLs and local file paths--media-typeoverrides the detected MIME type--detachexits immediately after playback starts when possible--compatibilitytranscodes a local file on the fly into a safer Chromecast-friendly MP4 stream--create-indexfirst creates a temporary seekable MP4 for a local file and requires--compatibility
Capture the desktop and stream it live to a Chromecast.
go run ./cmd/gaspode screen --device-name "Living Room TV"
go run ./cmd/gaspode screen --device-name "Living Room TV" --audio-device "Stereo Mix (Realtek(R) Audio)"
go run ./cmd/gaspode screen --device-name "Living Room TV" --latency-profile lowImportant flags:
--audio-deviceadds local audio capture--detachexits after the stream starts--latency-profileselectsultra,low,balanced, orstable
--timeout
--iface
--debug-discovery
--log-level
--web-ui
Meaning:
--timeoutsets the discovery and action timeout--ifaceforces Chromecast discovery onto one network interface--debug-discoveryprints extra discovery diagnostics to stderr--log-levelcontrols structured logs witherror,info, ordebug--web-uistarts the embedded browser UI on the given listen address--media-base-pathdefines the only directory tree the web UI file browser may access and is required when--web-uiis used
Web UI note:
- the embedded UI can also browse UPnP or DLNA media servers on the network and relay selected videos to Chromecast
--media-base-pathdoes not restrict UPnP browsing because those files are not host-local
- mDNS discovery is attempted first
- if mDNS returns nothing,
gaspodefalls back to scanning eligible private IPv4 subnets - the fallback probes port
8009and uses Chromecast device info to build the final device list
- Screen capture supports Windows, Linux, and macOS
- Window capture works on Windows and macOS
- Linux can enumerate windows in the UI, but window streaming is not implemented yet
- macOS full-screen capture uses FFmpeg
avfoundation - macOS window capture uses native window geometry plus FFmpeg screen cropping
- macOS audio capture is not implemented
- macOS screen capture may require granting Screen Recording permission to the terminal app or binary