SlideShare una empresa de Scribd logo
OTT STREAMING PROTOCOLS AND
DIGITAL RIGHTS MANAGEMENT (DRM)
MUHAMMED ASIM YILDIZ
WHAT IS A STREAMING PROTOCOL?
 A Streaming Protocol is:
 A standardized delivery method for breaking video into chunks
 Sending it to the viewer
 Reassembling it on the viewer
WHY NEED STREAMING PROTOCOLS?
 Most digital video is designed for:
 Storage (small file sizes)
 Playback (universal playback)
 Most standart video formats are not designed for streaming
 In order to stream a video:
 Video needs to be converted to a streamable file
 A streamable file consists of chunks
 These chunks arrive sequentially and playback as recevied
STREAMING PROTOCOLS ADVANTAGES
 Streaming protocols can get much more complex
 Many are “adaptive bitrate” protocols
 Deliver the best quality that a viewer can support at any given time
 Some protocols focus on “reducing latency”
 Some protocols “delay” between an event and viewer
 Some protocols focus on “DRM”
 Some protocols work only on certain systems
PROTOCOL – CODEC – CONTAINER FORMAT
 Codec refers to “Video Compression Technology”
 Different codecs are used for different purposes
 For example:
 Apple ProRes is often used for video editing
 H.264 is widely used for online video
PROTOCOL – CODEC – CONTAINER FORMAT
 Format simply refers to container format of a video file
 .mp4, .m4v, .avi, .mkv
 A container format is like a “box” that contains:
 A video file
 An audio file
 Metadata
 Container format isn’t a central concept for live streamers
STREAMING IN REAL-LIFE
 Imagine that you’re a merchant, and you’re transporting clothing in bulk
 The clothing represents the video content
 The streaming codec is the machine that compresses the clothing into a bundle to save space
 The container format is the boxcar that these bundles are packed inside
 The streaming protocol is analogous to the railroad tracks, signals, and drivers who deliver it to the
destination
STREAMING IN OTT
 Generate multiple versions of the same content (e.g. different bitrates, spatial resolutions)
 Chop these versions into segments (e.g. two seconds)
 The segments are stored in a web-server and can be downloaded with HTTP GET requests
 The relationships between different versions is described by a manifest file
 The manifest file is provided to the client prior to the streaming session
 Manifest represents different qualities of the media content
 Manifest has individual segments of each quality with URLs
 This structure allows to bind to segments to the bitrate, among others (start time, duration of segments)
STREAMING PROTOCOLS
 HTTP LIVE STREAMING (HLS)
 DYNAMIC ADAPTIVE STREAMING over HTTP (MPEG-DASH)
 MICROSOFT SMOOTH STREAMING (MSS)
 REAL-TIME MESSAGING PROTOCOL (RTMP)
 WEB-RTC
 SECURE RELIABLE TRANSPORT (SRT)
 REAL-TIME STREAMING PROTOCOL (RTSP)
HTTP LIVE STREAMING
HLS
 Apple created it in 2009
 Built to drop Flash from iPhones
 Supported by:
 Desktop browsers
 Smart TVs
 Android and iOS mobile devices
 HTML5 players also natively supports
HTTP LIVE STREAMING
HLS
 HLS supports:
 Adaptive-bitrate streaming (High Quality)
 Supports the common H.264 codec
 Supports latest H.265 codec
 Secure streaming
 The major downside is high latency
DYNAMIC ADAPTIVE STREAMING OVER HTTP
MPEG-DASH
 The only international standardized solution
 Created in 2012
 Currently adopted by YouTube, Netflix etc.
 Most big companies have contributed to standardization
DYNAMIC ADAPTIVE STREAMING OVER HTTP
MPEG-DASH
 MPEG-DASH supports:
 Adaptive-bitrate streaming (High Quality)
 Codec agnostic (can be used with almost any streaming encoding)
 It supports standards-based APIs for browser based DRMs:
 Encrypted Media Extensions (EME)
 Media Source Extensions (MSE)
 The major downside is no compatibility with Apple Devices/iOS
MICROSOFT SMOOTH STREAMING
MSS
 Microsoft created it in 2008
 Targeting the smooth delivery of HD contents over IIS
 Based on fragmented MP4 files
MICROSOFT SMOOTH STREAMING
MSS
 MSS supports:
 Adaptive-bitrate streaming (High Quality)
 Includes CPU utilization for adaptive-bitrate streaming
 Supports the common H.264 codec
 The major downside is MSS limits the use of Smooth Streaming to CDNs using Microsoft Products
