SlideShare a Scribd company logo
1 of 11
Digital Rights Management
in Websites
How to stop downloading and sharing a video
Introduction to DRM
Definition: Digital Rights Management (DRM) is a set of access control technologies.
Purpose: To protect copyrighted digital content from unauthorized access and distribution.
Challenge: Implementing DRM effectively on websites without compromising user experience or
performance.
DRM in HTML5
HTML5: Latest web standard that supports native video playback.
Encrypted Media Extensions (EME): W3C standard that enables DRM in HTML5. Works with various
DRM systems (e.g. Widevine, FairPlay, PlayReady).
Media Source Extensions (MSE): Complements EME for adaptive streaming.
Video Playback Before HTML5
Browser plugins: Adobe Flash, Microsoft Silverlight, and QuickTime.
Platform-specific: Limited compatibility across devices and browsers.
Security issues: Plugins were often targeted by hackers.
Decline: HTML5 video element and EME gradually replaced plugins.
Simple DRM using Static Key and Apple HLS
Apple HLS: HTTP Live Streaming, an adaptive streaming protocol by Apple.
Static key: A single encryption key used for all video segments.
Steps:
(1) Create and encrypt segments from the source video,
(2) Create HLS playlist,
(3) Provide static key to authorized users,
(4) Implement EME to play encrypted video.
This playlist file is accepted natively as below on Apple devices. To play on other devices, HLS.js library can be
used.
<video src=”some.m3u8” />
Example playlist: https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8
Creating HLS playlist and segments from source video
Source: https://aws.amazon.com/blogs/networking-and-content-delivery/on-the-fly-video-conversion-amazon-cloudfront-lambdaedge-mediaconvert/
Lambda is optional. Step 4 can be invoked by video source s3 put event.
Submitting a MediaConvert job
Input file. E.g. video_full.mp4
Outputs to include in HLS playlist
Can use presets for different video sizes and
encodings
Submitting a MediaConvert job: DRM parameters
● The given static key (hex string should provide) will be used to
encrypt the video segments
● URL should return the static key as a binary content.
● If you provide an API endpoint for the URL, you can add
additional validations such as checking origin before returning the
key. Otherwise, key can be placed in s3 and serve as static
content.
HLS Playlist
Example playlist: https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8
Issues with Static Key DRM
Limited security: Static key easily compromised if discovered.
Scalability: Inefficient for large-scale video libraries or multiple user groups.
No individual user tracking: Difficult to identify specific users who leak keys.
Inflexible: No support for advanced DRM features like license expiration or content restrictions.
Lower compatibility: Not all DRM systems support static key implementation.
Advanced DRM Solutions to Address Issues
Dynamic Key: Unique encryption key per user or session for enhanced security.
License Server: Centralized management of encryption keys and access control.
Token-based Authentication: Verify user identity and grant access to encrypted content.
Multi-DRM Solutions: Support for multiple DRM systems (e.g. Widevine, FairPlay, PlayReady) for
wider compatibility.
Advanced Features: Time-limited licenses, content restrictions, and usage tracking.

More Related Content

Similar to Digital Rights Management in Websites.pptx

A R T D M171 Week14 Multimedia
A R T D M171  Week14  MultimediaA R T D M171  Week14  Multimedia
A R T D M171 Week14 Multimedia
Gilbert Guerrero
 
Building video applications on Windows 8 with Windows Azure Media Services
Building video applications on Windows 8 with Windows Azure Media ServicesBuilding video applications on Windows 8 with Windows Azure Media Services
Building video applications on Windows 8 with Windows Azure Media Services
Mingfei Yan
 

Similar to Digital Rights Management in Websites.pptx (20)

De-mystifying DRM
De-mystifying DRMDe-mystifying DRM
De-mystifying DRM
 
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
 
Html5 Theora
Html5 TheoraHtml5 Theora
Html5 Theora
 
Azure mediaservices
Azure mediaservicesAzure mediaservices
Azure mediaservices
 
Drm landscape and online streaming
Drm landscape and online streamingDrm landscape and online streaming
Drm landscape and online streaming
 
FMS 3.5
FMS 3.5FMS 3.5
FMS 3.5
 
An Introduction to castLabs
An Introduction to castLabs An Introduction to castLabs
An Introduction to castLabs
 
A R T D M171 Week14 Multimedia
A R T D M171  Week14  MultimediaA R T D M171  Week14  Multimedia
A R T D M171 Week14 Multimedia
 
IRJET- Protected Adaptive Bitrate Streaming using HTTP Live Streaming and...
IRJET-  	  Protected Adaptive Bitrate Streaming using HTTP Live Streaming and...IRJET-  	  Protected Adaptive Bitrate Streaming using HTTP Live Streaming and...
IRJET- Protected Adaptive Bitrate Streaming using HTTP Live Streaming and...
 
Slide
SlideSlide
Slide
 
Flash and HTML5 Video
Flash and HTML5 VideoFlash and HTML5 Video
Flash and HTML5 Video
 
Building video applications on Windows 8 with Windows Azure Media Services
Building video applications on Windows 8 with Windows Azure Media ServicesBuilding video applications on Windows 8 with Windows Azure Media Services
Building video applications on Windows 8 with Windows Azure Media Services
 
Media Content Delivery Systems
Media Content Delivery SystemsMedia Content Delivery Systems
Media Content Delivery Systems
 
