Chromecast mirroring

One of the sexier announcements at Google I/O 2014 today was for Chromecast display mirroring. This will allow Android phones and tablets to push their live view out to the TV wirelessly; that means apps don't need to specifically add Chromecast support anymore, and you can have an easier time seeing just about anything. This can even mirror your camera.

Chromecast mirroring will be included as a beta for select devices as Google Play Services get updated over the next couple of weeks. Those devices include those listed above: HTC One M7, LG G2, LG G2 Pro, Nexus 4, Nexus 5, Nexus 7 (2013), Nexus 10, Samsung Galaxy Note3, Samsung Galaxy S4, and Samsung Galaxy S5 to start.

Great news overall for Chromecast owners, and should enable all sorts of new uses. How would you like to do with Chromecast mirroring?


Reader comments

Chromecast mirroring will blast any Android display to the big screen


Hell yeah! My thoughts exactly. I have a Vulkano box (similar to slingbox but no longer available) and now I can cast it to TV screen when traveling. $35 has never asked to fly out of my wallet so fast!

I've had one for a while. My 2 year old son uses it on a retired Galaxy S2 so he can watch Netflix all by himself in his room. Seeing as how the S4 is supported, I wonder if that will also cover my S4 Mini?

Posted via Android Central App

had it since launch (actually have 3 in the house, lol), and i use it daily. AllCast and Play To Cast "pretty much" let you do this now already. i love it... enjoy!

I know its just a small initial list. but i think it just boggles my mind that the newer phone isn't the one thats on the initial list.

It won't unless Hotel's offer WiFi-Direct. Also, Chromecast on setup does a soft reset to that router. I don't see this update changing that functionality. Seems that this feature is specifically designed for the private networks at home.

What he said.

Although, you can bypass by getting a small travel router. In fact, you might even have faster hotel speeds this way too, because you can plug the router directly into the less-utilized LAN drop in the room!

Me and my HTC One M7 and Nexus 7 2013 and Chromecast are eternally grateful, no more wires, will be able to stream NFL Sunday Ticket app on my non-hooked up DirecTV TV.

About time. I'm glad it was explained that they did something special to reduce latency. Probably 90% of what took them so long. I'mn so glad I have a nexus 7 (2013)

As much as I loved my miracast adapter the latency hurts so much. Now I need to buy a few more chromecasts

Posted via Android Central App

That's a good question. Play services being updated for the certain devices is very vague. Maybe beta Chromecast App?

Posted via Android Central App

Yeah I am starting to get used to feeling a little left out. Shortly after I get a Moto X, Google sells Motorola and now the Moto X is barely mentioned - even though despite being a bit short on specs it is (IMO) one of the better all round Android devices.

Don't feel bad, they are just listing nexus and google play devices because google has more control over google play services on those devices.

Chuffed I picked one of these up now. Play music cloud library thru home theatre system and now screen mirroring. For 30 quid. Can't go wrong

Posted via Android Central App

Nothing for the HTC one tf the m7 get this feature and not the new phone smh...Google foul for this

Posted via T-Mobile HTC One M8

Wish I didn't have to spend $100 on Samsung Dongle last year - looks like time to trade up for less $

Posted via Android Central App

Yaay!! There are shows that you can watch directly on the NBC or Comedy Central website, that I could only Chromecast to my TV by firing up my laptop and using Chrome with the Chromecast plug-in. And even that scenario didn't let me cast stuff from Amazon Prime. If this will let me use the browser on my S4 to cast stuff from NBC or CC's websites, and ESPECIALLY, if I can cast stuff from Amazon Prime via a browser on my phone, to my TV, I will be one happy camper!!

Of course, I will not be surprised AT ALL if Amazon doesn't do something (or maybe even Google) to prevent casting Prime content.

You can cast prime stuff, you need to uninstall the siverlight plugin Amazon installed and run the videos with Java, works fine then.

Your dumb if this makes you mad.

Thanks! I had no idea. Though, it is not as big a deal to me now, since we moved and got our good TV out of storage. It has the Amazon app on the TV, so we can watch on that, just not on the smaller TV in the bedroom.

Side note: If you're going to have a sig that calls people dumb, you would look smarter yourself if your grammar in the sig was correct.

I definitely thought of that possibility. And it doesn't change my point. His or her sig doesn't make me mad - it just makes him or her look kind of dumb (to me). If the point is to call out people who get wound up over bad grammar, then it could just say "You're dumb if bad grammar on the Internet makes you mad". Same point - without looking ignorant. By that's just my (possibly dumb) opinion!

