Thasso Griebel, castLabs’ Lead Player Developer...Use the open-source Electron framework to...
Transcript of Thasso Griebel, castLabs’ Lead Player Developer...Use the open-source Electron framework to...
castLabs.com
Enabling Offline Protected Playback on Desktops
IBC 2017
Thasso Griebel, castLabs’ Lead Player Developer
castLabs.com
Why Offer Offline Playback?
© 2017 castLabs GmbH 2
Unreliable or slow internetinterrupting streams
Heading to areas without internet
Entertainment on the go
Allow customers to continue enjoying your service’s valuable content in a number of situations…
castLabs.com
Offline Playback Challenges
© 2017 castLabs GmbH 3
Handling DRMHandling content
Offline premium content playback on desktops present workflow challenges
castLabs.com
Offline Playback Challenges
© 2017 castLabs GmbH 4
Previously, offline premium content was mainly enabled through traditional plugin-based applications
Example: Silverlight®, Adobe® AIR®
But how can you offer this across desktops with current technologies?
castLabs.com
Content: The Challenge
© 2017 castLabs GmbH 5
Why can’t browsers do this?No API support for advanced local storage(Example: storing on external drives)
Need to download and store large content files securely
A stand-alone application solution can solve this!
castLabs.com
Content: The Solution (1/2)
© 2017 castLabs GmbH 6
Use the open-source Electron framework to develop stand-alone desktop playersVisit: electron.atom.io
Flexibility with file management
Develop branded apps for both Windows and Mac
Includes Chromium: build apps using web technologies!
Deployable to Mac App Store and Windows Store
castLabs.com
Simultaneous segment transfers for quick title downloads
Content: The Solution (2/2)
© 2017 castLabs GmbH 7
Use our open-source downloader library: DOWNstream for Electron
Available soon!
…now that you have an app environment, you need to enable downloading
Features Pause/resume transfer
Specify resolution, language, audio track, subtitle
castLabs.com
Content Formats Enabled
© 2017 castLabs GmbH 8
MPEG-DASH (DRM & clear)
Online PlaybackMPEG-DASH (DRM & clear)Smooth Streaming (DRM & clear)HLS (clear)
Offline Playback
Currently this technology supports:
castLabs.com
DRM: The Problem
© 2017 castLabs GmbH 9
If you deliver premium content, you have a DRM use-case
Out-of-the-box Electron/Chromium doesn’t support DRM
Need to locally store/use DRM licenses securely
castLabs.com
DRM: The Solution
© 2017 castLabs GmbH 10
Use our free custom-build of Electron enabling three elements to support DRM
Content Decryption Module (CDM)
Handles DRM licensing & content decryption
Available soon!
1
castLabs.com
DRM: The Solution
© 2017 castLabs GmbH 11
Use our free custom-build of Electron enabling three elements to support DRM
Verified Media Path (VMP)Only authorized components communicate with the Widevine CDM for extra protection(Example: protects against ‘MITM’ attacks)
Currently the only way to enable VMP with Electron
2
Available soon!
castLabs.com
Persistent sessions encrypt Widevine licenses for CDM to store
DRM: The Solution
© 2017 castLabs GmbH 12
‘Persistent sessions’ for Widevine
Securely manages protected storage & use of local DRM licenses
Uses proprietary algorithm where saved license data is locked to user’s specific device
Use our free custom-build of Electron enabling three elements to support DRM
3
Available soon!
castLabs.com
Playback Considerations
© 2017 castLabs GmbH 13
To facilitate playback, you will also need player logic
Needed to create/trigger the persistent sessions
Build this from scratch or we can help you implement this with an SDK
castLabs.com
Solution Architecture
© 2017 castLabs GmbH 14
Persistent sessions
Node server
Widevine CDM
VMP
DRM licensing server
Chromium(GUI)
Local file system
Electron
Downloader
Player component(persistent session
interface)
Content
Player developer
castLabs.com
Technology Recap
© 2017 castLabs GmbH 15
+ +FREE FREE
Tools available for creating standalone Windows and Mac apps
Lets you provide customers with DRM-enabled online & offline desktop playback
Do-it-yourself, or talk to us for a playback SDK
Custom Electron build(enabling DRM)
Open-source downloader for Electron
Player logiccomponent
castLabs.com© 2017 castLabs GmbH 16
Stop by to see a desktop demo in action!
Feature-rich player SDKs for Windows, Mac, Android, iOS, & browsers
Multi-DRM Licence Delivery Network
Booth 14.L02
DRMtodayPRESTOplay SDKs
Discover our solutions
Copy of slides available at: castlabs.com/ibc2017