SlideShare a Scribd company 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?
Ott Streaming Protocols and DRM
Ott Streaming Protocols and DRM
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
Ott Streaming Protocols and DRM
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
Ott Streaming Protocols and DRM
Ott Streaming Protocols and DRM
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
Ad

More Related Content

What's hot (20)

Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
Vietnam Open Infrastructure User Group
 
Managing 2000 Node Cluster with Ambari
Managing 2000 Node Cluster with AmbariManaging 2000 Node Cluster with Ambari
Managing 2000 Node Cluster with Ambari
DataWorks Summit
 
Cloudera - The Modern Platform for Analytics
Cloudera - The Modern Platform for AnalyticsCloudera - The Modern Platform for Analytics
Cloudera - The Modern Platform for Analytics
Cloudera, Inc.
 
On-boarding with JanusGraph Performance
On-boarding with JanusGraph PerformanceOn-boarding with JanusGraph Performance
On-boarding with JanusGraph Performance
Chin Huang
 
01. Kubernetes-PPT.pptx
01. Kubernetes-PPT.pptx01. Kubernetes-PPT.pptx
01. Kubernetes-PPT.pptx
TamalBanerjee16
 
Data Con LA 2022 - Making real-time analytics a reality for digital transform...
Data Con LA 2022 - Making real-time analytics a reality for digital transform...Data Con LA 2022 - Making real-time analytics a reality for digital transform...
Data Con LA 2022 - Making real-time analytics a reality for digital transform...
Data Con LA
 
Getting Started with Apache Spark on Kubernetes
Getting Started with Apache Spark on KubernetesGetting Started with Apache Spark on Kubernetes
Getting Started with Apache Spark on Kubernetes
Databricks
 
An overview of Neo4j Internals
An overview of Neo4j InternalsAn overview of Neo4j Internals
An overview of Neo4j Internals
Tobias Lindaaker
 
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
Amazon Web Services Korea
 
[온라인교육시리즈] NKS에서 Cluster & Pods Autoscaling 적용
[온라인교육시리즈] NKS에서 Cluster & Pods Autoscaling 적용[온라인교육시리즈] NKS에서 Cluster & Pods Autoscaling 적용
[온라인교육시리즈] NKS에서 Cluster & Pods Autoscaling 적용
NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 
Container Orchestration
Container OrchestrationContainer Orchestration
Container Orchestration
dfilppi
 
Introduction to Linux & Basic Commands
Introduction to Linux & Basic CommandsIntroduction to Linux & Basic Commands
Introduction to Linux & Basic Commands
Vikram Nandini
 
Cassandra Operations at Netflix
Cassandra Operations at NetflixCassandra Operations at Netflix
Cassandra Operations at Netflix
greggulrich
 
Achieving CI/CD with Kubernetes
Achieving CI/CD with KubernetesAchieving CI/CD with Kubernetes
Achieving CI/CD with Kubernetes
Ramit Surana
 
Building and running cloud native cassandra
Building and running cloud native cassandraBuilding and running cloud native cassandra
Building and running cloud native cassandra
Vinay Kumar Chella
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Lucas Jellema
 
Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...
Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...
Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...
Hidetsugu Sugiyama
 
CNCF and Cloud Native Intro
CNCF and Cloud Native IntroCNCF and Cloud Native Intro
CNCF and Cloud Native Intro
Cloud Native Bangalore
 
Challenges of Kubernetes On-premise Deployment
Challenges of Kubernetes On-premise DeploymentChallenges of Kubernetes On-premise Deployment
Challenges of Kubernetes On-premise Deployment
Vietnam Open Infrastructure User Group
 
Ambari: Agent Registration Flow
Ambari: Agent Registration FlowAmbari: Agent Registration Flow
Ambari: Agent Registration Flow
Hortonworks
 
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
Vietnam Open Infrastructure User Group
 
