Chromecast,
Cheapcast and TV

Sebastian Mauer
GDG Aachen

DevFest Brussels
November 16th, 2013
This Presentation
contains QR-Codes
Who am I?
Sebastian Mauer

GDG Aachen Co-Lead
Software Engineer

CS Student
I don’t work for Google…yet
Part I: Google TV
GoogleTV
•

Google’s first attempt to „own“
the TV

•

Introduced at Google I/O 2010

•

First Device, x86-based

Logitech...
By the summer of 2012, the majority of the
televisions you see in stores will
have Google TV embedded.
- Eric Schmidt at L...
leTV
Goog
http://9to5mac.com/2013/07/16/report-at-56-apple-tv-takes-majority-of-streaming-device-marketshare-in-2012/
Three Generations
1. Generation, late 2010

based on Android 3.2
2. Generation, Summer 2012
based on Android 3.2

3. Gener...
GoogleTV: Pros
•

Part of the Android-family.

•

Deploying apps is easy™ (via Play Store)

•

Re-use most of your existin...
GoogleTV: Cons
•

Does not evolve as fast as mainline Android

•

Not many devices sold (500,000 - 1,000,000)

•

Late sta...
Help me Android. You're my only hope
Part II: ChromeCast
aka Google Cast Devices
•

Model Number: H2G2-42

•

It’s not based on ChromeOS

•

It’s based on Android

and Chromium

•

It’s not going to kill...
ChromeCast: Pros
•

Very cheap hardware (35$)

•

Very easy to use (My Grandma can do it™)

•

Web Developers can easily w...
ChromeCast: Cons
•

Google Cast SDK is still a Developer Preview

(read: things will break, things will change)

•

You ha...
ChromeCast: Protocol Stack
UDP

•

SSDP (Simple Service Discovery Protocol)

•

DIAL (DIscovery And Launch)

•