BUILD 2014 - Building end-to-end video experience with Azure Media Services
BUILD 2014 - Building end-to-end video experience with Azure Media ServicesBUILD 2014 - Building end-to-end video experience with Azure Media Services
BUILD 2014 - Building end-to-end video experience with Azure Media Services
 
Html5 vs Flash video
Html5 vs Flash videoHtml5 vs Flash video
Html5 vs Flash video
 
AWS Webcast - On-Demand Video Streaming using Amazon CloudFront
AWS Webcast - On-Demand Video Streaming using Amazon CloudFront  AWS Webcast - On-Demand Video Streaming using Amazon CloudFront
AWS Webcast - On-Demand Video Streaming using Amazon CloudFront
 
Streaming multimedia application for mobile devices for audio & video
Streaming multimedia application for mobile devices for audio & videoStreaming multimedia application for mobile devices for audio & video
Streaming multimedia application for mobile devices for audio & video
 
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
 
Build end-to-end video experiences with Azure Media Services
Build end-to-end video experiences with Azure Media ServicesBuild end-to-end video experiences with Azure Media Services
Build end-to-end video experiences with Azure Media Services
 
GStreamer support in WebKit. what’s new?
GStreamer support in WebKit. what’s new?GStreamer support in WebKit. what’s new?
GStreamer support in WebKit. what’s new?
 

Recently uploaded

Recently uploaded (20)

Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
 
Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
^Clinic ^%[+27788225528*Abortion Pills For Sale In harare
^Clinic ^%[+27788225528*Abortion Pills For Sale In harare^Clinic ^%[+27788225528*Abortion Pills For Sale In harare
^Clinic ^%[+27788225528*Abortion Pills For Sale In harare
 
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
 
Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...
Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...
Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...
 
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdfStrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
 
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabber
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
Transformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksTransformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with Links
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AI
 
^Clinic ^%[+27788225528*Abortion Pills For Sale In witbank
^Clinic ^%[+27788225528*Abortion Pills For Sale In witbank^Clinic ^%[+27788225528*Abortion Pills For Sale In witbank
^Clinic ^%[+27788225528*Abortion Pills For Sale In witbank
 
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAOpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
 
^Clinic ^%[+27788225528*Abortion Pills For Sale In birch acres
^Clinic ^%[+27788225528*Abortion Pills For Sale In birch acres^Clinic ^%[+27788225528*Abortion Pills For Sale In birch acres
^Clinic ^%[+27788225528*Abortion Pills For Sale In birch acres
 
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdfThe Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
 
From Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIFrom Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST API
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 

Digital Rights Management in Websites.pptx

  • 1. Digital Rights Management in Websites How to stop downloading and sharing a video
  • 2. Introduction to DRM Definition: Digital Rights Management (DRM) is a set of access control technologies. Purpose: To protect copyrighted digital content from unauthorized access and distribution. Challenge: Implementing DRM effectively on websites without compromising user experience or performance.
  • 3. DRM in HTML5 HTML5: Latest web standard that supports native video playback. Encrypted Media Extensions (EME): W3C standard that enables DRM in HTML5. Works with various DRM systems (e.g. Widevine, FairPlay, PlayReady). Media Source Extensions (MSE): Complements EME for adaptive streaming.
  • 4. Video Playback Before HTML5 Browser plugins: Adobe Flash, Microsoft Silverlight, and QuickTime. Platform-specific: Limited compatibility across devices and browsers. Security issues: Plugins were often targeted by hackers. Decline: HTML5 video element and EME gradually replaced plugins.
  • 5. Simple DRM using Static Key and Apple HLS Apple HLS: HTTP Live Streaming, an adaptive streaming protocol by Apple. Static key: A single encryption key used for all video segments. Steps: (1) Create and encrypt segments from the source video, (2) Create HLS playlist, (3) Provide static key to authorized users, (4) Implement EME to play encrypted video. This playlist file is accepted natively as below on Apple devices. To play on other devices, HLS.js library can be used. <video src=”some.m3u8” /> Example playlist: https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8
  • 6. Creating HLS playlist and segments from source video Source: https://aws.amazon.com/blogs/networking-and-content-delivery/on-the-fly-video-conversion-amazon-cloudfront-lambdaedge-mediaconvert/ Lambda is optional. Step 4 can be invoked by video source s3 put event.
  • 7. Submitting a MediaConvert job Input file. E.g. video_full.mp4 Outputs to include in HLS playlist Can use presets for different video sizes and encodings
  • 8. Submitting a MediaConvert job: DRM parameters ● The given static key (hex string should provide) will be used to encrypt the video segments ● URL should return the static key as a binary content. ● If you provide an API endpoint for the URL, you can add additional validations such as checking origin before returning the key. Otherwise, key can be placed in s3 and serve as static content.
  • 9. HLS Playlist Example playlist: https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8
  • 10. Issues with Static Key DRM Limited security: Static key easily compromised if discovered. Scalability: Inefficient for large-scale video libraries or multiple user groups. No individual user tracking: Difficult to identify specific users who leak keys. Inflexible: No support for advanced DRM features like license expiration or content restrictions. Lower compatibility: Not all DRM systems support static key implementation.
  • 11. Advanced DRM Solutions to Address Issues Dynamic Key: Unique encryption key per user or session for enhanced security. License Server: Centralized management of encryption keys and access control. Token-based Authentication: Verify user identity and grant access to encrypted content. Multi-DRM Solutions: Support for multiple DRM systems (e.g. Widevine, FairPlay, PlayReady) for wider compatibility. Advanced Features: Time-limited licenses, content restrictions, and usage tracking.