STREAMING
COMPARISO
N
STREAMING
COMPARISO
N
STREAMING
COMPARISO
N
DIGITAL RIGHTS MANAGEMENT
DRM
 DRM refers to the algorithms and processes
 DRM enforces copyright compliance when consuming video content
 Without DRM, content can be easily copied
 DRM is not visible to the consumers
 DRM is also used offline to provide copyright protection for CDs, DVDs, and BluRays
DRM TECHNOLOGIES
 Fairplay: Cipher Block Chaining encryption
 The only option for Safari and is only used by Apple devices
 Widevine: Developed by Widevine Technologies, bought by Google
 Used on Android Devices natively, in Chrome, Edge (soon), Roku, Smart TVs
 PlayReady: developed and maintained by Microsoft
 Supported on Windows, most set-top boxes and TVs
DRM
TECHNOLOGIES
DRM
TECHNOLOGIES
DRM IN REAL
LIFE?
DRM IN OTT?
DRM ENCRYPTION KEYWORDS
COMMON MEDIA APPLICATION FORMAT (CMAF)
 There are primarily two protocols in use today – MPEG-DASH and HLS
 MPEG-DASH uses the mp4 container and HLS uses the MPEG-TS (ts) container for its video files
 Duplicate contents (doubled storage size)
 When also adding DRM
 If we use the 3 hypothetical DRM providers with 3 different encryption standard, then we need 2*3=6 copies of
the video
 The CMAF specification was created
 Store files in the fragmented mp4 container format (fmp4)
 With support from both MPEG-DASH and HLS, we now create only one set of videos, store it in fmp4 format
DRM ENCRYPTION KEYWORDS
COMMON ENCRYPTION SPECIFICATION (CENC)
 If different DRM technologies use different encryption standards
 We still need to store multiple copies of each file
 For this purpose, the MPEG developed the CNEC
 Videos can be encrypted using either CENC (AES-128 Counter-CTR) or CBCS (AES-128 Cipher Block Chaining-CBC)
 The implication of CENC
 A content provider needs to encrypt videos only once and any decryption module can decrypt it
 Note: Exposing the encryption algorithm is not a problem as long as the keys are strongly protected.
DRM ENCRYPTION KEYWORDS
ADVANCED ENCRYPTION STANDARD (AES)
 AES is a symmetric-key algorithm: encryption and decryption are performed using the same key
 It has three variants based on the key-length:
 128, 192, and 256 bits. The longer the key, the harder it is to crack.
 Cracking the AES-128 without the key would require a “billion times a billion years” and a super-
computer
HOW DRM WORKS?
ENCRYPTION
 Communications between the requesting playback software and the license server are encrypted
 Each segment is encrypted according to the MPEG Common Encryption (CENC) specification
 The MPEG-CENC standard is comprised of XML style formats
 The MPEG-CENC standard requires a minimum of a key and key id to run
 Standard content encryption is done according to the Advanced Encryption Standard (AES)
 Using 128-bit keys and a Cipher Block
 Cipher block is either Counter Mode (CTR) or Cipher Block Chaining (CBC)
 Only the audio and video data within a segment is encrypted
DRM DECRYPTION KEYWORDS
ENCRYPTED MEDIA EXTENSIONS (EME)
 Encrypted Media Extensions (EME) is a JavaScript API
 EME is an extension to the HTMLMediaElement specification
 EME provides an API that enables web applications to interact with content protection systems
 EME allows playback of encrypted audio and video
 EME is designed to enable the same app and encrypted files to be used in any browser, regardless of the
underlying protection system
DRM DECRYPTION KEYWORDS
CONTENT DECRYPTION MODULE (CDM)
 Content Decryption Module (CDM) is a software that decrypts and optionally, decodes + displays the
video.
 Every DRM provider provides its own:
 Mechanism to create a license request (using the KeyID, device identifier, signing the request, etc.)
 Mechanism to understand the license response received from the DRM License Server (the response is encrypted
too) and extract the decryption key
 Rules around storing the license locally on the client, license renewal, expiry, etc
 CDMs (Content Decryption Modules) is built into browsers such as Chrome, Firefox, Microsoft Edge,
Safari
DRM FLOW
 Obtain the movie & its manifest from the CDN
 Extract the KeyID from the manifest
 Create the license request
 Send the license request to the license server
 Wait, listen, and receive the response from the license server.
 Use the decryption key from the server to decrypt the content
 Decode the decrypted content
 Display the decoded movie
