screencasting
TRANSCRIPT
1
Screencasting
http://nutsfactory.net/H4 @ MR Brown
2013-08-29(2013-09-01 updated)
2
Screen mirroring solutions
● AirPlay● mirroring standard for iOS.
● Miracast/WiDi● RTP/RTSP
● Chromecast● DIAL● WebRTC
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
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
5
Commerical products ofAirPlay 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/
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
7
8
9
10
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
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
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
14
15
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
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/