haha i was just thinking the same thing. i was like dammit that doesn't make me mad, but gahh it is annoying.

This will go directly from my smartphone (S4) to a Chromecast? I'm asking cause I don't have home wifi.

Posted via Android Central App

Yeah, good question. One thing that miracast has had a leg up on chromecast is the direct wifi connection method vs needing access to some LAN. I wonder how the chromecast will handle the screen mirroring. I bet app developers are frustrated now that their work to implement chromecast compatibility is now worthless.

Casting and mirroring have different purposes! I certainly wouldn't want to stream video via mirroring as it then consumes my mobile device. Mirroring is a very welcome addition but the true power to Chromecast is the native casting.

So question for you then... if you want to play a movie that is local on your device (ripped Blu-Ray) in a hotel room, do you have the option of "casting" it to chromecast? Or would you have to mirror it still? I understand the argument of device battery consumption between casting and mirroring, but to stream local content, do you even have the option of casting? I wouldn't think so, but I'm not as familiar w chromecast as I am miracast.

As of now, no, you cannot cast local content. However, that's not a limitation of the Chromcast, just the local video player apps on Android. Google has been reluctant to allow any apps to cast local content, but as soon as an app is allowed to do it, you should be able to "background" stream local content from a device to the Chromecast without having use screen mirroring.

So do you think chromecast is just adding the miracast protocol? Or is it going to mirror via some other means? In other words, is this going to be a competitor to miracast or use miracast tech?

Unfortunately, I don't know enough about exactly how they're doing this, or the Miracast standard in general, to really answer that question. Sorry.

I cast local content from my htc one mini using BubbleUPNP. This app will also play movies from a usb flash drive connected to my phone by usb to go cable

Apps like Bubbleupnp and Lakitoocast allow casting of local content from your device to the Chromecast. I just streamed an MP4 last night.

Posted via Android Central App

Interesting, and could you turn your device off that had the local mp4 file, like you could if you were to cast a long youtube video? Or does the device need to stay on? It would be nice if this worked like a music playing app where the device could be off, but still outputting music (and in this case video) to save on battery!

As long as your wifi is not set to sleep when the screen is off you certainly should be able to turn the screen off.

The reviews for Bubbleupnp are really great, and playing local files is the way to go, not mirroring. I know from using DLNA (HTC Media Link HD) that playing local content allows me to turn off the screen or use the phone for other things while streaming video. Mirroring requires you leave the phone on and just play what you're playing, and I also found that mirroring while streaming (like Netflix) sucks. I wonder how good this Chromecast mirroring or Miracast will be.

from the demo it looks pretty good but in reality it's really only for apps that it wouldn't make sense to implement casting. In other words apps that you interact with. As for gaming well there is always "some" latency (how can there not be) even if minimal it may depend on the game but then you should just have an Android TV box for gaming...

from the demo it looks pretty good but in reality it's really only for apps that it wouldn't make sense to implement casting. In other words apps that you interact with. As for gaming well there is always "some" latency (how can there not be) even if minimal it may depend on the game but then you should just have an Android TV box for gaming...

Chromecast requires wifi in general regardless of how the mirroring works. Pick up a $10 access point on a deal site...

What rkirmeir said. And I wager that even with the announcement to allow casting via the Internet (versus over a WiFi connection), the Chromecast itself will still need a WiFi connection. I mean, it doesn't have an Ethernet port to connect a cable. And the whole point of the Chromecast is that your phone can tell it what to play on the TV and then you can turn your phone off. So, if the Chromecast isn't streaming the content through your phone, and it doesn't have a hardwired connection to the Internet, how else would it access the content you want to play, other than using WiFi to your home internet connection?

I highly doubt they're going to implement something in Chromecast to stream the content through your phone's cellular service via WiFi Direct.

That said, what I COULD see doing is starting the WiFi Hotspot on my phone, having the Chromecast connect to that, and then casting something to it from my phone "via the Internet".

I would only be likely to do this in a hotel or other travel scenario.

Given that I have Verizon LTE service with Unlimited data, the cost would not be an issue.

And the reality is, many hotels' Internet service is too slow to stream, say Netflix in HD. And that's if they don't block streaming in the first place. OTOH, anywhere I've been that had a decent LTE signal, I had plenty of bandwidth to stream Netflix in HD.

You could even do this to an in-car entertainment system, I suppose, if you're driving a route that maintains decent signal the whole way.

Hotspot generally does not work with Chromecast, at least between the phone hosting the hotspot and Chromecast because the hotspot app isolates the networks.

That is why I prefaced my comment with the part about the announcement (from today at Google I/O, I think) about updating Chromecast to work "over the Internet".


