mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-07-16 05:43:54 +03:00
[Issue]: Chromecast not working #3680
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @bidouapp on GitHub (Mar 20, 2022).
Please describe your bug
Hi,
I have add a SSL certificate on my Jellyfin Server and i have configure a proxy with apache. Like a DNS i have take a Duckdns.
In the moment: Connexion https://myserver.com/ --> Proxy --> Jellyfin
The problem is I have nothing appearing for the chromecast.
Jellyfin Version
10.7.7
if other:
No response
Environment
Jellyfin logs
No response
FFmpeg logs
No response
Please attach any browser or client logs here
No response
Please attach any screenshots here
No response
Code of Conduct
@ownbee commented on GitHub (Mar 28, 2022):
Chromecast is working decently. I have kinda the same setup as you have including SSL, public domain, docker containers for reverse-proxy and jellyfin. It's most likely some problem with your setup and not a jellyfin bug. Here is some general tips though:
What do you mean? You should at least see the Jellyfin Chromecast receiver app welcome screen appearing, else you have a problem with your network or chromecast HW most likely.
@JPVenson commented on GitHub (Apr 2, 2022):
I had the same problem with LetsEncrypt certificates. What certificate are you using?
LetsEncrypt certificates do not seem to work on both of my external ChromeCast devices (even the newer 3rd generation ones). I am using treafik as proxy and had to create a non TLS route for it specifically for the jellyfin chromecast app to work.
@ginger-tek commented on GitHub (Apr 28, 2022):
Same here. Get as far as selecting the casting device, but then get an error when trying to actually cast. I was wondering if it was with my setup or Google denying my LetsEncrypt cert, but I might be having the same issue
@474r4x14 commented on GitHub (May 5, 2022):
I'm having the same issue but it did work up to a month or two ago.
Similar to you I'm going subdomain -> proxy (nginx) -> Jellyfin
The original instructions I used were taken from the Jellyfin docs and it had been working pretty well.
I used to get my Google speakers in the cast list but now when I try I only get "My Device" in the list. Strangely enough, if I open the Jellyfin app on my phone it does appear in the list, it just doesn't seem to see the speakers on the WiFi.
The only thing I'm noticing now is that in the console I get the following error which I'm guessing is the cause:
cast_sender.js:10 Refused to load the script 'https://www.gstatic.com/eureka/clank/100/cast_sender.js' because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-inline' https://www.gstatic.com/cv/js/sender/v1/cast_sender.js https://www.gstatic.com/eureka/clank/95/cast_sender.js https://www.gstatic.com/eureka/clank/96/cast_sender.js https://www.gstatic.com/eureka/clank/97/cast_sender.js https://www.youtube.com blob:". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.@1337joe commented on GitHub (May 8, 2022):
@DefenestrateMe It's trying to load the chromecast script from
https://www.gstatic.com/eureka/clank/100/cast_sender.jsbut it's blocked from loading that script file.You had the previous versions of the script allowed in nginx (
https://www.gstatic.com/eureka/clank/95/cast_sender.js, 96, 97), so you can either add the 100 script to the nginxadd_header Content-Security-Policyline or just bump one of those numbers up to 100.I think someone looked into it a few months ago and it's not possible to wildcard the version number in the nginx config, so either you open it up to trust all scripts on the domain or you have to keep updating the nginx config when there's a new version of the remote script.
@474r4x14 commented on GitHub (May 9, 2022):
@1337joe Thanks! That's fixed it for me.
@raegun2k commented on GitHub (Jun 29, 2022):
Windows server, running on Windows 10 on an old Surface Pro 1st gen I've repurposed. Using Android 12 on Samsung Fold3 as client.
All through HTTP, as it's not exposed to the outside internet.
Hitting cast from the player to my Chromecast devices shows the Jellyfin screen. But hitting play on the player does nothing. Video never plays. Happens with all media. No errors appears on the Android app, it's just not responding to media control nor streaming the content.
I've been needing to use VLC Android player using Jellyfin as a media server to cast to my TV. Will need to switch to Emby for now as this is the functionality I need most.
Will keep it installed(though disabled) for now and provide whatever logging is requested.
@Peronia commented on GitHub (Feb 11, 2023):
As far as I understand I have to make my jellyfin public if I would use a chromecast, right?
Is jellyfin secure to do it?
Also when I'm at home I must use my public ip because my internal dns record is another one as for public, right?
@ownbee commented on GitHub (Feb 11, 2023):
@Peronia you have two options for non-external:
@Peronia commented on GitHub (Feb 11, 2023):
@ownbee thanks. First option is clear.
But the second, what exactly do you mean with configure your router? Do you mean to set the dhcp DNS server to my own server?
@ownbee commented on GitHub (Feb 11, 2023):
DHCP is not enough since the Chromecast is hardcoded to use 8.8.8.8 (Google DNS) and will ignore your DHCP servers "hint" for DNS server. What you need to do is to have an entity in between your Chromecast and your external gateway (typically your router) that is rewriting/routing all packets coming from your Chromecast IP address with destination port 53 to your own DNS server. Some routers have an option for this in their UI. Otherwise you might need to create iptables rules yourself. All routers have different procedures and not all support this with stock firmware. There are guides online about this for some routers. For example, I have iptable rules in my router that is routing all packets that is not coming from my DNS server to my DNS server regardless of origin.
@Peronia commented on GitHub (Feb 15, 2023):
@ownbee thanks again.
Option one is not suitable for me. My router (opnsense) seems not to support your second option.
I found a third solution: I own my internal domain so I can set a new entry for my jellyfin dns (with my internal ip) at my registrar. So Googles dns server can resolve it. It works fine. Maybe not the best solution in case of security.
I think jellyfin can add a little bit docu about that or/and make a log entry, that the jellyfin server admin can see the error in the logs.
@jellyfin-bot commented on GitHub (Sep 2, 2023):
This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.
If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.
This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.
@fogolin commented on GitHub (Dec 28, 2023):
I'm still facing the same issue here.