How Chromecast Works, Chromecast Protocol Explained

Google at their July event introduced a new media device that promises to make use of the Largest display in your house without involving any kind of complexities.

All product development internet giants: Apple, Google and Microsoft had been trying to simplify sharing media to HDTVs and making them smarter. Google itself had created Google TV, Nexus Q and now Chromecast.

chromecast-hdmi

Chromecast is first Zero config music, video sharing to TV service, beating the simplicity of everything else in the market. Sharing any media or browser tab from device to TV is just a tap away.

So how does this fascinating one click sharing works?

Chromecast Protocol Explained

DLNA + UPnP lets you stream media from smartphones, laptops to compatible HDTVs. But there are lots of steps involved. Mostly, these solutions are complex enough for a typical home user. But Chromecast uses UPnP and DIAL protocol to eradicate intrication.

dial-discovery

DIAL (DIscover And Launch Protocol) uses UPnP (Universal Plug N Play) protocol for network element discovery. Upnp multicasts and probes for available listeners and senders on a given local Wifi network. So essentially moment you click Chromecast  icon on Chrome tab or android device, it probes and discovers First screen DIAL server (Chromecast device plugged to HDTV in this case). Once discovered, it synchronizes information on how to connect to it.

As per Leos Nicholas, the Simple Service Discovery Protocol (SSDP) response says the device is running Linux: “Linux/3.0.8-g702c5ee, UPnP/1.0, Portable SDK for UPnP devices/1.6.18″ and the “X-User-Agent” is “redsonic”. So its essentially a Linux based Chrome OS device, as already claimed by Google.

The device description response says the model name is “Eureka Dongle”.  It supports the following DIAL apps:

http://10.x.x.x:8008/apps/Netflix

http://10.x.x.x:8008/apps/YouTube

http://10.x.x.x:8008/apps/GoogleMusic

http://10.x.x.x:8008/apps/ChromeCast

http://10.x.x.x:8008/apps/Pandora

Chromecast uses smartphone to control media playback. The videos/music is played from the cloud rather than from the smartphone, this makes it possible continue the playback when the initiator is no longer in the home wifi network.

chromecast-1

In his tests, he found that when a YouTube video is being played from phone, the DIAL Application Information Request says the “ramp” protocol was used. Playback can be stopped using HTTP Delete. So essentially, you can control the media playback using standard protocols, outside Chrome. However, other controls like video progress seeking didn’t use any standard stuff, so that part could be written as an proprietary extension to the DIAL and ramp protocol.

For  Netflix it appears to be using some sort of websocket over the local LAN. For Google Play Music, Chrome casting, it uses DIAL “ramp” protocol.

DIAL Protocol

DIAL protocol has two components, DIAL Service Discovery and the DIAL REST Service. DIAL Service Discovery enables a DIAL client device to discover DIAL servers on its local network segment and obtain access to the DIAL REST Service on those devices.=

The DIAL REST Service enables a DIAL client to query, launch and optionally stop applications on a DIAL Server device. DIAL Service Discovery is achieved using a new Search Target within the SSDP protocol defined by UPnP and an additional header in the response to an HTTP request for the UPnP device description.

The DIAL REST Service is accessed using HTTP. Read more about DIAL protocol here.

What’s Inside ChromeCast Dongle

Chromecast is a Chrome OS device on a low-end hardware. The circuit board is very tiny and has an onboard Marvell processor (probably a single core 1Ghz) and an AzureWave combo Wi-Fi chip, along with 4GB of flash memory storage (for caching) and 512MB of low-voltage RAM.

chromecast-internals

Related: Stream Local Music, Videos to Chromecast from Android over WLAN

We write latest and greatest in Tech GuidesAppleiPhoneTabletsAndroid,  Open Source, Latest in Tech, subscribe to us @geeknizer OR on Facebook FanpageGoogle+.

VN:F [1.9.22_1171]
Rating: 9.8/10 (4 votes cast)
VN:F [1.9.22_1171]
Rating: +3 (from 3 votes)
How Chromecast Works, Chromecast Protocol Explained, 9.8 out of 10 based on 4 ratings

Related Posts

Bookmark and Promote!

  • earth

    Yeah so the dongle itself is just a demonstration. The real product is the DIAL protocol developed by Netflix/Google. There is no license fee, Google probably isn’t interested the dongle itself, they want to get this into future TVs. Roku could put the DIAL protocol in future devices (no fee), possibly even upgrade recent devices.

    Multiple devices can connect so maybe eventually could do things like play a card game that needs to hide cards from view. The TV shows playing table, each tablet or phone shows player cards privately. Maybe a simplistic/impractical example but there are opportunities to do things like this with rich APIs.

    And as SmartTV makers include this protocol, it will be easier for them to put out tablet apps that control all aspects of the TV setup, imagine being able to ‘slide’ the brightness or contrast of the TV from tablet.

    The DIAL and SSDP protocols and APIs being license free are what will set this apart from other streaming devices. Once this becomes standard on SmartTVs and developers create rich interactive apps between TV and devices, it will then prove innovative.

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • Richard Samela

    Did you try play content from some other media like youtube, netflix or google play? I’m interesting if it is possible to play media content from NAS or standard upnp server to chromecast. If it is possible and if yes, so how difficulty is that. Can you help me? Thanks a lot.

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
  • cweiske

    The REST protocol link goes to “localhost” :/

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.22_1171]
    Rating: 0 (from 0 votes)
© 2014 Geeknizer. All rights reserved. XHTML / CSS Valid.
Designed by taranfx.