Chromecast over Tailscale?
I have Jellyfin installed on a remote machine, connected to my laptop and phone via Tailscale. Is it possible to cast from that machine to a gen 2 Chromecast?
From the Jellyfin instance installed on my laptop, in the same LAN, I can authenticate from the phone and cast to the Chromecast, so all the pieces work.
I have tried announcing the subnet from the laptop (--advertise-routes=192.168.1.0/24
), with IP forwarding etc. The remote machine accepts the route and can ping the Chromecast (192.168.1.100
). From the phone I can connect to the server and start casting. The screen shows the Jellyfin logo, but playing anything has no effect.
Has someone managed to make it work?
EDIT: As I feared, it seems it's not possible. I can't change the routing table of my ISP's router, so the Chromecast can't reach the remote server.
I'll try to find a newer Chromecast, or maybe just get a Raspberry and install the full client there. Thanks everyone!
When you "cast" from the phone to the Chromecast, what happens it that the phone gives the Chromecast an URL where it can find the stream to play. The phone can read that stream because it's connected to the Tailscale VPN. The Chromecast isn't, so the stream URL is inaccessible to it. You see the Jellyfin logo because that's a feature of casting (the app on the phone gives the Chromecast a logo to show).
There's no point in announcing the subnet from your laptop, because your laptop is not a router for the local LAN. You can use this to reach local LAN devices from remote Tailscale nodes but not the other way around.
Some possible solutions:
I use this same method to stream to Chromecast regularly (with Kodi). I will sometimes have issues with some encodings, or desyncs when pausing, but it is solid enough to support streaming full movies at 4K.
This is not necessarily true. It's almost always possible to use the 2.4GHz band on one side and the 5GHz one on the other and multiple networks on one WiFi interface isn't impossible either.
Modern Android devices can provide hotspot of the connected WiFi without any modifications. For some anecdata: My FP4 with LineageOS 20 and a Samsung A50 (Android 11) can both do it.
For 3, if router supports it could also try doing static route via Tailscale joined machine that has IP forwarding enabled
Casting is always weird with networking like that. I'd highly recommend trying to find a way to run jellyfin locally cause nothing will really make Tailscale play nice with casting in my experience.
I resorted to buy a new one with android tv, so now I just have tailscale installed in it and can directly play jellyfin.
The issue is the chromecast can't resolve back to the tailnet with subrouting. Probably connecting the chromecast to a network which resolves the connections for it could work, but I don't know how to do that or if it's actually possible.
If router supports it, a static route via connected machine with IP forwarding enabled might work. OpenWrt has packages for things like tailscale and zerotier so could do it without an extra machine too.
If your router lets you try adding a static route for the tailscale IP/subnet to the laptop with IP forwarding enabled.
Subnet forwarding does not work in that direction. What you've done is allow devices in your Tailnet (i.e. your remote machine) to access 192.168.1.0/24 by using your laptop as a proxy, not the other way around; the chromecast doesn't know it could reach your remote machine via your laptop.
This would be a giant hack and it's unlikely to work but it's possible you could get the Chromecast to communicate with the remote machine via your laptop by setting the default gateway of the Chromecast's network connection to the local IP address of the laptop.
It'll probably lose internet connection that way, not sure Jellyfin needs that (don't think so?).
I'd rather recommend you look into getting Tailscale onto that Chromecast. I've never used these things, so I don't know whether that's possible.
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:
4 acronyms in this thread; the most compressed thread commented on today has 7 acronyms.
[Thread #299 for this sub, first seen 25th Nov 2023, 18:25] [FAQ] [Full list] [Contact] [Source code]