Jump to content

Chromecast streaming down


grimy55

Recommended Posts

Hello all,

 

I have Emby server 3.1.1.0 installed through the Docker package. Everything works smoothly, except when I try to stream on my chromecast (tries chromecast v1 and v2). The media just won't start after hitting the play button. No error message. This happens from Chrome (Linux or Windows), and also the Android app. The hard thing is that no entry is created in the ffmpeg logs, so I don't really have additional inputs to provide to help solving the issue, unless you have any idea.

 

Never had this kind of problem with Emby server <3.1.1.0.

Link to comment
Share on other sites

Sounds like you are able to connect from device to Chromecast, but the Chromecast cannot reach your Emby Server.

 

What server address are you connecting from using the app? Whatever address you are using, you need to make sure the Chromecast can also support the same address. Chromecast does not support local dns lookup, so if you are connecting via computer name, try changing to ip address. let us know if this helps. thanks !

Link to comment
Share on other sites

tonyd2wild

Same thing happening to me. I have been using Emby with Chromecast for a few months now and just today it doesnt play the screen of the movie pulls up with the logo and when I play I hear the sound of the music but the movies LOGO does not go away I have audio and a picture but the movie video will not show

Link to comment
Share on other sites

Same thing happening to me. I have been using Emby with Chromecast for a few months now and just today it doesnt play the screen of the movie pulls up with the logo and when I play I hear the sound of the music but the movies LOGO does not go away I have audio and a picture but the movie video will not show

 

Hi @@tonyd2wild, if you hear the sound of the music then it's not the same problem. Please provide the information requested in how to report a media playback issue, and we'll do our very best to help you. Thanks !

Link to comment
Share on other sites

Thanks Luke for your help.

 

Indeed, it sounds to be an issue with the Chromecast not succeeded to talk to the server. Once Emby's connected to the Chromecast, the Emby logo appears on my TV. From there, I have tried to wait 10 seconds after hitting the "play" button, as seen in another thread. Then, I get an error message from the screen of my Emby server (translated from french): "ERROR: Your Chromecast dongle cannot connect to your Emby Server. Please, check your connections and try again".

 

I do not use a local DNS look up. I connect to Emby through a Letsencrypt-SSL certificate via an external URL (dynamic DNS). This URL was working fine to cast Emby over the past year (used daily). I'm trying to scratch my head on what have changed in my configuration recently to find out what could be the issue. I have upgraded to Emby 3.1, I have also updated my Chromecast through a reset cycle.

 

The ffmpeg log is still empty.

Link to comment
Share on other sites

I've disabled the https forwarding to connect through the regular port 8096 without SSL, restarted emby, but not luck, still the same symptoms.

Link to comment
Share on other sites

Sure, sorry.

 

My initial server configuration enables to access Emby through the subdomain https://emby.myserver.net. I use a combination of docker containers (described here) to locally proxy through SSL this subdomain to my Emby docker container.

 

To connect through HTTP w/o SSL, I have simply set my router to forward port 8096 directly to the Emby server, then avoiding the SSL-proxy. I can now access Emby remotely through the url http://myserver.net:8096.

I have also disabled the "HTTPS redirect" option on the Emby server setting page (Expert/Advanced tab), just in case.

 

Repeating the procedure for streaming to Chromecast gives the same issue than reported in my previous post.

 

Hope that helps.

Link to comment
Share on other sites

A couple of news. I get the Chromecast working using my local ip w/o SSL: http://192.168.xx.xx:8096. But it still does not work with my external url, with (https://emby.myserver.net.), or without SSL (http://myserver.net:8096). I did not try my local ip with the SSL certificate since this is quite complicated to set with my current configuration.

 

So, at least, I can use my local ip as a workaround. I do not indicate the thread as SOLVED since I could come back if I find a solution to casting through the external url.

 

UPDATE:

 

I have just tried to connect w/o SSL through my extermal IP and casting works fine. To sum up:

 

https://emby.myserver.net (external DNS + SSL): NOK

http://myserver.net:8096 (external DNS w/o SSL): NOK

http://222.xxx.xx.xx:8096 (external IP w/o SSL): OK

http://192.168.0.xx.xx:8096 (local IP w/o SSL): OK

 

So, it behaves like Chromecast doesn't like my DNS anymore.

Edited by grimy55
  • Like 1
Link to comment
Share on other sites

It's probably rejecting your SSL cert and is unable to resolve the dns entry. For chromecast, using ip address is always the most reliable.

Link to comment
Share on other sites

  • 5 months later...
joshe

Apologies for resurrecting this thread, however I am having the same issue as the O.P. 

 

I'm running the docker image on top of a mesos cluster with DC/OS and marathon. The container starts on any node within the cluster and on a randomized port which is mapped to 8096 within the container. DNS and load balancing is used to advertise the service dynamically. This setup works perfectly, with the exception of chromecast when I use a DNS name in the browser. 

 

