Slide 1

Slide 1 text

1 Screencasting Rex Tsai [email protected] http://nutsfactory.net/ H4 @ MR Brown 2013-08-29 (2013-09-01 updated)

Slide 2

Slide 2 text

2 Screen mirroring solutions ● AirPlay ● mirroring standard for iOS. ● Miracast/WiDi ● RTP/RTSP ● Chromecast ● DIAL ● WebRTC

Slide 3

Slide 3 text

3 Apple AirPlay ● Wireless Media Streaming / Screen Mirroring Protocol for iOS ● Discovery – Bonjour / zeroconf ● AirPlay service / RAOP (Remote Audio Output Protocol) ● FairPlay for protect screen content and encrypted ● UDP-based, based on RTSP ● Codec - Apple Lossless codec with 44100 Hz and 2 channels and H264 ● Proprietary protocol, only license audio-streaming to 3rd partyies

Slide 4

Slide 4 text

4 Requirement for hacks ● Understand FairPlay / DRM for screen protection ● FairPlay DRM initiation - ‘/fp-setup’ ● Video steaming encryption ● AirTunes/AirPlay private/public RSA keys ● Implement the AirPlay receiver server

Slide 5

Slide 5 text

5 Commerical products of AirPlay mirroring ● James Laird reverse-engineered and released the private key ● VMLite rPlay for Raspberry Pi and Windows – http://www.youtube.com/watch?v=aviPOINM6Bk ● Electroniccolor - http://v.youku.com/v_show/id_XNTgwMjQzMTk2.html AirParrot - http://www.airsquirrels.com/airparrot/ ● AirServer - http://www.airserver.com/ ● Hacksugar: Live AirPlay mirroring to Mac from iOS | TUAW - The Unofficial Apple Weblog – http://www.tuaw.com/2012/02/08/hacksugar-live-airplay-mirroring-to-mac/

Slide 6

Slide 6 text

6 Micrast/Wireless Display ● Discovery - WiFi Direct (Layer 2 protocol) ● Media Protocol ● RTP ● RTSP ● Available ● Android 4.2 ● Windows client available from Intel ● Built-in in Windows 8.1 ● Wi-Fi Display Technical Specification 199USD

Slide 7

Slide 7 text

7

Slide 8

Slide 8 text

8

Slide 9

Slide 9 text

9

Slide 10

Slide 10 text

10

Slide 11

Slide 11 text

11 AOSP Miracast Sink ● Android 4.2 ● https://github.com/kensuke/How-to-Miracast-on-AOSP/wiki ● https://github.com/kensuke/ ● Demo - http://www.youtube.com/watch?v=KNEmaIr3FEg ● Possible to port this feature to Android dongle like mk802

Slide 12

Slide 12 text

12 Chromecast ● DIscovery And Launch http://www.dial-multiscreen.org/ ● Based on UpnP & REST ● WebRTC http://www.webrtc.org/ ● Support applications ● YouTube ● Netflix ● Google Play Music ● Google Play Movies & TV ● “Google Cast” Browser plugin available for Windows, Mac OS, Linux. https://chrome.google.com/webstore/detail/google-cast/boadgeojelhgndaghljhdicfkmllpafd ● Bootloader is hacked http://wiki.gtvhacker.com/index.php/Google_Chromecast#Bootloader_Exploit_Package ● Does not work in AP Isolation mode https://support.google.com/chromecast/answer/3213084?hl=en

Slide 13

Slide 13 text

13 Supported Media Types ● Video codecs: H.264 High Profile Level 4.1, 4.2 and 5, VP8 ● Audio decoding: HE-AAC, LC-AAC, CELT/OPUS, MP3 ● Containers: MP4/CENC, WebM, MPEG-DASH, SmoothStreaming ● Level 1 DRM support: Widevine, Playready https://developers.google.com/cast/supported_media_types

Slide 14

Slide 14 text

14

Slide 15

Slide 15 text

15

Slide 16

Slide 16 text

16 Chromecast clone Software ● SINK (Server) ● CheapCast - https://github.com/mauimauer/cheapcast – Supported Applications ● ChromeCast ● YouTube ● PlayMovies ● GoogleMusic ● GoogleCastSampleApp ● GoogleCastPlayer ● Fling ● TicTacToe – Unstable, Android's WebView does not work well on old device like mk802. ● SOURCE (Clients) ● AirCast ● RemoteCast

Slide 17

Slide 17 text

17 References ● Unofficial AirPlay Protocol Specification http://nto.github.io/AirPlay.html ● Wi-Fi Display Technical Specification v1.0.0 http://www.wi-fi.org/knowledge-center/published-specifications ● Stream Laptop Content over HDTV with Intel® Wireless Display https://www-ssl.intel.com/content/www/us/en/architecture-and-technology/intel-wireless-display.html ● https://www.wi-fi.org/sites/default/files/uploads/wp_Miracast_Industry_20120919.pdf ● DIAL-2ndScreenProtocol-1.6.4.pdf http://www.dial-multiscreen.org/dial-protocol-specification ● Google Cast API https://developers.google.com/cast/