There was formerly a Google-made addon for this. Now it's integrated into Chrome. There are two features here:
- Chrome can stream its renderer output to a 'Google Cast'-supporting stream sink, like a Chromecast. This option is buried in the hamburger menu.
- websites can be coded against a JS library that's implemented by Chrome [1][2]. Then the 'stream to...' menu is shown as the 'cast' icon near the address bar.
Is it vendor lock in if you're casting services like Netflix etc? You can use many different devices to watch your content. We've had a Chromecast since the first version and it has always worked well (with the exception of Netflix lately). I recently purchased a Sony Blue Ray player and was surprised to find Chromecast built in to that.
What he's referring to, is that without the extension, other Chrome-extension-compatible browsers are not anymore usable for Chromecast. You now have to use Chrome.
Assuming they drop support for the Chromecast add-on, doesn't this effectively eliminate the ability for other browsers that can use chrome extensions to cast to a Chromecast? (e.g., Opera, Vivaldi, maybe Chromium)?
That's actually a very important question. Is Google opening up casting in the widest sense to 3rd party clients? I know there was some push in this direction when it was launched ( https://en.wikipedia.org/wiki/Discovery_and_Launch ) but I seem to recall hearing that there is now more to Google Cast than DIAL. Does anyone know how interoperable this all is?
DIAL/SSDP is not used anymore (except for legacy apps, like the Youtube one). Now, this is mDNS (good) and proprietary protobuf protocol. There is no documentation for this but several people have reversed-engineered the stuff from the source code of Chromium and the extension to get third-party client (third-party Chromecast is not possible since there is a signature mechanism for clients to check). I have done such an implementation here: https://github.com/vincentbernat/nodecastor (but not really maintained).
That's troubling. Has anyone got any sense about whether interoperability is merely neglected or whether there's strategic reasons for its abandonment (either from Google itself or via pressure from partners with 'premium content')
Looking at WireShark last night Google Cast was reaching out to Google every 30 seconds. I narrowed it down to my web browser, removing it from the toolbar stopped it.
Assuming some of the logic for determining whether a page is castable (or what options to offer) reside server-side then I can imaginez why this might be necessary. However it also might be poor coding.
Was it onerous in terms of resources - or was there any hint of nefarious behaviour? My suspicion is many people will assume the latter despite the rather neutral tone of your post. Therefore I'd be interested to hear more detail.
I have been interested in the Hacking Team leak of spyware and hacking tools. I found in the documentation taken from the hacking team website that when you run Wireshark their spyware looks for that and won't install. I have heard of wireshark before but never tried it, once I had it I saw that google chromecast going on it is like a beacon telling Google my ip address over and over again. Seemed like a bad thing. Maybe not all totally logical, why bother, but being logical all of the time is boring!
This part is here since quite some time (since the introduction of the "new" protocol, two years ago). It is not the complete picture since it's only the low-level view (mDNS and protobuf). It's not sufficient to build a client since you still have to figure out the content of the messages. The gap is the extension that was provided until now (as a minified JS).
It seems like Cast would be an inferior way to stream HD content to a TV for many users. If the source host is wifi-connected, you're tripling the amount of traffic that's passed through your access points: once from the content source (e.g. Netflix)
to the laptop via the AP, then presumably from the laptop to the AP and back out to the Chromecast device.
This is not the case for apps such as Netflix, YouTube, and HBO. They all stream directly to the Chromecast from your internet connection, your browser or app on your phone just acts as a remote.
That's not how it's done. That's a complete fallback.
For Netflix what happens is your browser tells the cast device what URL to go to to play the content. Your browser does not need to steam the video to the cast device. It can fall back to that so you can cast anything, however.
This is true but there are a couple caveats, one being the device playing the content has to already be authenticated properly.
You cannot simply go near a Cast-enabled device and start playing your stuff, unless I am mistaken. If that is the functionality then that would be terrifying as I would be handing my credentials to this Cast-enabled device.
Not sure if it works with desktops/laptops, but there is a guest mode (disabled by default) in the settings (on the Android app) that allows anyone to add thing sto the player queue.
Only app I know for sure it works is Youtube. I'm not sure what other app handles it, maybe GPM and Spotify.
Actually this is how the chromecast works. You never interact with the chromecast directly to configure your Netflix account for example. I assume (hope) they send a URL to the movie it should play with a one-time token to access the movie source.
Most likely it isn't a username/password but an authenticated URL... https://foo.bar.netflix.com/(UUID-OR-SIMILAR) where that is resolved to a resource, and the user authentication is valid for X hours from start...
There's no need for a plain username+password to be used... it's just an authentication token as the resource or part of the url.
They really just need to send the Netflix cookie from your browser to the chrome cast. But I don't think they do that, like sarnowski said, i believe they put some data in the url thats like a 1 time key for your account and the video you want to watch.
Don't people check their assumptions before asserting them as facts?
I don't know why it's a terrifying concept either.
Anyway, Chromecasts can be configured to allow guest access at the device level. Phones that are even on distinct networks can still guest-Chromecast via ultrasonic noises emitted by the Chromecast. It's pretty nifty. It's nice to have a bunch of people over and have a shared YouTube queue. For more details (https://support.google.com/chromecast/answer/6109297?hl=en) expand the section "How do mobile devices connect with a Chromecast in guest mode?".
> It seems like Cast would be an inferior way to stream HD content to a TV for many users. If the source host is wifi-connected, you're tripling the amount of traffic that's passed through your access points:
That's a fallback method, but the expected methods for most sources is that the you send the Google Cast receiver (chromecast, etc) a URL for the media, and it goes and streams it directly.
Which sadly is default/enforced behaviour. One day I downloaded something on Play Movies, and moved to another location that has Chromecast connected via a 3g access point. I expected the movie to play from the cached file, but no - it just silently downloaded a new version. Most expensive streaming session ever...
Google Play Music support was one of the main reasons I added a Chromecast to my setup. It's a frustrating gap in the wide variety of content that Roku can handle.
Looking forward to some standardization/interop coming out of this. There's Presentation API[1], which spec's a web API, but that still leaves open the question of coordination between a controller (browser) and display. Chrome's working on it[2], and I'd guess would target Cast, so web pages might be able to request their own casting, but it doesn't seem like anything other browsers could compete/cooperate openly with atm.
Not sure how related this is, but my parents have a one or two year old Samsung "Smart" HDTV. It doesn't have Chromecast built in, but it does have Youtube, Netflix, and a few other "apps".
I thought it was really cool one time when I was visiting during a SpaceX launch and experimental sea landing because I was able to swap from watching live via Youtube on my laptop to casting it to their HDTV. That was just by pressing the cast button and selecting their TV, which was automatically in the list without me doing anything.
It's awesome that Google's made this more convenient and I think it'll be something useful for a lot of people.
Those are YouTube-specific hacks, as I understand it. My Oppo Blu-Ray player also shows up as a cast-to destination in the YouTube application, but it doesn't show up anywhere else that has the casting ability.
I believe that this is the DIAL (http://www.dial-multiscreen.org/) protocol. I know Netflix and YouTube use it, as well as I presume others. Personally I don't think it is as cool as Google Cast as it requires an app/server installed on the target, where as Cast can open any website.
Weird. I'd take a look at your Mac audio settings (System Prefs -> Sound -> Output) and any weird applications you've installed with access to sound output.
Also try quitting all apps except chrome and see if the problem persists.
I have no apps that have access to the sound output. The problem persists even if I run ONLY Chrome.
I am not the only one - you can see such an issue on the Chromecast support forums for many users. I have tried all recommended solutions like media router enable/disable etc. including using the Canary version. No luck! I have also raised this with the Chromecast support team like 2 weeks ago. I haven't heard from them since then.
Thanks for your patience. Currently, audio is not supported when casting your desktop from a Mac computer/laptop. However, casting a tab does support audio. We're always looking for ways to improve, so your feature request has been duly noted.
Safari has gotten quite good, btw, if you're on a mac. I mentioned this to a guy on the original Chrome team, and he said he wouldn't be surprised if it were faster now.... Chrome used to be all about speed but now it's about features.
For anyone who hasn't seen it, check out the "peerflix" project on github. It's an amazing way to stream torrents, and you can easily cast them from chrome.
Although I've been waiting for wireless screen-sharing between TV and PC for a long time, that sounds much more difficult than a simple HDMI cable to my laptop. It's actually one of the reasons I continue to buy laptops.
Just to point out, the 'difficult' step here is really the torrent download. If you already have the file locally, you can send it to your tv in a couple clicks using Videostream. Assuming everything works as you hope, it's more convenient than plugging in a cable for me at least.
But maybe they use md5 checksums to only store one copy of the same file for thousands of users. Or maybe that's violating some legal shield they have within their TOS.
Either way their MP4 conversion is waaaay too fast for some of the more popular files, and those aren't a part of the torrents.
I'm sure they check against the checksums when providing you a file that already exists. Doesn't make sense to waste bandwidth (hey there, Kim)
I think in their FAQ they mention that they have some dedicated nodes that do the MP4 conversion. I completely agree with you though, the conversion is unreal.
Since Google Cast has been open-sourced (upstreamed to Chromium), does this make it the de-facto alternative to Miracast? My Roku supports screen mirroring, but the fact that apps and companies are more keen on supporting ChromeCast has been frustrating.
It appears that Google will eliminate Chrome "packaged apps" in the next year; do I understand these to be locally installed apps? (I don't know Chrome). All apps after that must be on (a service?) the web. What could be the reason behind this?
Chrome is deprecating Chrome Web Apps in favor of native Web Apps. Essentially it's a push towards a more open web now that the APIs have caught up. It really has nothing to do with services.
Since this has happened my (gen 1) chromecast experience has gone almost totally to crap.
The built in functionality is supposed to be smart about down scaling for wifi speed, and thus has removed all options to do it manually; unfortunately it utterly fails (I believe because wifi speed is fine but the bitrate is too high for the hardware).
Not very, but I they've been opening up more. Just today they announced they were adding spotify connect support, and amazon echo voice control support.
Nice job, thank you! Now... how can I disable it? Next time I'm on a public wifi network, this is going to be sending out probes for Chromecast devices, and it's only a matter of time before someone finds an exploit.
> only a matter of time before someone finds an exploit.
Chrome is looking ripe for exploitation. IIRC the default install includes an mDNS responder. Check out the guy who has every Chrome instance on his network crash at the same time: https://redd.it/4xej0p
"people have casted more than 38 million times from
Chrome, watching and listening to more than 50 million
hours of content."
So Google is monitoring your watching habits. What other information do they collect as part of this? Are these details documented in a privacy policy somewhere?
The setting chrome://flags/#disable-cast-streaming-hw-encoding only appears to toggle hardware encoding or not. Can it be disabled altogether?
There is a "Automatically send usage statistics and crash reports to Google" checkbox right in the settings. It even asks you during the install. Just uncheck the box to disable.
They also recorded this data as part of the Chrome extension, not natively. If you want to see more about the native metrics Chrome sends to Google, check out "chrome://histograms/"
I really want a feature that would allow me to cast from my phone to my desktop. I have a big TV plugged into my desktop but I can't cast to it from my phone, I have to remote in and manually control the desktop, it's painful.
150 comments
[ 0.24 ms ] story [ 131 ms ] thread- Chrome can stream its renderer output to a 'Google Cast'-supporting stream sink, like a Chromecast. This option is buried in the hamburger menu.
- websites can be coded against a JS library that's implemented by Chrome [1][2]. Then the 'stream to...' menu is shown as the 'cast' icon near the address bar.
[1] https://developers.google.com/cast/docs/reference/chrome/
[2] https://developers.google.com/cast/docs/chrome_sender
Hopefully youtube.com/tv still works.
The API was even called the Chromecast API.
They changed it to Google Cast last March [0].
[0] http://www.techtimes.com/articles/143386/20160323/google-reb...
https://www.google.com/intl/en_us/chromecast/
https://www.google.com/intl/en_us/chromecast/tv/#?discover
Google is still branding the device as Chromecast and still heavily using the term in the marketing for the actual device.
Also, other companies make Google Cast supported hardware, such as the NVidia Shield.
https://shield.nvidia.com/blog/what-is-googlecast-chromecast
I was just clarifying for obilgic by explaining that he wasn't mistaken until more recently when Google rebranded the API.
[0] - https://chrome.googleblog.com/2016/03/introducing-vizio-p-se...
The apps and technology have been called that for a while; Chromecast is one of the receiver devices that supports the technology (there are others.)
Was it onerous in terms of resources - or was there any hint of nefarious behaviour? My suspicion is many people will assume the latter despite the rather neutral tone of your post. Therefore I'd be interested to hear more detail.
If you want to cast a tab, while it's not the optimal solution, you can cast your whole screen using the quick settings tile.
And it looks like that's exactly what they've done. https://cs.chromium.org/chromium/src/media/cast/?q=cast&sq=p...
No more needing to guess how to implement non-deprecated versions of the API when integrating with other players.
For Netflix what happens is your browser tells the cast device what URL to go to to play the content. Your browser does not need to steam the video to the cast device. It can fall back to that so you can cast anything, however.
You cannot simply go near a Cast-enabled device and start playing your stuff, unless I am mistaken. If that is the functionality then that would be terrifying as I would be handing my credentials to this Cast-enabled device.
Only app I know for sure it works is Youtube. I'm not sure what other app handles it, maybe GPM and Spotify.
There's no need for a plain username+password to be used... it's just an authentication token as the resource or part of the url.
I don't know why it's a terrifying concept either.
Anyway, Chromecasts can be configured to allow guest access at the device level. Phones that are even on distinct networks can still guest-Chromecast via ultrasonic noises emitted by the Chromecast. It's pretty nifty. It's nice to have a bunch of people over and have a shared YouTube queue. For more details (https://support.google.com/chromecast/answer/6109297?hl=en) expand the section "How do mobile devices connect with a Chromecast in guest mode?".
That's a fallback method, but the expected methods for most sources is that the you send the Google Cast receiver (chromecast, etc) a URL for the media, and it goes and streams it directly.
One caveat is Netflix doesn't autoplay to the next episode after casting a video.
I really wish it had Google Play Music though.
[1] https://www.w3.org/TR/presentation-api/
[2] https://bugs.chromium.org/p/chromium/issues/list?q=component...
I thought it was really cool one time when I was visiting during a SpaceX launch and experimental sea landing because I was able to swap from watching live via Youtube on my laptop to casting it to their HDTV. That was just by pressing the cast button and selecting their TV, which was automatically in the list without me doing anything.
It's awesome that Google's made this more convenient and I think it'll be something useful for a lot of people.
Carry on...
After you start casting, click the cast button again. You should see a volume slider that you can adjust.
http://imgur.com/a/Hpzmb
Also try quitting all apps except chrome and see if the problem persists.
I am not the only one - you can see such an issue on the Chromecast support forums for many users. I have tried all recommended solutions like media router enable/disable etc. including using the Canary version. No luck! I have also raised this with the Chromecast support team like 2 weeks ago. I haven't heard from them since then.
"Grace Y. said: Hello,
Thanks for your patience. Currently, audio is not supported when casting your desktop from a Mac computer/laptop. However, casting a tab does support audio. We're always looking for ways to improve, so your feature request has been duly noted.
Best, Grace"
Would be nice to have a barebones Chrome.
Basically you just do:
And then navigate to http://localhost:8888 and cast the tab.Unfortunately it only works with MP4. There may be some workarounds with an ffmpeg command in the middle, but I haven't experimented with it much.
I wish they'd do a blog post or two about how they handle their file structure.
They store everything on some leaseweb disks. They use transmission behind the scenes.
Too bad it's never that simple.
Either way their MP4 conversion is waaaay too fast for some of the more popular files, and those aren't a part of the torrents.
I think in their FAQ they mention that they have some dedicated nodes that do the MP4 conversion. I completely agree with you though, the conversion is unreal.
The built in functionality is supposed to be smart about down scaling for wifi speed, and thus has removed all options to do it manually; unfortunately it utterly fails (I believe because wifi speed is fine but the bitrate is too high for the hardware).
Lots of people don't like this update. https://productforums.google.com/forum/#!msg/chromecast/5IG1...
Streaming from my android is also much worse, with high bitrate streams that I used to consume regularly no longer working at all (e.g <1 fps).
I have been extremely happy with my chromecast until the last few months, and it honestly has become something I really dislike now.
https://chrome.google.com/webstore/detail/vysor/gidgenkbbabo...
https://github.com/masmu/pulseaudio-dlna
DLNA is some sort of standard, maybe that's what Sonos uses. I personally just use their phone app though.
http://stackoverflow.com/questions/24490323/google-chrome-ca...
Chrome is looking ripe for exploitation. IIRC the default install includes an mDNS responder. Check out the guy who has every Chrome instance on his network crash at the same time: https://redd.it/4xej0p
The setting chrome://flags/#disable-cast-streaming-hw-encoding only appears to toggle hardware encoding or not. Can it be disabled altogether?
They also recorded this data as part of the Chrome extension, not natively. If you want to see more about the native metrics Chrome sends to Google, check out "chrome://histograms/"