How Chromecast works: HTML5, WebRTC, and the technology behind casting

July 26, 2013

    chromecast angle aa

    Chromecast is cheap, simple and sold out nearly everywhere. The fact that it’s so hard to get only adds fuel to the HDMI media streaming device’s hype. We’ve already stated that Chromecast has the potential to disrupt the way that we watch TV. Let’s take a look at some of the technology behind Chromecast and how Chromecast compatible apps and casting web pages work.

    Method 1: Google Cast API

    This first method is how Google Play Movies and TV, Google Play Music, YouTube, Netflix, and Pandora work. This method allows you to fling content from your device to your Chromecast by using supported applications on your mobile device. Chromecast doesn’t just download or stream audio and video from a provided URL. It’s a little more complicated than that. When you send content to your Chromecast, the device loads a special lightweight webpage using HTML5, Javascript, and CSS. It’s not the same web page that you would view if you were using the sites web application. This webpage then loads the content using the HTML5 <video> tag and waits for commands such as pausing, fast forwarding and rewinding.

    For now, Google has tight reins on whom can use their Cast API and what apps are created with it. Developers must first get approval by Google to use and access the API and have their Chromecast device white-listed for development. Next, they they have to get written approval from Google before their apps will run on Chromecast devices. It seems Google wants to maintain a healthy user experience by keeping a watchful eye over Chromecast apps. If you’re a developer interested in the Google Cast API, you can get started by requesting access here. In fact, it seems you can add support to your existing application with less than 200 lines of code.

    Casting with Chromecast

    Method 2: Google Cast Extension

    The second method bypasses the Google Cast API and allows you to project web content to your Chromecast through a Chrome web browser tab. You do this by installing the Google Cast extension for Chrome on your computer. This method, while will be extremely popular until more applications are built using the above method, will yield different results for different people depending on their computer speed. When you’re casting or mirroring a webpage using the extension, the Chromecast loads your current webpage using an HTML5 standard called WebRTC. If you’ve heard of WebRTC before, you normally would associate it with video chatting. That’s still what’s going on here, basically. Your computer essentially video chats or streams a video of the current tab in Chrome over to the Chromecast. The video is constantly encoding and transmitting. This is why you need a powerful computer. If your computer and network can’t handle a higher bit-rate, the extension allows you to choose between 480p, 720p, and a higher bit-rate 720p to adjust accordingly.

    At this time, Hulu, Amazon, Crackle and other Internet TV and movie streaming sites do not have officially supported apps. To view their content, you’ll need to cast it with method 2. Your mileage may vary when it comes to viewing this technically unsupported content. As I mentioned, depending on your computer and network speed, you may end up experiencing audio syncing issues or dropped frames.

    Wrap up

    Chromecast uses a lightweight Chrome OS along with the standard web technologies of HTML5, WebRTC, APIs and Chrome extensions. It seems at least for now, Google wants to provide a great user experience by keeping a watchful eye over new Chromecast applications. Additionally, if you’re going to stream content from a Chrome tab, you better have a modern computer to do so.

    Stay tuned to Android Authority, we have some Chromecast tips and tricks we’d like to share coming up soon.

     

    Comments

    • Rajat Solanki

      We’re still playing around with the Chromecast, and will have some thoughts on it later, but we wanted to point out a feature that you may not have been aware of after watching yesterday’s demo from Google. Chromecast can play local video files from your computer to a TV. That means you aren’t stuck with YouTube or Netflix or uploading your current collection to a cloud service – you can grab files already on your computer and then stream them to a TV.

      Outside of owning a Chromecast device (which is sold out everywhere), all you have to do is install the Chromecast extension on your PC, then find the file path of a local video file that you’d like to play, paste that path into the address bar in a Chrome browser, and then press the Chromecast button to cast it on over. It really is that simple.

      • mant0x

        That’s very good news right there. Now even more people will buy this.

      • End in sight

        Really? I tried this 3x and cant get it to work. For a VOB file, it says that they file is not found. For the AVI file, it actually downloads the file in the lower left of the browser. If I tried to open it, it plays outside of Chrome.

        Please advise.

        • briankariu

          Press ctrl + o and select the avi movie you want and BAM!

          • End in sight

            Yeah, it’s not working for me and I found some others posting the same problem. Might be the file type or a setting in chrome or something. Weird.

            • claas kuhnen

              Welcome to Google and half finished products…

              There seems to be a real issue with codecs!

            • David Kelly

              Not a problem with ChromeCast necessarily, but a problem with the host computer not having the Codecs. ChromeCast, going through Chrome browser, won’t care what Codec is being used. It’s all on the PC/Mac side.

    • Bone

      Is it theoretically possible to stream custom flash content, sports etc. that normally open in the browser?

      • http://google.com/+derekross Derek Ross

        Why yes. Yes it is.

        • MYOFFICE

          Can you test to see if it can load apps. Try the TVonthego app Im curious I don’t have my unit yet. disclaimer this is my app Im just curious since my store ran out. I know the website should work. Tvonthego.com

    • Bern

      Looking forward to Chromecast but wondering if this is as exciting as it first seems? Won’t Chromecast need to support Miracast mirroring to be an all round utility?

      Currently all it seems to be offering over an Android 4.2 TV dongle and phone with (hardware accelerated) miracast is the ability to “fling” from multiple devices and the very valuable tight control of developers so that the user experience always works.

      • http://google.com/+derekross Derek Ross

        And that valuable experience is only to get better.

      • David Kelly

        It isn’t a ‘screencast’ type tech or even really a stream-from-device tech. For me using an MK808 or something like that is a better choice for that type of application.

        It is cool as heck to start a Netflix video on my phone, then flip it over to the TV. It works extremely well and is very simple.

    • End in sight

      I am glad this is only 35 bucks because I tested it out last night and it was so laggy, I has to turn it off and watch the movie from my laptop instead. Ugh.

      To me, I need to be able to cast full movies (with multiple video files and subtitle files within a folder) from my laptop. Otherwise, this will never work for me. I am not going to upload all these movies into the cloud.

      • Lastb0isct

        You know they did state that piece of chromecast is still in beta, correct? Other people have been able to use it successfully too, so there is still hope.

        • claas kuhnen

          So you sell a beta product?

          • David Kelly

            I like to buy Beta products….

          • RaghaV TrehaN

            i think they should had launched it as they did with Google Glass.

          • bLUFF

            Troll Alert!

          • Lastb0isct

            It’s just a feature that is beta. The rest of the device features are prime-time.

      • claas kuhnen

        Many report on performance issues actually – looks like Google rushed the product.

        But I am curious and looking forward to how they will continue refinding this product and for 11$ you cannot really complain when it does not offer the same polished functionality like Apple TV.

      • David Kelly

        I’ve been watching Google Play shows for the last few hours on my home network and I’ve had one ‘pause’ due to network stuff. I think if you are lagging, it might be the strength of the wireless connection to the ChromeCast.

        I had to re-arrange some of the cabling on the back of my TV; a really thick HDMI cable was going right across the top of the ChromeCast, that could only result in reduced wireless signal.

        Also, they recommend powering it from the AC adapter, probably increasing the strength of the radio in the device.

        I’ll have to try streaming a local video and see what happens.

    • MYOFFICE

      Try downloading the TVonthego app to get free live television or simply go over to their website to get content like live channels. The new Chromecast plus TvOnthego is a major winner. Try the app or the Site to get free live content.

    • RaghaV TrehaN

      If i put chromecast to my denon a/v receiver will it work fine?

    • http://oakleafblog.blogspot.com Roger Jennings

      Casting *.mp4 files worked OK for me at 720p medium quality. Only had an occasional video stutter; no audio problems. 480p eliminates all video issues, but quality suffers (as you’d expect.) For a detailed, illustrated tutorial for casting *.mp4 files from a relatively recent Windows laptop, see “Casting MPEG-4/H.264 Video Files with Chrome from a Windows Laptop” at http://android-minipc.azurewebsites.net/index.php/2013/07/casting-mpeg-4h-264-video-files-with-chrome-from-a-windows-laptop/.

    • MYOFFICE

      Try the Tv on the go in your chrome browser apps and you will have live TV. tvonthego.com is the site. I think its a great companion. There is an app on google play also.

    Popular

    Latest