HOW DRM WORKS?
DECRYPTION
 When a web player identifies protected content:
 It calls on processes and interfaces defined by Encrypted Media Extensions (EME)
 Browsers will initiate a license request process
 License requests are generated by Content Decryption Module (CDM )(all of the decryption is done by
CDM)
 Passed to the players through the EME (EME is just simply an interface)
 The player calls the appropriate function on the EME interface
 Then the sessions are updated by the CDM
 The EME interfaces with the CDM handles the decryption of the segments on browser or OS level
HOW DRM WORKS?
CLIENT-SIDE
 The license acquisition using the EME starts from the playback client
 Creating a key session unique to the client, device, and the metadata found in the segments
 The CDM then generates a signed key message.
 The client then sends then secured message to the license server
 The license server returns the requested license
 With the resulting decision of whether or not the client is granted playback rights to the requested content
 If not, playback is halted and an error is shown.
 In successful communications scenarios, the client updates the session data with a returned license
 The content decryption is handled fully by the CDM
 In some circumstances, the license is cached for a set time and can be used to playback protected content offline
 The license and the decrypted data must not be accessible to clients other than the licensed content requester
 Therefore, the private keys and decrypted data are kept in a secure environment within the browser, operating system, and hardware
(if supported), like Trusted Execution Environments.
THANK YOU MUHAMMED ASIM YILDIZ

Más contenido relacionado

La actualidad más candente

Linux Kernel Overview
Linux Kernel OverviewLinux Kernel Overview
Linux Kernel Overview
Anil Kumar Pugalia
 
Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)
Emertxe Information Technologies Pvt Ltd
 
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
Nanik Tolaram
 
Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...
SZ Lin
 
Automotive embedded systems part6 v1
Automotive embedded systems part6 v1Automotive embedded systems part6 v1
Automotive embedded systems part6 v1
Keroles karam khalil
 
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Linaro
 
Linux Kernel MMC Storage driver Overview
Linux Kernel MMC Storage driver OverviewLinux Kernel MMC Storage driver Overview
Linux Kernel MMC Storage driver Overview
RajKumar Rampelli
 
Bluestore
BluestoreBluestore
Bluestore
Patrick McGarry
 
OpenStack with SR-IOV
OpenStack with SR-IOVOpenStack with SR-IOV
OpenStack with SR-IOV
Hideki Saito
 
Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_
Linaro
 
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
The Linux Foundation
 
File systems for Embedded Linux
File systems for Embedded LinuxFile systems for Embedded Linux
File systems for Embedded Linux
Emertxe Information Technologies Pvt Ltd
 
Android Audio System
Android Audio SystemAndroid Audio System
Android Audio System
Yi-Hsiang Huang
 
Converging CAS and DRM, David Bouteruche from Nagra
Converging CAS and DRM, David Bouteruche from NagraConverging CAS and DRM, David Bouteruche from Nagra
Converging CAS and DRM, David Bouteruche from Nagra
Justindwah
 
LAS16-307: Benchmarking Schedutil in Android
LAS16-307: Benchmarking Schedutil in AndroidLAS16-307: Benchmarking Schedutil in Android
LAS16-307: Benchmarking Schedutil in Android
Linaro
 
ALSS14: Xen Project Automotive Hypervisor (Demo)
ALSS14: Xen Project Automotive Hypervisor (Demo)ALSS14: Xen Project Automotive Hypervisor (Demo)
ALSS14: Xen Project Automotive Hypervisor (Demo)
The Linux Foundation
 
Embedded Android : System Development - Part III
Embedded Android : System Development - Part IIIEmbedded Android : System Development - Part III
Embedded Android : System Development - Part III
Emertxe Information Technologies Pvt Ltd
 
Root file system for embedded systems
Root file system for embedded systemsRoot file system for embedded systems
Root file system for embedded systems
alok pal
 
Study on Android Emulator
Study on Android EmulatorStudy on Android Emulator
Study on Android Emulator
Samael Wang
 
Android booting sequece and setup and debugging
Android booting sequece and setup and debuggingAndroid booting sequece and setup and debugging
Android booting sequece and setup and debugging
Utkarsh Mankad
 

La actualidad más candente (20)

Linux Kernel Overview
Linux Kernel OverviewLinux Kernel Overview
Linux Kernel Overview
 
Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)
 
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
 
Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...
 
Automotive embedded systems part6 v1
Automotive embedded systems part6 v1Automotive embedded systems part6 v1
Automotive embedded systems part6 v1
 
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
 
