Thasso Griebel, castLabs’ Lead Player Developer...Use the open-source Electron framework to...

16
Enabling Offline Protected Playback on Desktops IBC 2017 Thasso Griebel, castLabs’ Lead Player Developer

Transcript of Thasso Griebel, castLabs’ Lead Player Developer...Use the open-source Electron framework to...

Page 1: Thasso Griebel, castLabs’ Lead Player Developer...Use the open-source Electron framework to develop stand-alone desktop players Visit: electron.atom.io Flexibility with file management

castLabs.com

Enabling Offline Protected Playback on Desktops

IBC 2017

Thasso Griebel, castLabs’ Lead Player Developer

Page 2: Thasso Griebel, castLabs’ Lead Player Developer...Use the open-source Electron framework to develop stand-alone desktop players Visit: electron.atom.io Flexibility with file management

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…

Page 3: Thasso Griebel, castLabs’ Lead Player Developer...Use the open-source Electron framework to develop stand-alone desktop players Visit: electron.atom.io Flexibility with file management

castLabs.com

Offline Playback Challenges

© 2017 castLabs GmbH 3

Handling DRMHandling content

Offline premium content playback on desktops present workflow challenges

Page 4: Thasso Griebel, castLabs’ Lead Player Developer...Use the open-source Electron framework to develop stand-alone desktop players Visit: electron.atom.io Flexibility with file management

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?

Page 5: Thasso Griebel, castLabs’ Lead Player Developer...Use the open-source Electron framework to develop stand-alone desktop players Visit: electron.atom.io Flexibility with file management

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!

Page 6: Thasso Griebel, castLabs’ Lead Player Developer...Use the open-source Electron framework to develop stand-alone desktop players Visit: electron.atom.io Flexibility with file management

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

Page 7: Thasso Griebel, castLabs’ Lead Player Developer...Use the open-source Electron framework to develop stand-alone desktop players Visit: electron.atom.io Flexibility with file management

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

Page 8: Thasso Griebel, castLabs’ Lead Player Developer...Use the open-source Electron framework to develop stand-alone desktop players Visit: electron.atom.io Flexibility with file management

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:

Page 9: Thasso Griebel, castLabs’ Lead Player Developer...Use the open-source Electron framework to develop stand-alone desktop players Visit: electron.atom.io Flexibility with file management

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

Page 10: Thasso Griebel, castLabs’ Lead Player Developer...Use the open-source Electron framework to develop stand-alone desktop players Visit: electron.atom.io Flexibility with file management

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

Page 11: Thasso Griebel, castLabs’ Lead Player Developer...Use the open-source Electron framework to develop stand-alone desktop players Visit: electron.atom.io Flexibility with file management

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!

Page 12: Thasso Griebel, castLabs’ Lead Player Developer...Use the open-source Electron framework to develop stand-alone desktop players Visit: electron.atom.io Flexibility with file management

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!

Page 13: Thasso Griebel, castLabs’ Lead Player Developer...Use the open-source Electron framework to develop stand-alone desktop players Visit: electron.atom.io Flexibility with file management

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

Page 14: Thasso Griebel, castLabs’ Lead Player Developer...Use the open-source Electron framework to develop stand-alone desktop players Visit: electron.atom.io Flexibility with file management

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

Page 15: Thasso Griebel, castLabs’ Lead Player Developer...Use the open-source Electron framework to develop stand-alone desktop players Visit: electron.atom.io Flexibility with file management

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

Page 16: Thasso Griebel, castLabs’ Lead Player Developer...Use the open-source Electron framework to develop stand-alone desktop players Visit: electron.atom.io Flexibility with file management

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