Article URL: https://github.com/stupside/castor Comments URL: https://news.ycombinator.com/item?id=48964015 Points: 189 # Comments: 49

Smart TVs won't cast arbitrary web video, and screen mirroring is laggy and drops resolution. Castor casts the real stream instead, at full quality, from your terminal. I built it because I couldn't cast web video from my laptop to my TV: no Chromecast, no AirPlay. Point it at any web page and Castor finds the video, extracts the stream, transcodes it for your TV, and casts in real time. It also takes a direct stream URL or an IMDB/TMDB id, and can burn in auto-generated subtitles. Run castor cast to browse and search titles, inspect posters and metadata, then cast, without leaving the terminal. Castor launches headless Chrome with a randomized fingerprint and stealth scripts to hide automation. It watches all network traffic over the Chrome DevTools Protocol to capture the video stream, then runs a short action pipeline: click the page, navigate into the largest iframe, solve a Cloudflare Turnstile if one appears, and click again as a fallback. The recommended way to run Castor is the native binary. It runs directly on your machine, so it shares your TV's network, which device discovery needs. It requires Chrome/Chromium (headless extraction), ffmpeg (transcoding), and ffprobe (format detection) on your PATH. Docker is an optional alternative that bundles all three, but only works from a Linux host. See Quick start to create the one-time config.yaml (which TV, which sources). After that, casting is a single command, no URL, just an IMDB/TMDB id: Needs Go 1.26+ and cmake (the whisper.cpp bindings are cgo and link a locally built libwhisper.a):