Linux Kernel MMC Storage driver Overview
Linux Kernel MMC Storage driver OverviewLinux Kernel MMC Storage driver Overview
Linux Kernel MMC Storage driver Overview
 
Bluestore
BluestoreBluestore
Bluestore
 
OpenStack with SR-IOV
OpenStack with SR-IOVOpenStack with SR-IOV
OpenStack with SR-IOV
 
Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_
 
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
 
File systems for Embedded Linux
File systems for Embedded LinuxFile systems for Embedded Linux
File systems for Embedded Linux
 
Android Audio System
Android Audio SystemAndroid Audio System
Android Audio System
 
Converging CAS and DRM, David Bouteruche from Nagra
Converging CAS and DRM, David Bouteruche from NagraConverging CAS and DRM, David Bouteruche from Nagra
Converging CAS and DRM, David Bouteruche from Nagra
 
LAS16-307: Benchmarking Schedutil in Android
LAS16-307: Benchmarking Schedutil in AndroidLAS16-307: Benchmarking Schedutil in Android
LAS16-307: Benchmarking Schedutil in Android
 
ALSS14: Xen Project Automotive Hypervisor (Demo)
ALSS14: Xen Project Automotive Hypervisor (Demo)ALSS14: Xen Project Automotive Hypervisor (Demo)
ALSS14: Xen Project Automotive Hypervisor (Demo)
 
Embedded Android : System Development - Part III
Embedded Android : System Development - Part IIIEmbedded Android : System Development - Part III
Embedded Android : System Development - Part III
 
Root file system for embedded systems
Root file system for embedded systemsRoot file system for embedded systems
Root file system for embedded systems
 
Study on Android Emulator
Study on Android EmulatorStudy on Android Emulator
Study on Android Emulator
 
Android booting sequece and setup and debugging
Android booting sequece and setup and debuggingAndroid booting sequece and setup and debugging
Android booting sequece and setup and debugging
 

Similar a Ott Streaming Protocols and DRM

Slide
SlideSlide
Slide
Videoguy
 
Digital Rights Management in Websites.pptx
Digital Rights Management in Websites.pptxDigital Rights Management in Websites.pptx
Digital Rights Management in Websites.pptx
Lahiru Jayakody
 
1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf
1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf
1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf
AliIssa53
 
Videostream compression in iOS
Videostream compression in iOSVideostream compression in iOS
Videostream compression in iOS
*instinctools
 
4 multimedia elements - video
4   multimedia elements - video4   multimedia elements - video
4 multimedia elements - video
Kelly Bauer
 
Windows7: Video Improvements
Windows7: Video ImprovementsWindows7: Video Improvements
Windows7: Video Improvements
wonderu
 
WEEK 1
WEEK 1WEEK 1
WEEK 1
Videoguy
 
FMS 3.5
FMS 3.5FMS 3.5
FMS 3.5
Daniel Ramos
 
Codecs
CodecsCodecs
Codecs
Arpan Patel
 
An Introduction to castLabs
An Introduction to castLabs An Introduction to castLabs
An Introduction to castLabs
JamesHynard1
 
Video Streaming - 4.ppt
Video Streaming - 4.pptVideo Streaming - 4.ppt
Video Streaming - 4.ppt
Videoguy
 
CommTech Talks: Challenges for Video on Demand (VoD) services
CommTech Talks: Challenges for Video on Demand (VoD) servicesCommTech Talks: Challenges for Video on Demand (VoD) services
CommTech Talks: Challenges for Video on Demand (VoD) services
Antonio Capone
 
DRM Basics With Irdeto and Bitmovin
DRM Basics With Irdeto and BitmovinDRM Basics With Irdeto and Bitmovin
DRM Basics With Irdeto and Bitmovin
Bitmovin Inc
 
Mips track a
Mips   track aMips   track a
Mips track a
Alona Gradman
 
Azure media services
Azure media servicesAzure media services
Azure media services
Raju Kumar
 
Media Encoding
Media Encoding Media Encoding
Media Encoding
Phillip Doyle
 
Video compression
Video compressionVideo compression
Video compression
DarkNight14
 
Azure Media Services Step-by-Step Tutorial Docs Series - Part 6
Azure Media Services   Step-by-Step Tutorial Docs Series - Part 6Azure Media Services   Step-by-Step Tutorial Docs Series - Part 6
Azure Media Services Step-by-Step Tutorial Docs Series - Part 6
Shige Fukushima
 