RAMP (Remo...
ChromeCast: How does it work?
ChromeCast: How it works!
1.

Advertises ChromeCast

using SSDP (UDP Broadcast)

3.

!
!
Requests App and opens

WebSocket...
ChromeCast: How it works! II
5.

!
!
!
!
Sends request to play media

7.

!
!
!
!
!
6.
!
Media is downloaded/streamed

by ...
ChromeCast: DIAL
•

Protocol published by Netflix

•

Uses SSDP for Service Announcement

•

DIAL REST WebService for exch...
ChromeCast: DIAL
SSDP

Search

SSDP

Discovery

HTTP

Capabilities

HTTP

Start
ChromeCast: Sender App
Cast SDK available for


•








•

Needs Whitelisting with Google
ChromeCast: Receiver App
<html>
<script src="https://www.gstatic.com/cast/js/receiver/1.0/cast_receiver.js">
</script>
<sc...
ChromeCast is not just
for „streaming“ content.
It’s a remote controllable
Chrome Browser
running on your TV.
Part III: CheapCast*

* includes shameless plug
CheapCast all the Droids
•

Is an app that emulates a
ChromeCast (or Google Cast)
device on almost any Android
Device

•

...
CheapCast: Components
1st Screen Output

Receiver App

SSDP Service

WebView

DIAL REST WS
ChromeCast API Ext

Sender App
CheapCast: Use Cases
•

Start developing ChromeCast apps without owning

an actual ChromeCast Device

•

Turn one of your ...
CheapCast: Use Cases

Google Music

YouTube
CheapCast
CheapCast: OpenSource
https://github.com/mauimauer/cheapcast
Licensed under the Apache 2.0 License

MadeFp ature:
g eossib...
Demo
CheapCast: Get it now
Q&A
Chromecast, CheapCast and TV - DevFest Brussels 2013
Upcoming SlideShare
Loading in …5
×

Chromecast, CheapCast and TV - DevFest Brussels 2013

3,332 views

Published on

Is GoogleTV doomed? Will Chrome is in Chromecast?
Learn how Google's Chromecast works on the inside.

Published in: Technology, Business
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,332
On SlideShare
0
From Embeds
0
Number of Embeds
30
Actions
Shares
0
Downloads
125
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Chromecast, CheapCast and TV - DevFest Brussels 2013

  1. 1. Chromecast, Cheapcast and TV Sebastian Mauer GDG Aachen DevFest Brussels November 16th, 2013
  2. 2. This Presentation contains QR-Codes
  3. 3. Who am I? Sebastian Mauer GDG Aachen Co-Lead Software Engineer CS Student I don’t work for Google…yet
  4. 4. Part I: Google TV
  5. 5. GoogleTV • Google’s first attempt to „own“ the TV • Introduced at Google I/O 2010 • First Device, x86-based
 Logitech Revue • US only at launch
  6. 6. By the summer of 2012, the majority of the televisions you see in stores will have Google TV embedded. - Eric Schmidt at LeWeb 2011
  7. 7. leTV Goog http://9to5mac.com/2013/07/16/report-at-56-apple-tv-takes-majority-of-streaming-device-marketshare-in-2012/
  8. 8. Three Generations 1. Generation, late 2010
 based on Android 3.2 2. Generation, Summer 2012 based on Android 3.2 3. Generation, 2013
 probably on Android 4.2.2
  9. 9. GoogleTV: Pros • Part of the Android-family. • Deploying apps is easy™ (via Play Store) • Re-use most of your existing Android code
  10. 10. GoogleTV: Cons • Does not evolve as fast as mainline Android • Not many devices sold (500,000 - 1,000,000) • Late start in the European Union (2012)
  11. 11. Help me Android. You're my only hope
  12. 12. Part II: ChromeCast aka Google Cast Devices
  13. 13. • Model Number: H2G2-42 • It’s not based on ChromeOS • It’s based on Android
 and Chromium • It’s not going to kill GoogleTV http://www.ifixit.com/Teardown/Chromecast+Teardown/16069 ChromeCast: Hardware
  14. 14. ChromeCast: Pros • Very cheap hardware (35$) • Very easy to use (My Grandma can do it™) • Web Developers can easily write „Receiver“-Apps • Simple Protocol Stack
  15. 15. ChromeCast: Cons • Google Cast SDK is still a Developer Preview
 (read: things will break, things will change) • You have to manually whitelist
 all your apps with Google • It’s not officially released outside the U.S.
  16. 16. ChromeCast: Protocol Stack UDP • SSDP (Simple Service Discovery Protocol) • DIAL (DIscovery And Launch) • RAMP (Remote Application Media Protocol) • HTML5 & JS (You know that this is) • WebSockets (Bi-directional communication Browser<>WebApp) • WebRTC (Web Real Time Communication) WebTech
  17. 17. ChromeCast: How does it work?
  18. 18. ChromeCast: How it works! 1. Advertises ChromeCast
 using SSDP (UDP Broadcast) 3. ! ! Requests App and opens
 WebSocket connection 4. 2. ! Discovers Endpoints using DIAL ! ! ! CC fetches HTML5 based 1st Screen App (opens WebSocket)
  19. 19. ChromeCast: How it works! II 5. ! ! ! ! Sends request to play media 7. ! ! ! ! ! 6. ! Media is downloaded/streamed
 by ChromeCast device ! ! ! ! ! HTML5 app receives
 media request (WebSocket)
 starts fetching content.
  20. 20. ChromeCast: DIAL • Protocol published by Netflix • Uses SSDP for Service Announcement • DIAL REST WebService for exchanging
 Device capabilities and controlling
  21. 21. ChromeCast: DIAL SSDP Search SSDP Discovery HTTP Capabilities HTTP Start
  22. 22. ChromeCast: Sender App Cast SDK available for
 • 
 
 
 • Needs Whitelisting with Google
  23. 23. ChromeCast: Receiver App <html> <script src="https://www.gstatic.com/cast/js/receiver/1.0/cast_receiver.js"> </script> <script type="text/javascript"> ! ! ! ! var receiver = new cast.receiver.Receiver( 'App ID', [cast.receiver.RemoteMedia.NAMESPACE], "", 5); var remoteMedia = new cast.receiver.RemoteMedia(); remoteMedia.addChannelFactory( receiver.createChannelFactory(cast.receiver.RemoteMedia.NAMESPACE)); receiver.start(); window.addEventListener('load', function() { var elem = document.getElementById('vid'); remoteMedia.setMediaElement(elem); }); </script> <body> <video id="vid" style="position:absolute;top:0;left:0;height:100%;width:100%" /> </body> </html>
  24. 24. ChromeCast is not just for „streaming“ content.
  25. 25. It’s a remote controllable Chrome Browser running on your TV.
  26. 26. Part III: CheapCast* * includes shameless plug
  27. 27. CheapCast all the Droids • Is an app that emulates a ChromeCast (or Google Cast) device on almost any Android Device • Implements DIAL, RAMP/WS Proxy-ing • Does not care if your id is whitelisted or not. • Written by me
  28. 28. CheapCast: Components 1st Screen Output Receiver App SSDP Service WebView DIAL REST WS ChromeCast API Ext Sender App
  29. 29. CheapCast: Use Cases • Start developing ChromeCast apps without owning
 an actual ChromeCast Device • Turn one of your old Android-devices into a
 ChromeCast Dongle (connect via MHL<->HDMI) • Cast content from your Android Smartphone
 to your Android Tablet just for the hell of it.
  30. 30. CheapCast: Use Cases Google Music YouTube
  31. 31. CheapCast
  32. 32. CheapCast: OpenSource https://github.com/mauimauer/cheapcast Licensed under the Apache 2.0 License MadeFp ature: g eossible obyin c mC Up hng! iu ti rom m Cas Tab
  33. 33. Demo
  34. 34. CheapCast: Get it now
  35. 35. Q&A

×