For example, Emby is currently running in my environment as follows:

 

selected docker host: 10.10.3.212

Emby container IP: 172.17.0.2 (this is the IP that's reported as the local IP in the Emby dashboard)

Emby container port: 8096

mapped host port: 14665

 

I'm aware that chromecast bypasses any internal DNS servers in favour of 8.8.8.8.  As a result I've ensured my domain is resolvable by public DNS servers and used NAT hairpin to allow me to hit my public IP address from the internal network to access my emby instance. 

 

The flow from the client to Emby looks like this:

 

clients (10.10.x.x range) --> emby.mydomain.com:80 (resolves public IP 58.161.xx.xx) --> hairpinNAT-to-loadbalancer (10.10.3.221:80) --> emby docker instance (10.10.3.212:14665)

 

From the browser this is a perfect experience both on the internal network, and externally. 

 

From the internal network, when I select the option to cast to my chromecast I can see that the chromecast is failing to reach the emby server. I've confirmed this with a packet trace, and I can see that the chromecast is repeatedly trying to access 172.17.0.2:8096 which is what the emby server thinks its local IP address is. I don't even see the chromecast attempting to do a DNS lookup of emby.mydomain.com. 

 

However, if from the browser I use the docker host IP and port (10.10.3.212:14665), I can login to Emby and chromecast without any issue.

 

In summary it looks like the Emby code is doing a check when chromecasting: "if URI is a DNS name, then use the discovered local IP address; elseif URI is an IP, use the provided IP"

 

It would be great if we could have an option in the Emby server to override this behaviour. 

Link to comment
Share on other sites

Yea the only way to settle that would be a setting, because current behavior is necessary for just about everyone.

Link to comment
Share on other sites

I would prefer to do it without a setting because it won't help the people who never discover it. I think we can accomplish the same thing by testing the original url, and if the chromecast can reach it, then just going with that.

Link to comment
Share on other sites

  • 1 year later...
elboletaire

Is there any update on this? Being able to set the "local ip address" would make the trick. The only way I can get it working right now is setting `network_mode: host`, which shares the host ip with the container thus allowing the chromecast to properly find the emby installation. If the ip could be defined, just sharing the port with the host would do the trick.

Link to comment
Share on other sites

elboletaire

Using mode network_mode: host it properly shows the local address:

 

5c882332683b2_host_network.png

 

But, ofc, using a bridge mode maps the container address, which can't be accessed outside of the docker network:

 

5c882344ebc43_dockernetwork.png

 

Note that I can still access emby at http://192.168.1.2:8096 because I have the ports mapped, that's why I'm asking for an option to set the local address too, as we already have for the external one.

 

I'd also like to take this opportunity to ask if is there any recent change about config/data locations for emby, as since the last major upgrade every time I re-create the emby container it says it's upgrading the database and I need to wait a while until it ends (which is about 5min, but a bit weird to always have to wait when there are no changes between versions nor components in the server).

Edited by elboletaire
Link to comment
Share on other sites

elboletaire

It kinda works, but as you're using host mode, all ports are mapped with the host (which is something problematic, specially for the UPnP feature, which maps to port 1900 as many others).

 

Also, due to this, users with a proxy can't use the port defined in the proxy (80 or 443 usually), and instead we need to open the 8096 port to the local network to be able to use chromecast.

 

Note that using a proxy allows us to not publish ports to the network and, instead, use a bridge network between the proxy and emby containers.

Edited by elboletaire
Link to comment
Share on other sites

  • 2 weeks later...

It kinda works, but as you're using host mode, all ports are mapped with the host (which is something problematic, specially for the UPnP feature, which maps to port 1900 as many others).

 

Also, due to this, users with a proxy can't use the port defined in the proxy (80 or 443 usually), and instead we need to open the 8096 port to the local network to be able to use chromecast.

 

Note that using a proxy allows us to not publish ports to the network and, instead, use a bridge network between the proxy and emby containers.

 

So what do you suggest?

Link to comment
Share on other sites

elboletaire

So what do you suggest?

 

Either allow us to specify which IP should emby notify to devices like chromecast for LAN connections, or an option to force these devices to use the external connection information instead of the local one, as using the external connection also allow us to use Chromecast when not using host network mode.

 

I understand that taking the second approach would completely disable some of the capabilities that emby offers for LAN connections, but that's something that needs further tweaking when using a proxy, so I venture to say that most of the other users using a proxy out there ain't using these options.

Link to comment
Share on other sites

I had this issue a while ago - see my post from 30 May 2017. I still have this exact same setup and an emby update some time late 2017 or 2018 fixed it. Chromecast works perfectly using my externally resolvable DNS name on my internal LAN

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...