video compression2
video compression2video compression2
video compression2
aniruddh Tyagi
 
video compression2
video compression2video compression2
video compression2
Aniruddh Tyagi
 

Similar a Ott Streaming Protocols and DRM (20)

Slide
SlideSlide
Slide
 
Digital Rights Management in Websites.pptx
Digital Rights Management in Websites.pptxDigital Rights Management in Websites.pptx
Digital Rights Management in Websites.pptx
 
1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf
1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf
1_MWS2018_Tutorial1_Pham_Internet Delivered Media.pdf
 
Videostream compression in iOS
Videostream compression in iOSVideostream compression in iOS
Videostream compression in iOS
 
4 multimedia elements - video
4   multimedia elements - video4   multimedia elements - video
4 multimedia elements - video
 
Windows7: Video Improvements
Windows7: Video ImprovementsWindows7: Video Improvements
Windows7: Video Improvements
 
WEEK 1
WEEK 1WEEK 1
WEEK 1
 
FMS 3.5
FMS 3.5FMS 3.5
FMS 3.5
 
Codecs
CodecsCodecs
Codecs
 
An Introduction to castLabs
An Introduction to castLabs An Introduction to castLabs
An Introduction to castLabs
 
Video Streaming - 4.ppt
Video Streaming - 4.pptVideo Streaming - 4.ppt
Video Streaming - 4.ppt
 
CommTech Talks: Challenges for Video on Demand (VoD) services
CommTech Talks: Challenges for Video on Demand (VoD) servicesCommTech Talks: Challenges for Video on Demand (VoD) services
CommTech Talks: Challenges for Video on Demand (VoD) services
 
DRM Basics With Irdeto and Bitmovin
DRM Basics With Irdeto and BitmovinDRM Basics With Irdeto and Bitmovin
DRM Basics With Irdeto and Bitmovin
 
Mips track a
Mips   track aMips   track a
Mips track a
 
Azure media services
Azure media servicesAzure media services
Azure media services
 
Media Encoding
Media Encoding Media Encoding
Media Encoding
 
Video compression
Video compressionVideo compression
Video compression
 
Azure Media Services Step-by-Step Tutorial Docs Series - Part 6
Azure Media Services   Step-by-Step Tutorial Docs Series - Part 6Azure Media Services   Step-by-Step Tutorial Docs Series - Part 6
Azure Media Services Step-by-Step Tutorial Docs Series - Part 6
 
video compression2
video compression2video compression2
video compression2
 
video compression2
video compression2video compression2
video compression2
 

Más de ASIMYILDIZ

Javascript on Server-Side
Javascript on Server-SideJavascript on Server-Side
Javascript on Server-Side
ASIMYILDIZ
 
Software Design Principles (SOLID)
Software Design Principles (SOLID)Software Design Principles (SOLID)
Software Design Principles (SOLID)
ASIMYILDIZ
 
Redux Thunk
Redux ThunkRedux Thunk
Redux Thunk
ASIMYILDIZ
 
React Native
React NativeReact Native
React Native
ASIMYILDIZ
 
Major Programming Paradigms
Major Programming ParadigmsMajor Programming Paradigms
Major Programming Paradigms
ASIMYILDIZ
 
Temiz Kod
Temiz KodTemiz Kod
Temiz Kod
ASIMYILDIZ
 

Más de ASIMYILDIZ (6)

Javascript on Server-Side
Javascript on Server-SideJavascript on Server-Side
Javascript on Server-Side
 
Software Design Principles (SOLID)
Software Design Principles (SOLID)Software Design Principles (SOLID)
Software Design Principles (SOLID)
 
Redux Thunk
Redux ThunkRedux Thunk
Redux Thunk
 
React Native
React NativeReact Native
React Native
 
Major Programming Paradigms
Major Programming ParadigmsMajor Programming Paradigms
Major Programming Paradigms
 
Temiz Kod
Temiz KodTemiz Kod
Temiz Kod
 

Último

一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
sjcobrien
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 

Último (20)

一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 