On a kind-of related note, I have a buddy who occasionally comes over and sends YouTube videos to my Chromecast. The other day, after he left, I went to take a shower and came back into my living your to discover Michael Jackson videos playing on my Chromecast. I thought it was weird, but just figured my buddy had left some playlist running before he left and I didn't notice. I mentioned it to him later and he laughed and said "I got home and noticed my YouTube app showed I was still connected, so I tried playing a video to see what would happen." Apparently the Chromecast *can* accept casts from outside it's "home" WiFi.

Even still, StuartV is correct that the Chromecast is completely useless without a WiFi network to connect to. It's built around the premise that it doesn't need your device to feed it data, only to tell it where to get the feed from.

Hmmm. That's actually a bit disturbing, really. That suggests that:

One, people outside my home network COULD access my Chromecast

And, two, all the requests I issue to my Chromecast are being relayed through a server outside my home. A server other than the actual content server that it's going to stream from.

I say that because, if your report is 100% accurate (and I'm not saying it's not!) then your Chromecast has to be listening to a server out on the Internet somewhere for its streaming requests. Either that or your home network's firewall is redirecting traffic from the Internet directly to your Chomecast, which seems pretty unlikely.

So, if the CC is listening to (presumably) a Google server for its streaming requests, and your CC app on your phone is actually sending the cast request to that Google server, then, one, Google (or anyone who hacks Google's CC server) could potentially do anything they want to your Chromecast, including capture any data that you enter into anything that is being cast.

And, two, Google would have a record of everything you cast, even if you're casting, say, Netflix.

I'm not sure I like, AT ALL, the implications of what you reported. If the AC editors weren't more interested in suckling at Google's teat than looking out for our best interests, I would harbor a small hope that they would read your comment, do some research and investigation, and publish the findings, even if it reveals major security concerns with Chromecast.

If you read the spec on how Chromecast works, it *is* sending the "id" of the content that you want to cast to an outside server.

Here's the basics of how the Chromecast (DIAL - Discovery and Launch) protocol process works:

1) you open on app on your device that supports the Chromecast.
2) that app queries your current network for active Chromecast devices, and displays the cast button if a device is found.
3) You tell the app to cast the current content (Netflix movie, YouTube video, etc) to your Chromecast.
4) The app generates a URL pointing to a "web page" setup by the app's developer. So, for the Netflix app, this is creating a URL pointing to a server at Netflix. The URL would look vaguely like this:

(DISCLAIMER: I totally just made that up to get the idea across. I really don't know how specifically accurate that is.)

5) The app sends that URL to your Chromecast, which then issues a web request to that URL and, presumably, gets the content stream as a response.
6) A connection is left open between your device and that URL and the Chromecast and that URL so that you can control playback with your device.

So, the server that URL points to now knows your user ID (so it knows you logged in through the app) and the ID that uniquely identifies the content you want to cast. What seems to be in question is *how* the app sends that URL to the Chromecast. It obviously doesn't happen in the direct manner, meaning that it is going through some server, somewhere, presumably belonging to Google.

Usually, the app on your device should no longer allow you to send URLs to a Chromecast once you've left that WiFi, but his phone didn't seem to do that update.

All that said, I don't think you really need to worry about someone "accessing" your Chromecast from outside your WiFi. There's no discovery from outside the "home" network (at least not at present) so no one is going to be able to access it just driving by your house or something. In the incident I talked about, my friend was at my apartment, connected to my WiFi when he started streaming.

Someone *could* conceivably figure out someway to fake those cast URL's and send a URL to your Chromecast, but why would they want to? It's not like they could see the content stream unless they were already in your home, in which case they wouldn't need the hack.

I think this was just a case of a buddy's crappy phone not properly detecting that he had left my WiFi network and notifying the YouTube app. I don't really see it as a huge security hole. More of just a weird bug in the protocol.

I understand what you've said. I've written my fair share of server-side and client-server code. Here is the issue I see:

"Usually, the app on your device should no longer allow you to send URLs to a Chromecast once you've left that WiFi, but his phone didn't seem to do that update."

The server that is functioning as a broker in this case - the one that is relaying the request from the phone to the CC - should never RELY on the client application to enforce security (such as no longer being able to send content once it has left the network).

