HTML5 Premium Video Extensions

Total Page:16

File Type:pdf, Size:1020Kb

HTML5 Premium Video Extensions HTML5 Premium Video Extensions Presented by: Mark Vickers, Comcast 1 Why? The industry is on the cusp of a new mechanism for deploying DRM. (Until now, browsers have enabled DRM indirectly via Adobe’s Flash and Microsoft’s Silverlight products.) Mitchell Baker – Mozilla Foundation Chair Google, Microsoft and Apple have already implemented the new system. … the old system will be retired shortly … the new implementation will soon become the only way browsers can provide access to DRM-controlled content. Mitchell Baker 2 2 What? • Encrypted Media Extensions - DRM-agnostic premium video playback • Media Source Extensions - Use any adaptive delivery protocol • Web Cryptography API - Basic tools for service authentication, document or code signing, and the confidentiality and integrity of communications • Integrated with all of the other Web features 3 3 How? Web Page Video Manifest Content and Segments Server Adaptive Delivery Player License Acquisition License Request DRM License Authentication Server License Response Video Segments (MSE) Platform Key (Web Crypto) Authentication Request Browser License Protected Request Decryption Key (EME) MSO Subscriber Content Decryption Module Management 4 4 Browser EME Adoption ! ! " " 5 5 EME with MP4 & ISO Common Encryption " " $! *) ' ' ' $ $ $ $ $ % ! % ! % ! $ $ !! & % & ' ' " $! $ HTML4 Video HTML5 Video 6 6 Key Takeaways • Premium video support has come to the Web with standard interfaces for DRM, adaptive delivery and security features. • You can use them now on some platforms. • Supported (or will be) by major desktop & mobile browsers. • Supported by major Web video sites (e.g. Netflix, YouTube) • Eventually will replace the existing proprietary Web premium video packages. • Model can be used outside of browsers (e.g. native apps) 7 7 W3C Specifications • HTML5 • Encrypted Media Extensions Spec • Media Source Extensions Spec • Web Cryptography API Spec • ISO Common Encryption EME Stream Format and Initialization Data 8 8.
Recommended publications
  • The Guide to DRM. Everything You Need to Know About Digital Rights Management, How It Works and When It’S Required
    The Guide to DRM. Everything you need to know about Digital Rights Management, how it works and when it’s required. SHIFT72 | Online VIdeo Platform | White Paper WWW.SHIFT72.COM Table of contents About SHIFT72 ............................................................................................................................................................................ 1 What is DRM? .............................................................................................................................................................................2 How Does it Work? ...................................................................................................................................................................2 DRM Workflow ............................................................................................................................................................................ 3 The Need for Multiple DRM Encryptions ........................................................................................................................... 4 Not all Content Requires DRM .............................................................................................................................................. 4 Playback & Offline Viewing ....................................................................................................................................................5 Leading DRM Systems ............................................................................................................................................................5
    [Show full text]
  • Encoding H.264 Video for Streaming and Progressive Download
    W4: KEY ENCODING SKILLS, TECHNOLOGIES TECHNIQUES STREAMING MEDIA EAST - 2019 Jan Ozer www.streaminglearningcenter.com [email protected]/ 276-235-8542 @janozer Agenda • Introduction • Lesson 5: How to build encoding • Lesson 1: Delivering to Computers, ladder with objective quality metrics Mobile, OTT, and Smart TVs • Lesson 6: Current status of CMAF • Lesson 2: Codec review • Lesson 7: Delivering with dynamic • Lesson 3: Delivering HEVC over and static packaging HLS • Lesson 4: Per-title encoding Lesson 1: Delivering to Computers, Mobile, OTT, and Smart TVs • Computers • Mobile • OTT • Smart TVs Choosing an ABR Format for Computers • Can be DASH or HLS • Factors • Off-the-shelf player vendor (JW Player, Bitmovin, THEOPlayer, etc.) • Encoding/transcoding vendor Choosing an ABR Format for iOS • Native support (playback in the browser) • HTTP Live Streaming • Playback via an app • Any, including DASH, Smooth, HDS or RTMP Dynamic Streaming iOS Media Support Native App Codecs H.264 (High, Level 4.2), HEVC Any (Main10, Level 5 high) ABR formats HLS Any DRM FairPlay Any Captions CEA-608/708, WebVTT, IMSC1 Any HDR HDR10, DolbyVision ? http://bit.ly/hls_spec_2017 iOS Encoding Ladders H.264 HEVC http://bit.ly/hls_spec_2017 HEVC Hardware Support - iOS 3 % bit.ly/mobile_HEVC http://bit.ly/glob_med_2019 Android: Codec and ABR Format Support Codecs ABR VP8 (2.3+) • Multiple codecs and ABR H.264 (3+) HLS (3+) technologies • Serious cautions about HLS • DASH now close to 97% • HEVC VP9 (4.4+) DASH 4.4+ Via MSE • Main Profile Level 3 – mobile HEVC (5+)
    [Show full text]
  • Tr 126 907 V14.0.0 (2017-04)
    ETSI TR 126 907 V14.0.0 (2017-04) TECHNICAL REPORT Universal Mobile Telecommunications System (UMTS); LTE; HTML5 for a new presentation layer in 3GPP services (3GPP TR 26.907 version 14.0.0 Release 14) 3GPP TR 26.907 version 14.0.0 Release 14 1 ETSI TR 126 907 V14.0.0 (2017-04) Reference RTR/TSGS-0426907ve00 Keywords LTE,UMTS ETSI 650 Route des Lucioles F-06921 Sophia Antipolis Cedex - FRANCE Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16 Siret N° 348 623 562 00017 - NAF 742 C Association à but non lucratif enregistrée à la Sous-Préfecture de Grasse (06) N° 7803/88 Important notice The present document can be downloaded from: http://www.etsi.org/standards-search The present document may be made available in electronic versions and/or in print. The content of any electronic and/or print versions of the present document shall not be modified without the prior written authorization of ETSI. In case of any existing or perceived difference in contents between such versions and/or in print, the only prevailing document is the print of the Portable Document Format (PDF) version kept on a specific network drive within ETSI Secretariat. Users of the present document should be aware that the document may be subject to revision or change of status. Information on the current status of this and other ETSI documents is available at https://portal.etsi.org/TB/ETSIDeliverableStatus.aspx If you find errors in the present document, please send your comment to one of the following services: https://portal.etsi.org/People/CommiteeSupportStaff.aspx Copyright Notification No part may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying and microfilm except as authorized by written permission of ETSI.
    [Show full text]
  • Overview of Linaro
    HKG18-203: Overview of Linaro DRM Peter Griffin Agenda ● Linaro DRM ● Encrypted Media Extensions (EME) ● Content Decryption Modules (CDMs) ● Linux: ○ OpenCDM / CDMi architecture ○ Linaro CDMs ○ What’s new? ○ What’s left to do? ● Android: ○ ClearKey ○ Playready ○ Widevine ● Secure Data Path (SDP) Terminology ● EME Encrypted Media Extensions ● DRM Digital Rights Management ● CDM Content Decryption Module ● CENC Common Encryption ● Key System - A content protection (DRM) mechanism ● Widevine Google DRM key system ● Playready Microsoft DRM key system ● ClearKey key system using unencrypted key Linaro DRM ● Provide reference DRM integrations of PlayReady, Widevine and Clear Key to our members based on open source components for Linux & AOSP. ● Typically these components include: ○ ARM Trusted Firmware (ATF) ○ OP-TEE ○ EDK2/U-Boot ○ Linux (DRM/KMS, V4L2) ○ AOSP & ExoPlayer ○ Chromium ○ WPE, gstreamer Linaro DRM ● Linux ○ Focus on W3C EME integration with Chromium and WPE ○ Support OpenCDM for DRM interoperability ○ Support for PlayReady and ClearKey CDMs in Linux ● AOSP ○ Focus on DRM integration with AOSP mediadrm & mediacrypto [1] frameworks ○ Support Widevine, PlayReady and ClearKey TAs. ○ Using Exoplayer app for playback [1] https://developer.android.com/reference/android/media/MediaDrm.html Agenda ● Linaro DRM ● Encrypted Media Extensions (EME) ● Content Decryption Modules (CDMs) ● Linux: ○ OpenCDM / CDMi ○ Linaro CDMs ● AOSP: ○ ClearKey ○ Playready ○ Widevine ● Secure Data Path (SDP) Encrypted Media Extensions EME is a W3C proposed recommendation
    [Show full text]
  • WAVE Interoperability Boot Camp
    Thank You to Our Sponsors WAVE Interoperability Boot Camp October 2nd, 2018 Technology & Standards Forum | Los Angeles, CA AGENDA • Introduction to WAVE – Paul Hearty, Sony Electronics • Presentations: • WAVE Technical Overview – Will Law, Akamai • WAVE Content Specification – Mike Bergman, CTA • WAVE Applications Environment – Mark Vickers, Comcast • WAVE Device Playback Capabilities – Mike Bergman, CTA • WAVE Test Suites – Mike Bergman, CTA • Q&A/Wrap-up – Paul Hearty, Moderator Overview of the WAVE Project Paul Hearty / Sony Electronics, Inc. Introduction to WAVE • What are the problems WAVE is addressing? • What are the WAVE solutions? • WAVE participating companies • WAVE work structure Supporting a fragmented OTT world • Fragmentation impacts content providers and device makers: • Multiple streaming formats (HLS, HDS, DASH, Smooth) • Multiple device types from laptops to phones to gaming consoles • Inconsistent device performance capabilities • Inconsistent device compliance to industry specifications • The result: • Content providers: Increased cost to prepare, store and support OTT • Device makers: Increased test and support costs for devices Commercial OTT Video Issues: WAVE Solution Device Playback Device HTML5 Reference Content Capabilities Platform Content Specification Testable requirements Reference application • Based on MPEG Common • covering most common framework Media Application Format playback interoperability • Based on HTML5 (CMAF) issues. • Provides functional • Compatible with DASH and guidelines for playback HLS.
    [Show full text]
  • Specification for Devices 2020
    Certify Devices Specification for Devices 2020 Version: 4.20-r1 Date: 2019-12-19 Specification for Devices 2020, v4.20 © Vewd Software AS 2020. All rights reserved. _____________________________________________________________________________________ CONTENTS 1. REVISION HISTORY 2. INTRODUCTION 2.1. Scope 2.2. Versions for requirements and software 2.2.1. Backward compatibility 2.3. Definitions 2.4. Compliance terminology used in this document 2.4.1. REQUIRED and CONDITIONALLY REQUIRED features 2.4.1.1. DRM 2.4.1.2. Codecs and media formats 2.4.1.3. Keys on the remote control 2.4.1.4. Resolution 3. TECHNICAL REQUIREMENTS 3.1. HTML5 <video> and <audio> 3.1.1. Media element 3.1.1.1. Requirements for video and audio media elements 3.1.1.2. Requirements for video media elements 3.1.1.3. Codec support 3.1.2. Track element 3.1.2.1. Requirements for all track elements 3.1.2.2. Requirements for text track elements 3.2. Media streaming 3.2.1. Transport protocols 3.2.2. Progressive download 3.2.3. Adaptive Bitrate streaming protocols 3.2.3.1. Apple HTTP Live Streaming (HLS) 3.2.3.1.1. Restrictions for HLS content 3.2.3.2. MPEG-DASH 3.2.3.2.1. Restrictions for MPEG-DASH content 3.2.3.3. Microsoft Smooth Streaming (MSSS) 3.2.3.3.1. Restrictions for Smooth Streaming content 3.3. Media Source Extensions (MSE) 3.4. Subtitles and Closed Captioning 3.5. DRM 3.5.1. Content Decryption Modules (CDMs) 3.5.1.1. ClearKey 3.5.1.2.
    [Show full text]
  • Media Source Extensions
    static void _f_do_barnacle_install_properties(GObjectClass *gobject_class) { GParamSpec *pspec; Media Source Extensions /* Party code attribute */ pspec = g_param_spec_uint64 (F_DO_BARNACLE_CODE, "Barnacle code.", "Barnacle code", on WebKit using GStreamer 0, G_MAXUINT64, G_MAXUINT64 /* default value */, G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_PRIVATE); g_object_class_install_property (gobject_class, F_DO_BARNACLE_PROP_CODE, Enrique Ocaña González [email protected] Motivation for MSE ● HTML5 video tag: <video src=ºmovie.mp4º type=ºvideo/mp4º /> ● Improvement: Blob URI ● Adaptive streaming and time shift limitations ● Solution: Media Source Extensions (MSE) https://w3c.github.io/media-source/ ● JavaScript can generate and feed video data ● More control on the player state How to use MSE SourceBuffer ● Append API for JavaScript: Data... ● HTMLMediaElement, Blob SourceBuffer ● MediaSource, SourceBuffer MediaSource ● Blob URL {Audio,Video,Text}Track HTMLMediaElement <audio> <video> <video id="video"></video> MediaPlayer <script> var video = document.getElementById(©video©); var ms = new MediaSource(); ms.addEventListener(©sourceopen©, function() { var videoSb = ms.addSourceBuffer(©video/mp4; codecs="avc1.640028"©); var audioSb = ms.addSourceBuffer(©audio/mp4; codecs="mp4a.40.2"©); videoSb.appendData(...); audioSb.appendData(...); }); var blobUrl = URL.createObjectURL(ms); video.src = blobUrl; </script> Design PlatformTimeRanges m_mediaSource m_mediaElement MediaSource SourceBuffer PrivateClient PrivateClient MediaPlayer m_client MediaPlayerClient
    [Show full text]
  • Chrome Os Download Iso 32 Bit Is Chrome Os Free
    chrome os download iso 32 bit Is Chrome Os Free. What are Chromebooks. Chrome OS is the operating system that powers every Chromebook. Do more with apps. Chromebooks have access to a vast library of Google-approved apps. Google's Chrome OS is built on an open-source project named Chromium OS. Google doesn't offer builds of Chromium OS you can install yourself, but Neverware is a company that takes this open-source code and creates Neverware CloudReady. Chrome OS is made for Chromebooks that are designed to be lightweight and simple. Google does all of the updates. It's one of the simplest operating systems you can get. Chromium OS is an unofficial open-source version of Chrome OS, and it can work with all devices including Mac, Linux, and Windows. Neverware's CloudReady operating system enables schools and organizations to turn the computers they already own into Chrome devices and manage them alongside. Summary : Though the chrome OS is designed by Google for PC, it is not only available on desktop; actually, you can run the Google chrome OS in other ways, such as from a USB drive. The following content will tell you how to run the OS from external drive and how to distinguish if this OS is right for you. As an operating system designed by Google, the Chrome OS is produced on the basis of Linux kernel. The Google Chrome web browser is used as the main user interface in Chrome OS. Announced in July 2009, the Google Chrome OS is mainly used to support and run web applications.
    [Show full text]
  • Widevine DRM Architecture Overview
    Widevine DRM Architecture Overview Table of Contents Contact Widevine 4 Related Documentation 4 Widevine DRM Architecture Overview 5 Architecture Components List 5 Architecture Component Relationships 5 Components Overview 6 Common Encryption 6 Encrypted Media Extensions 6 Media Source Extensions 7 Dynamic Adaptive Streaming over HTTP 7 Bandwidth: Dynamic Adaptive Streaming 7 Transport: Streaming over HTTP 9 HLS Streaming 9 Media Packaging 9 License Server 9 Video Players 9 Content Decryption Module 9 OEMCrypto Module 10 Widevine DRM Security Model 10 Security Levels Provided by Widevine DRM 12 Security Level Definitions. 12 Security Level 1 12 Security Level 2 13 Security Level 3 13 Security Level for Widevine Devices 13 Shaka Packager 14 Packaging Steps 14 Working with Shaka Packager 15 Downloading Shaka Packager 15 Building Shaka Packager 15 Shaka Packager Community 16 ISO BMFF 16 Shaka HTML5 Video Player 16 DASH, CENC, EME, MSE Standards 16 Google - Confidential Version 1.2: March 6, 2017 Page 2 of 28 Player Components 16 Widevine License Server 17 Shaka Player Library 17 Encrypted Media Extensions 17 Media Source Extensions 17 Content Decryption Module 17 Component Stack for Shaka Player 17 Chrome Components Needed by Shaka Player 18 App Development with Shaka Player 18 Working with Shaka Player 19 Downloading Shaka 19 Shaka Requirements 19 Shaka Community 19 Building Shaka 19 Pre-compiled Builds 20 Test Application 20 Android Player for Widevine DRM 21 Components for Android in Widevine DRM 21 Native Android Application 22 ExoPlayer
    [Show full text]
  • Device Specification 2017
    Device Certification Program Device Specification 2017 Version: 4.10 Date: 2017-03-16 Opera TV Device Specification 2017, v4.10 © Opera TV AS 2017. All rights reserved. ______________________________________________________________________________________ CONTENTS 1. REVISION HISTORY 2. INTRODUCTION 2.1. Scope 2.2. Versions for requirements and software 2.2.1. Backward compatibility 2.3. Definitions 2.4. Compliance terminology used in this document 2.4.1. REQUIRED and CONDITIONALLY REQUIRED features 2.4.1.1. DRM 2.4.1.2. Codecs and media formats 2.4.1.3. Keys on the remote control 2.4.1.4. Resolution 3. TECHNICAL REQUIREMENTS 3.1. HTML5 <video> and <audio> 3.1.1. Media element 3.1.1.1. Requirements for video and audio media elements 3.1.1.2. Requirements for video media elements 3.1.1.3. Codec support 3.1.2. Track element 3.1.2.1. Requirements for all track elements 3.1.2.2. Requirements for text track elements 3.2. Media streaming 3.2.1. Transport protocols 3.2.2. Progressive download 3.2.3. Adaptive Bitrate streaming protocols 3.2.3.1. Apple HTTP Live Streaming (HLS) 3.2.3.1.1. Restrictions for HLS content 3.2.3.2. MPEG-DASH 3.2.3.2.1. Restrictions for MPEG-DASH content 3.2.3.3. Microsoft Smooth Streaming (MSSS) 3.2.3.3.1. Restrictions for Smooth Streaming content 3.3. Media Source Extensions (MSE) 3.4. Subtitles and Closed Captioning 3.5. DRM 3.5.1. Content Decryption Modules (CDMs) 3.5.1.1. ClearKey 3.5.1.2.
    [Show full text]
  • W2: Encoding 2017: Codecs & Packaging for Pcs, Mobile
    W2: ENCODING 2017: CODECS & PACKAGING FOR PCS, MOBILE, & OTT/STB/SMART TVS Jan Ozer www.streaminglearningcenter.com [email protected]/ 276-235-8542 @janozer Agenda •Fundamentals •Targeting your platforms •Producing and delivering your streams •Configuring your streams Shameless Plug • All tables from this book • Published 12/16 • Retail - $49.95 – print • PDF - $39.95 • Show special: • $40 • PDF included no extra charge • Limited supply available (only books bought at show) Fundamentals • Compression related • Delivery paradigms • Bitrate control (CBR/VBR) • I-, B-, and P-frames • Choosing a codec • Codecs/container formats Compression-Related Fundamentals • Delivery paradigms: Single vs. Adaptive Bitrate (ABR) • Bitrate control techniques • I-, B- and P-frames Adaptive Streaming • Adaptive streaming • Delivered adaptively based upon playback CPU and • Single input file (live or VOD) connection bandwidth • Encoded to multiple outputs • Technically complex, but optimizes experience across all platforms and connection types Illustration courtesy of www.bitmovin.net Single vs. Adaptive • Single file delivers inferior experience • Very simple to achieve via Gen 1 HTML5 (video tag) and support in mobile • This approach excludes adaptive, DRM, live, and advertising support • Resources: • Webinar: Distributing to Desktops and Mobile Devices via HTML5 (bit.ly/Ozer_MSE_EME) • Video tutorial: Supporting HTML5 with Flash Fallback in Squeeze 9 (bit.ly/squeeze_html5) • Our focus is on adaptive delivery ABR Technology Overview • Two types of systems
    [Show full text]
  • Hbbtv 2.0.3 Explained” Hbbtv Specification Naming
    What's new in the HbbTV Specification “HbbTV 2.0.3 Explained” HbbTV Specification Naming Informal Name Formal Name HbbTV 1.0 TS 102 796 V1.1.1 HbbTV 1.5 TS 102 796 V1.2.1 HbbTV 2.0 TS 102 796 V1.3.1 HbbTV 2.0.1 TS 102 796 V1.4.1 HbbTV 2.0.2 TS 102 796 V1.5.1 HbbTV 2.0.3 TS 102 796 V1.6.1 (tbc) ??? ??? HbbTV Association | Copyright © HbbTV 2 3 Elements to HbbTV 2.0.3 • Errata to HbbTV 2.0.1/2 – Fixing bugs in the spec • Updates to existing features – Goal for 2.0.3 was “low hanging fruit” that are easy to specify & test • No big new features – these were deferred to the next iteration – Critical updates already widely supported in practice – One small new feature • Removing unused and replaced features – Cannot keep adding features and never removing anything HbbTV Association | Copyright © HbbTV 3 What are Errata? • Fixes to bugs in the spec • HbbTV publishes >1 document for each errata – May be cosmetic release • Punctuation, cross-references, … – A list of the changes to the specification(s) – Might be language that’s unclear or hard to – A version of the specification(s) with the errata understand integrated & changes tracked – May be ambiguities • All HbbTV errata have an issue number • Something that can genuinely be interpreted in – Issue numbers can be used to cross-reference more than one way between the two documents – May be conflicts & inconsistencies – HbbTV members can use the number to lookup • Statements that actually say different things the discussion in our issue tracking system – Things that are hard or even impossible
    [Show full text]