Ott Streaming Protocols and DRM

  • 1. OTT STREAMING PROTOCOLS AND DIGITAL RIGHTS MANAGEMENT (DRM) MUHAMMED ASIM YILDIZ
  • 2. WHAT IS A STREAMING PROTOCOL?  A Streaming Protocol is:  A standardized delivery method for breaking video into chunks  Sending it to the viewer  Reassembling it on the viewer
  • 3. WHY NEED STREAMING PROTOCOLS?  Most digital video is designed for:  Storage (small file sizes)  Playback (universal playback)  Most standart video formats are not designed for streaming  In order to stream a video:  Video needs to be converted to a streamable file  A streamable file consists of chunks  These chunks arrive sequentially and playback as recevied
  • 4. STREAMING PROTOCOLS ADVANTAGES  Streaming protocols can get much more complex  Many are “adaptive bitrate” protocols  Deliver the best quality that a viewer can support at any given time  Some protocols focus on “reducing latency”  Some protocols “delay” between an event and viewer  Some protocols focus on “DRM”  Some protocols work only on certain systems
  • 5. PROTOCOL – CODEC – CONTAINER FORMAT  Codec refers to “Video Compression Technology”  Different codecs are used for different purposes  For example:  Apple ProRes is often used for video editing  H.264 is widely used for online video
  • 6. PROTOCOL – CODEC – CONTAINER FORMAT  Format simply refers to container format of a video file  .mp4, .m4v, .avi, .mkv  A container format is like a “box” that contains:  A video file  An audio file  Metadata  Container format isn’t a central concept for live streamers
  • 7. STREAMING IN REAL-LIFE  Imagine that you’re a merchant, and you’re transporting clothing in bulk  The clothing represents the video content  The streaming codec is the machine that compresses the clothing into a bundle to save space  The container format is the boxcar that these bundles are packed inside  The streaming protocol is analogous to the railroad tracks, signals, and drivers who deliver it to the destination
  • 8. STREAMING IN OTT  Generate multiple versions of the same content (e.g. different bitrates, spatial resolutions)  Chop these versions into segments (e.g. two seconds)  The segments are stored in a web-server and can be downloaded with HTTP GET requests  The relationships between different versions is described by a manifest file  The manifest file is provided to the client prior to the streaming session  Manifest represents different qualities of the media content  Manifest has individual segments of each quality with URLs  This structure allows to bind to segments to the bitrate, among others (start time, duration of segments)
  • 9. STREAMING PROTOCOLS  HTTP LIVE STREAMING (HLS)  DYNAMIC ADAPTIVE STREAMING over HTTP (MPEG-DASH)  MICROSOFT SMOOTH STREAMING (MSS)  REAL-TIME MESSAGING PROTOCOL (RTMP)  WEB-RTC  SECURE RELIABLE TRANSPORT (SRT)  REAL-TIME STREAMING PROTOCOL (RTSP)
  • 10. HTTP LIVE STREAMING HLS  Apple created it in 2009  Built to drop Flash from iPhones  Supported by:  Desktop browsers  Smart TVs  Android and iOS mobile devices  HTML5 players also natively supports
  • 11. HTTP LIVE STREAMING HLS  HLS supports:  Adaptive-bitrate streaming (High Quality)  Supports the common H.264 codec  Supports latest H.265 codec  Secure streaming  The major downside is high latency
  • 12. DYNAMIC ADAPTIVE STREAMING OVER HTTP MPEG-DASH  The only international standardized solution  Created in 2012  Currently adopted by YouTube, Netflix etc.  Most big companies have contributed to standardization
  • 13. DYNAMIC ADAPTIVE STREAMING OVER HTTP MPEG-DASH  MPEG-DASH supports:  Adaptive-bitrate streaming (High Quality)  Codec agnostic (can be used with almost any streaming encoding)  It supports standards-based APIs for browser based DRMs:  Encrypted Media Extensions (EME)  Media Source Extensions (MSE)  The major downside is no compatibility with Apple Devices/iOS
  • 14. MICROSOFT SMOOTH STREAMING MSS  Microsoft created it in 2008  Targeting the smooth delivery of HD contents over IIS  Based on fragmented MP4 files
  • 15. MICROSOFT SMOOTH STREAMING MSS  MSS supports:  Adaptive-bitrate streaming (High Quality)  Includes CPU utilization for adaptive-bitrate streaming  Supports the common H.264 codec  The major downside is MSS limits the use of Smooth Streaming to CDNs using Microsoft Products
  • 19. DIGITAL RIGHTS MANAGEMENT DRM  DRM refers to the algorithms and processes  DRM enforces copyright compliance when consuming video content  Without DRM, content can be easily copied  DRM is not visible to the consumers  DRM is also used offline to provide copyright protection for CDs, DVDs, and BluRays
  • 20. DRM TECHNOLOGIES  Fairplay: Cipher Block Chaining encryption  The only option for Safari and is only used by Apple devices  Widevine: Developed by Widevine Technologies, bought by Google  Used on Android Devices natively, in Chrome, Edge (soon), Roku, Smart TVs  PlayReady: developed and maintained by Microsoft  Supported on Windows, most set-top boxes and TVs
  • 25.
  • 26.
  • 27. DRM ENCRYPTION KEYWORDS COMMON MEDIA APPLICATION FORMAT (CMAF)  There are primarily two protocols in use today – MPEG-DASH and HLS  MPEG-DASH uses the mp4 container and HLS uses the MPEG-TS (ts) container for its video files  Duplicate contents (doubled storage size)  When also adding DRM  If we use the 3 hypothetical DRM providers with 3 different encryption standard, then we need 2*3=6 copies of the video  The CMAF specification was created  Store files in the fragmented mp4 container format (fmp4)  With support from both MPEG-DASH and HLS, we now create only one set of videos, store it in fmp4 format
  • 28. DRM ENCRYPTION KEYWORDS COMMON ENCRYPTION SPECIFICATION (CENC)  If different DRM technologies use different encryption standards  We still need to store multiple copies of each file  For this purpose, the MPEG developed the CNEC  Videos can be encrypted using either CENC (AES-128 Counter-CTR) or CBCS (AES-128 Cipher Block Chaining-CBC)  The implication of CENC  A content provider needs to encrypt videos only once and any decryption module can decrypt it  Note: Exposing the encryption algorithm is not a problem as long as the keys are strongly protected.
  • 29. DRM ENCRYPTION KEYWORDS ADVANCED ENCRYPTION STANDARD (AES)  AES is a symmetric-key algorithm: encryption and decryption are performed using the same key  It has three variants based on the key-length:  128, 192, and 256 bits. The longer the key, the harder it is to crack.  Cracking the AES-128 without the key would require a “billion times a billion years” and a super- computer
  • 30. HOW DRM WORKS? ENCRYPTION  Communications between the requesting playback software and the license server are encrypted  Each segment is encrypted according to the MPEG Common Encryption (CENC) specification  The MPEG-CENC standard is comprised of XML style formats  The MPEG-CENC standard requires a minimum of a key and key id to run  Standard content encryption is done according to the Advanced Encryption Standard (AES)  Using 128-bit keys and a Cipher Block  Cipher block is either Counter Mode (CTR) or Cipher Block Chaining (CBC)  Only the audio and video data within a segment is encrypted
  • 31.
  • 32. DRM DECRYPTION KEYWORDS ENCRYPTED MEDIA EXTENSIONS (EME)  Encrypted Media Extensions (EME) is a JavaScript API  EME is an extension to the HTMLMediaElement specification  EME provides an API that enables web applications to interact with content protection systems  EME allows playback of encrypted audio and video  EME is designed to enable the same app and encrypted files to be used in any browser, regardless of the underlying protection system
  • 33. DRM DECRYPTION KEYWORDS CONTENT DECRYPTION MODULE (CDM)  Content Decryption Module (CDM) is a software that decrypts and optionally, decodes + displays the video.  Every DRM provider provides its own:  Mechanism to create a license request (using the KeyID, device identifier, signing the request, etc.)  Mechanism to understand the license response received from the DRM License Server (the response is encrypted too) and extract the decryption key  Rules around storing the license locally on the client, license renewal, expiry, etc  CDMs (Content Decryption Modules) is built into browsers such as Chrome, Firefox, Microsoft Edge, Safari
  • 34. DRM FLOW  Obtain the movie & its manifest from the CDN  Extract the KeyID from the manifest  Create the license request  Send the license request to the license server  Wait, listen, and receive the response from the license server.  Use the decryption key from the server to decrypt the content  Decode the decrypted content  Display the decoded movie
  • 35.
  • 36.
  • 37. HOW DRM WORKS? DECRYPTION  When a web player identifies protected content:  It calls on processes and interfaces defined by Encrypted Media Extensions (EME)  Browsers will initiate a license request process  License requests are generated by Content Decryption Module (CDM )(all of the decryption is done by CDM)  Passed to the players through the EME (EME is just simply an interface)  The player calls the appropriate function on the EME interface  Then the sessions are updated by the CDM  The EME interfaces with the CDM handles the decryption of the segments on browser or OS level
  • 38. HOW DRM WORKS? CLIENT-SIDE  The license acquisition using the EME starts from the playback client  Creating a key session unique to the client, device, and the metadata found in the segments  The CDM then generates a signed key message.  The client then sends then secured message to the license server  The license server returns the requested license  With the resulting decision of whether or not the client is granted playback rights to the requested content  If not, playback is halted and an error is shown.  In successful communications scenarios, the client updates the session data with a returned license  The content decryption is handled fully by the CDM  In some circumstances, the license is cached for a set time and can be used to playback protected content offline  The license and the decrypted data must not be accessible to clients other than the licensed content requester  Therefore, the private keys and decrypted data are kept in a secure environment within the browser, operating system, and hardware (if supported), like Trusted Execution Environments.
  • 39. THANK YOU MUHAMMED ASIM YILDIZ