Managing 2000 Node Cluster with Ambari
Managing 2000 Node Cluster with AmbariManaging 2000 Node Cluster with Ambari
Managing 2000 Node Cluster with Ambari
DataWorks Summit
 
Cloudera - The Modern Platform for Analytics
Cloudera - The Modern Platform for AnalyticsCloudera - The Modern Platform for Analytics
Cloudera - The Modern Platform for Analytics
Cloudera, Inc.
 
On-boarding with JanusGraph Performance
On-boarding with JanusGraph PerformanceOn-boarding with JanusGraph Performance
On-boarding with JanusGraph Performance
Chin Huang
 
Data Con LA 2022 - Making real-time analytics a reality for digital transform...
Data Con LA 2022 - Making real-time analytics a reality for digital transform...Data Con LA 2022 - Making real-time analytics a reality for digital transform...
Data Con LA 2022 - Making real-time analytics a reality for digital transform...
Data Con LA
 
Getting Started with Apache Spark on Kubernetes
Getting Started with Apache Spark on KubernetesGetting Started with Apache Spark on Kubernetes
Getting Started with Apache Spark on Kubernetes
Databricks
 
An overview of Neo4j Internals
An overview of Neo4j InternalsAn overview of Neo4j Internals
An overview of Neo4j Internals
Tobias Lindaaker
 
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
Amazon Web Services Korea
 
Container Orchestration
Container OrchestrationContainer Orchestration
Container Orchestration
dfilppi
 
Introduction to Linux & Basic Commands
Introduction to Linux & Basic CommandsIntroduction to Linux & Basic Commands
Introduction to Linux & Basic Commands
Vikram Nandini
 
Cassandra Operations at Netflix
Cassandra Operations at NetflixCassandra Operations at Netflix
Cassandra Operations at Netflix
greggulrich
 
Achieving CI/CD with Kubernetes
Achieving CI/CD with KubernetesAchieving CI/CD with Kubernetes
Achieving CI/CD with Kubernetes
Ramit Surana
 
Building and running cloud native cassandra
Building and running cloud native cassandraBuilding and running cloud native cassandra
Building and running cloud native cassandra
Vinay Kumar Chella
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Lucas Jellema
 
Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...
Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...
Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...
Hidetsugu Sugiyama
 
Ambari: Agent Registration Flow
Ambari: Agent Registration FlowAmbari: Agent Registration Flow
Ambari: Agent Registration Flow
Hortonworks
 

Similar to Ott Streaming Protocols and DRM (20)

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
 
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
 
video compression2
video compression2video compression2
video compression2
Aniruddh Tyagi
 
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
 
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
 
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
 
Azure media services
Azure media servicesAzure media services
Azure media services
Raju Kumar
 
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
 
Ad

More from ASIMYILDIZ (6)

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
 
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
 
Major Programming Paradigms
Major Programming ParadigmsMajor Programming Paradigms
Major Programming Paradigms
ASIMYILDIZ
 
Ad

Recently uploaded (20)

FL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full VersionFL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full Version
tahirabibi60507
 
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New VersionPixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
saimabibi60507
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
steaveroggers
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Douwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License codeDouwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License code
aneelaramzan63
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
FL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full VersionFL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full Version
tahirabibi60507
 
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New VersionPixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
saimabibi60507
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
steaveroggers
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Douwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License codeDouwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License code
aneelaramzan63
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 

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
  • 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
  • 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
  • 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

Editor's Notes

  • #3: 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.
  • #9: 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.
  • #12:  H.265 codec, which delivers twice the video quality at the same file size as H.264.
  • #13: Microsoft, Adobe, Apple, Samsung, Akamai, Cisco, Dolby, Ericsson, Qualcomm, Intel, Bitmovin
  • #16: 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.
  • #27: Adaptive bitrate technology on DRM
  • #31: 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.
  • #34: 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.
  • #35: 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.
  • #37: 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.
  • #39: From the perspective of the content requester –..;....