Couchcast
> couchcast.cast(thisVideo, { to: tv, at: currentTime })
A Firefox extension that sends the YouTube video you're watching to your TV in one click. The TV picks up where you are, at your speed, and the video pauses in Firefox. On an Apple TV it plays with no ads. On any other TV it uses the TV's YouTube app.
// Firefox has no Cast button. Now it does.
For desktop Firefox 142 or newer. The download is signed by Mozilla, and a Firefox Add-ons listing is in Mozilla's review.
[PROJECT_METRICS]
[WHY_COUCHCAST]
Chrome has a Cast button. Safari has AirPlay. Firefox has neither, so getting a video onto the TV meant finding it again on the TV, then finding your place.
Couchcast adds the button. Click it in YouTube's player and the TV plays the same video from the same spot, at the same speed, while Firefox pauses.
The no-ads part comes from how it plays on an Apple TV. A small helper on your Mac asks YouTube for the video's stream, the way any player does, and hands that stream to the Apple TV over AirPlay. The Apple TV plays the video itself, and YouTube's ads come from YouTube's player, which never runs. A browser extension can't speak AirPlay on its own, which is why that mode needs the helper.
[TWO_WAYS_TO_PLAY]
No ads, straight to Apple TV
- Firefox
- Helper on your Mac
- Apple TV
- [Ads]
- None
- [TVs]
- Apple TV, over AirPlay
- [Needs]
- The free Couchcast helper on your Mac
- [Quality]
- Up to 1080p60
Tested with an Apple TV 4K on tvOS 27.
YouTube app on the TV
- Firefox
- YouTube
- Your TV's YouTube app
- [Ads]
- The TV app's usual ads, none with Premium
- [TVs]
- Any TV whose YouTube app has Link with TV code
- [Needs]
- Nothing else
- [Quality]
- Whatever the TV's YouTube app plays
Brand new: tell us how it works with your TV.
[FEATURES]
Couchcast puts a cast button in YouTube's own player controls, next to the settings gear. Hover the video, click it, and the TV takes it from there.
The TV starts at your spot, at the speed you were watching, and the video pauses in Firefox so it isn't playing in two places.
In no-ads mode the Apple TV plays YouTube's video stream itself. YouTube's player is what puts the ads in, and it never runs.
Or link the TV's YouTube app with Link with TV code, the same link YouTube's phone app uses as a remote. Nothing else to install.
There's also a toolbar button, Cast to TV when you right-click a YouTube link, and Alt+Shift+Y (Option+Shift+Y on a Mac).
Come back to the tab while the Apple TV plays, and the paused video in Firefox jumps to where the TV is.
No-ads mode plays YouTube's H.264 stream on the Apple TV at up to 1080p and 60 frames per second.
No account, no analytics, no server of ours. Couchcast talks to YouTube, your TV and the helper on your computer, only to do what you ask.
GPL-3.0, the extension and the helper both. Read every line of it on GitHub.
[SCREENSHOTS]
[SETUP]
- Download
couchcast-<version>.xpifrom the latest release and drag it into a Firefox window. Its settings page opens: pick how it plays. - For no ads on an Apple TV, install the helper on your Mac. It needs uv and deno.
pairshows a PIN on the Apple TV to type in,installregisters the helper with Firefox, andstatuschecks that everything is connected.uv tool install "git+https://github.com/vanities/couchcast#subdirectory=helper" couchcast-helper pair couchcast-helper install couchcast-helper status
- For the YouTube app on the TV: open YouTube on the TV, go to Settings > Link with TV code, and type the code into Couchcast's settings page.
[TECH_STACK]
// Streams: yt-dlp finds the video's HLS stream on YouTube, and the Apple TV plays it directly.
// AirPlay: pyatv, pinned to a fix for tvOS 26 and newer, wrapped to start at your position and speed and to notice when the TV leaves the video.
// TV codes: YouTube's Lounge protocol, ported from pyytlounge, is how a TV's YouTube app takes orders from a phone.