Notas del editor

  1. Basically, protocols are technical processes that facilitate the transfer of data from one program to another. In streaming, this means the transfer of your video files to and from your encoder, streaming host, and eventually, the video player where your audience views your stream.
  2. As a consequence, each client will first request the manifest that contains the temporal and structural information for the media content, and based on that information it will request the individual segments that fit best for its requirements. The adaptation to the bitrate or spatial resolution is done on the client-side for each segment, e.g., the client can switch to a higher bitrate – if bandwidth permits – on a per-segment basis, or to a lower bitrate – if bandwidth decreases.  This has several advantages because the client knows its capabilities such as the received throughput, delay, device capabilities (e.g., screen resolution), etc. best.
  3.  H.265 codec, which delivers twice the video quality at the same file size as H.264.
  4. Microsoft, Adobe, Apple, Samsung, Akamai, Cisco, Dolby, Ericsson, Qualcomm, Intel, Bitmovin
  5. Microsoft also includes the CPU utilization as an indicator for the stream switching decision which is especially valuable for mobile devices such as smartphones and tablets. This means that if the CPU utilization is high, the client reduces the stream quality and resolution which furthermore reduces the CPU performance needs of the decoding process and guarantees a continuous decoding without stalls.
  6. Adaptive bitrate technology on DRM
  7. Encryption is a technique used to keep data confidential and prevent unauthorized people from reading it. Encryption uses a “key” to convert input data (plaintext) into an alternate form called ciphertext. It is almost impossible to convert the ciphertext back to plaintext without the key. However, practically speaking, decryption without the key is possible, and encryption algorithms are designed make reverse-engineering extremely expensive – in terms of time, money, and computing resources needed. Apple FairPlay supports only AES-CBC cbcs mode. HLS supports only AES-CBC cbcs mode (irrespective of CMAF) Widevine and PlayReady support both AES-128 CTR cenc or AES-128 CBC cbcs modes. MPEG-DASH with CMAF supports both AES-128 CTR cenc or AES-128 CBC cbcs modes. MPEG-DASH without CMAF supports only AES-128 CTR cenc mode. Similarly, when we encrypt a movie with a particular key, we need to create that association and provide that to the DRM license server (our receptionist, if you will). In DRM, a “KeyID” provides the association between an encryption key and a movie. It is a unique string of characters generated at the time of creating an encryption key for a particular movie. The Encryption Key and the KeyID are stored in a secure server (Key Store) that works alongside a DRM license server. When a client needs to play an encrypted movie, it requests the DRM license server for the decryption key by providing that particular movie’s KeyID. If the DRM license server is happy with the request (authentic request), it will ask the Key Store to provide the decryption key associated with that KeyID.
  8. DRM vendors test and certify these CDMs to ensure that the license requests are formed correctly and as per specifications. they do not leak the decryption keys they do not leak the decrypted and decoded movies they securely store the decryption keys based on the license specifications (store the key for X days, for example) safely transport the video to the screen without leaking it For the above reasons, CDMs in browsers are closed-source, and this is a source of contention in the industry and public. They are not-trusted because the public cannot see what’s inside the CDM’s source code.
  9. The player takes care of obtaining the movie, parsing the manifest, extracting the KeyID, making the requests to the DRM License Server, etc. A separate module (called the CDM or Content Decryption Module) takes care of creating the license request, decrypting & decoding the content. The video player is a JavaScript program that uses the EME APIs to transmit messages between the CDM and the License Server.
  10. The player takes care of obtaining the movie, parsing the manifest, extracting the KeyID, making the requests to the DRM License Server, etc. A separate module (called the CDM or Content Decryption Module) takes care of creating the license request, decrypting & decoding the content. The video player is a JavaScript program that uses the EME APIs to transmit messages between the CDM and the License Server.
  11. From the perspective of the content requester –..;....