After reading the DIAL protocol spec (v1.7), it is clear that you would THINK the Chromecast is acting as the DIAL Server. But, if a phone on the Internet (i.e. not on the CC's local network) was able to send new content to the CC, then that implies that one possibility is that the CC is responding to the DIAL Discovery request (the M-SEARCH) with a Location value that is a URL to some other server on the Internet (which I'll refer to as the Broker). So, subsequent DIAL activity would occur between the phone and the Internet server (the Broker), instead of the CC. The CC would obviously have to have some connection to the Broker, too, for all this to work, but that connection is not covered by DIAL and could be completely proprietary.

The other possibility is that the CC is functioning as the DIAL Server, but the discovery of the available DIAL REST services is returning URLs to an Internet server. The DIAL REST services being brokered by an Internet server is really the fundamental requirement to satisfy the example you gave (of your buddy's phone controlling your content from the Internet). In this scenario, the CC still has to have some connection to the Broker - which is not necessarily a protocol covered by the DIAL spec.

Once the phone has left the network (the one the CC is on), the IP address of the phone will change. So, the Broker is obviously not limiting control of the CC based on the source IP of the phone. It could limit it based on MAC address, but MAC addresses are easily spoofed, so that is no help, either.

Imagine that someone has their home WiFi network security set to Open. A miscreant hacker sits outside their house sniffing their packets. What stops someone from capturing the address of the broker server and the URLs that are being sent to it? All of the DIAL protocol is HTTP, so all the URLs, etc. are being sent around in clear text. Since the broker is not restricting activity based on source IP, the hacker could now simply take one of the captured URLs (even if it's just the URL to a specific REST service), modify it, and send it on to the broker (an HTTP POST), thus controlling what the CC is streaming. And if the DIAL Server is actually an Internet Broker (versus just the REST services being brokered), what would stop the hacker from modifying the URL so that the CC doesn't actually access Netflix, but instead, invokes some completely different app and content on the CC?

The DIAL spec COULD have been written to include some exchange of public keys that would be used to, putting it very simply, digitally sign every request that is sent back and forth, so that the DIAL server and DIAL client could KNOW that the requests and responses are coming from who they say they're from. But, the spec doesn't have that. I suspect the authors of the spec were assuming that all the DIAL activity would be happening on a private network, so they didn't need that level of security. But, it seems that Google decided that assumption didn't work for them.

The DIAL Server (the Broker) COULD disallow requests that say they're from the same client, but have a different IP address. That is obviously not happening in this case.

I won't bother to speculate (further) on what benefit the hacker could get from doing this. I think it's enough to point out that some people do this kind of stuff just to randomly screw other people over.

Disclaimer: I basically just skimmed the DIAL spec. I could easily have missed something that addresses these security concerns. But, when an example has been presented that a person off the network DID control the content of the poster's TV, I have some confidence that I am not completely off base here. It is worth noting my assumptions here: One, the person controlling the TV was on the local network and then left it, so their IP address necessarily changed. Two, the local network (where the Chromecast lives) is firewalled off from the Internet such that nobody could directly access the CC from the Internet (e.g. by doing an HTTP POST directly to the CC).

It sounds like you've got it. From my understanding of the DIAL spec (I am also a software developer, primarily web) the connection between your device and the CC is through a "broker" server that resides within the network of the content holder (ie: YouTube, Netflix, etc) and commands are sent through that server. it could indicate an issue with the DIAL protocol's security model, an issue with the DIAL implementation on YouTube's "broker" server, or could have just been that my buddy had an outdated version of the YouTube app on his phone. He's got a Samsung Insight (or something like that), one of their "cheap" models and he's not a tech savvy person.

Either way, for those reading along at home who got completely lost and have no idea what a REST service is, here's the short version: NEVER HAVE AN OPEN WIFI! ;)

Right! Except that I stand by my statement that if the server relies on the client to enforce security that is still a problem. In other words, having an outdated YouTube client is no excuse.

Also, I wonder what someone with a cable modem operating in promiscuous mode might be able to do with your traffic. An Open access point seems unlikely to be the only way to exploit this issue.

Yes, it COULD. But, since the ChromeCast does not currently use WiFi Direct for any of its content streaming, and the main selling point of it is that you don't have to tie up your device to watch your content, and nothing about today's announcement(s) requires adding the functionality to stream content from the device via WiDi, and since streaming via WiDi implies that your device is pulling the content via a cellular network (can any phone even connect to WiFi to pull content and WiDi at the same time? Besides, if WiFi is available, why wouldn't you just connect the CC to it directly?), I said earlier:

"I highly doubt they're going to implement something in Chromecast to stream the content through your phone's cellular service via WiFi Direct."

And I really do HIGHLY doubt it.

You bring up a really good question about using WiFi and WiDi at the some time. I've honestly never thought about it.

I have been thinking that it would be extremely unlikely that you could do both at the same time. But, I just read that Samsung's SideSync feature for interoperating an S5 with a Tab S requires that both devices be on the same WiFi network and that is uses WiDi between the devices.

First of all, you mean I can't use SideSync if I'm out and about and not on WiFi?! Lame.

Second, it seems unlikely that they would put this feature in if it required both devices to no longer be connected to the Internet over WiFi. So, I now suspect that, at least for some WiFi devices (e.g. the S5), you must be able to do WiFi and WiDi simultaneously.

True. Might be a something that's only possible on newer hardware. Never really experimented myself. Might have to try and find some way to test this. I know the SBeam feature on my Note 3 is using WiDi. Might try and force some kind of "prolonged" beam, and then access the net and see what happens :)

Final follow-up. I got a Galaxy Tab Pro 8.4 on Friday. It had SideSync on it (to my surprise). I checked the Play store and was able to install SS on my S4, too, so I ran it for a bit on Saturday. I think SideSync runs over WiDi the whole time (not just during discovery/pairing). Anyway, while SS was running, my phone and tablet were both still connected to WiFi. I ran SpeedTest on my phone, using my tablet to control the phone and run the SppedTest app. So, I guess you can do WiDi and WiFi at the same time.

How so? I used to love apple and was at Macworld 1999 and 2003

Posted from my Nexus 7 2013 or Samsung galaxy S5

So can you mirror from your phone and continue doing something else on your phone display? Is this why HTC has left the HTC Media link to die a slow death after the KitKat update?

"Mirroring" would mean that your displaying your phone screen on the TV. Meaning that, if you left the app and went back to your launcher, you would see the launcher on the TV. If you're casting something from an app that explicitly supports casting, then yes you can do something else on the phone while the video/audio plays on the TV. But not with "mirroring". That's a different animal.

I've got the note 10.1 2014 ed on kitkat and if I start to mirror a movie on it using the native video player, it will send it to my miracast receiver even if I start to use my device to pull up a browser or check email... so I'm not sure if it's just a functionality of the native video player and my particular miracast receiver, but it is possible. I was frankly quite surprized the first time I tried it out after the kitkat update. It wouldn't do that on JellyBean.

Just got a Chromecast for Father's day and this was only problem with it... I was looking into rooting my phone so that I could mirror my screen... NOW IT DON'T NEED TO... THANK YOU GOOGLE!!!!!!

Oh son of a biotch! I just bought an additional Miracast adapter despite already having 2 Chromecasts just for display mirroring! And I have a Galaxy Note 3 which is in the first list of supported devices. Damn it. I just wasted $60.

Maybe not. Highly likely that this initial functionality will not be without its share of "hiccups". At least you've got a Plan B until Google gets all the kinks ironed out.

My Miracast will probably just stay in my work travel bag to be used for pushing presentations from tablet on our conference room TVs equipped with HDMI. So I guess I'll still use it, but I literally just bought it last week and now they announce this. I also just bought a Galaxy Tab Pro 10.1 right before they announced the Galaxy Tab S. Timing, it seems, is not my strong suit.

lol. Oh, well. So long as you're happy with the purchases that you made, I wouldn't worry about it too much.

Finally that mysterious "Cast Screen" quick tile will have a purpose without me needing to install Koushe's buggy Mirror expirement!

Posted via Android Central App

Too bad I have a first gen Nexus 7... I'll have to wait. Good implications for the classroom though...

Posted via Android Central App

Two of them burned out on me. I'm a little hesitant in investing in another one, but this feature looks too good to pass up.

Posted via Android Central App

Damn, I would have bought a chromecast 2 days ago for almost half price if I knew it would have screen mirroring coming ;(

Posted via Android Central App

This is by far the best news of I/O.....koush had it nailed early, and now google makes it right

Posted via Android Central App

I assume this means that they're going to be transcoding the screen in real time-- sounds like a potential for a major battery suck.

Very glad that I set up a separate tablet just for dealing with Chromecast in the house right about now :)

I have been waiting for this. thank you Google best 35 dollars I have ever spent lol

Posted via Android Central App

I still hope that app makers will include Chromecast support for streaming reasons. For those kind of services, it's great to have the Chromecast do all the streaming while leaving your tablet or phone free to do other things. The Showtime Anytime app could use Chromecast support for example. However, I have been wanting the ability to mirror my screen for as long as I've had the Chromecast. This is really great news. Now I just want to try it and see how well it really works.

I'm in the UK and I was thinking Sky Go but no doubt Sky will screw us all over and put a stop to it! :(

Posted From My Awesome Moto G