Engineering · Series
Add Google Cast features to your apps
A four-part field guide to shipping real Chromecast support — custom receivers, WebRTC over the Cast message bus, decoder limits, and production hardening.
Google Cast looks simple from the couch and gets strange fast from the code. The official samples cover playing a video URL; they say almost nothing about what a Chromecast actually is — a browser you can launch on someone's TV, with a message pipe back to your app — and even less about what happens when you push it: screen mirroring, WebRTC, 4K decode limits, audio sync.
This series is the guide we wish we'd had while building the casting feature in Remotype. It walks the whole distance in four parts:
- Fundamentals — the correct mental model, registering and launching your own receiver app, and the unpublished-app trap that stalls most teams on day one.
- WebRTC signaling — using the Cast custom namespace as your signaling channel, so media flows peer-to-peer at sub-second latency.
- Resolution and decoder limits — the silent cliffs in Chromecast hardware decoding, and how to pick resolutions that survive them.
- Audio and adaptive quality — adding sound, adapting bitrate to the network, and the hardening that separates a demo from a product.
By the end you can take an app that renders anything — a screen, a canvas, a video element — and put it on a TV with latency low enough to type against. Every gotcha in these posts was paid for in real debugging hours; none of them are in the official docs.