SlideShare a Scribd company logo
1 of 34
Download to read offline
Use Case 
Example Media Distributor 
Content Security Solution 
Commonly in Practice 
Delivery Solution 
Free/Public UGC 
Vimeo, WeVideo 
Open 
Prgressive DownloadsStreaming 
Free/Secure UGC 
WeVideo, YouTube 
Signed URLs 
Progressive DownloadsStreaming 
Ad Supported 
SonyCrackle, TMZ 
AES Encryption Signed URLs 
Mostly HTTP or RTMP streaming 
Premium Content (Live Linear or VOD) 
Netflix, Amazon Instant Video 
AES EncryptionSigned URLsDRM 
HTTP or RTMP streaming 
Pre-Released Content 
Studios 
Encryption WatermarkingDRM 
Mezzanine File transfer (mostly B2B) Proxy streaming
Token / Signed URLs 
AES Encryption 
DRM 
Geoblocking 
Watermarking
AWS Direct Connect 
Elastic Load 
Balancing 
AWS Import/ Export 
Amazon S3 
AWS Storage Gateway 
Amazon EBS 
Amazon CloudFront 
Amazon CloudSearch 
Amazon SQS 
Amazon Elastic Transcoder 
Amazon EC2 
Amazon EMR 
Amazon VPC 
Ingest/Create 
Store 
Amazon RDS 
Amazon Elasti- Cache 
Amazon Route 53 
Deliver 
Process 
Amazon EC2
Sample AWS Architecture for VOD and Live 
Streaming 
Media File Amazon S3 
bucket 
Elastic Transcoder 
Amazon S3 
bucket 
CloudFront 
distribution 
RTMP Stream 
Media Servers on 
Amazon EC2
•Global content delivery via 52 edge locations 
•On-Demand and Live Streaming 
•Supports both HTTP and RTMP streaming 
Native support for Smooth Streaming 
•Set custom TTLs to cache all types of content 
•TCP optimizations 
•Customize content at the edge 
Detect device type, geo-location, language, etc.
Amazon S3 
(Media Storage) 
Amazon CloudFront 
End User 
HTTP 
________ 
HTTPS ONLY 
• Custom SSL certificate 
• CloudFront’s private content feature 
Only deliver content to securely signed requests 
• HTTPS ONLY requests/delivery, origin 
fetches 
• HTTP to HTTPS redirect at the edge 
• Signed URL verification 
Policy based on a timed URL or a CIDR block of the requestor 
• CloudFront Origin Access Identity (OAI) 
Delivery EC2 Instances 
Security Group 
Signed Request 
Amazon S3 
(Logs Storage) 
"Effect":"Allow", 
"Principal":{ 
"CanonicalUser":"79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8" 
}, 
"Action":"s3:GetObject", 
"Resource":"arn:aws:s3:::example-bucket/*”
•Scalable, cost effective (per minute pricing) 
•Integrated with AWS services &tools (Amazon SNS, Amazon S3, IAM, AWS CloudTrail, and AWS SDK) 
•Codecs, processing, and licensing baked in 
•Outputs: 
Popular web formats such as MP4 with H.264/AAC and WebMwith VP8/Vorbis 
Adaptive bitrate formats such as HLS and Smooth Streaming 
•Audio only processing for inputs and outputs 
•Features include captions, visual watermarks, clipping, and more
•Support for Amazon S3 encryption at rest 
•Input and output media files can be encrypted 
•Keys protected via AWS Key Management Service 
•Encryption for HLS streams 
COMING SOON!
Shared Responsibility Model
Facilities 
Physical security 
Physical infrastructure 
Network infrastructure 
Virtualization infrastructure 
Certifications 
• SOC 1, SOC 2, & SOC 3 
(SSAE16/ISAE 3402 audit) 
• ISO 27001 certification 
• PCI level 1 service provider 
• FedRAMP (FISMA) 
• AWS GovCloud (US) 
• MPAA best practices alignment 
Customer are running Sarbanes-Oxley (SOX), HIPAA 
(healthcare), FISMA (US federal government), DIACAP MAC III 
sensitive ATO, International Traffic in Arms Regulations (ITAR)
Unique security credentials 
•Access keys, login/password, MFA device 
•Federated authentication (AWS Security Token Service STS) 
Policies control access to AWS APIs 
•API calls must be signed by either:X.509 certificateor secret key 
Deep integration with other AWS services 
•Amazon S3: policies on objects and buckets 
•Amazon CloudFront: resource permissions
JW Plays Everywhere 
One video player for: 
(Mobile) web browsers 
Native mobile apps 
OTT platforms 
Consistent, cross-platform user interface, adaptive streaming, video advertising, media casting, and video analytics.
JW Player vs<video> 
Cross-Browser Support 
Consistent design across browsers & mobile devices. 
Polyfillsfor non-supported elements (e.g. , WebVTT). 
Flash fallback for non-HTML5 browsers (e.g. ,IE8). 
Premium User Interface 
Pixel-perfect skinning (fit your brand & site design). 
Interactivity (preview thumbnails, chapter markers, hot spots). Content discovery (social sharing and related videos overlays). 
Apple HLS on Desktops 
Adaptive, on-demand & live streaming with DVR support. 
Multiple audio-tracks and (live) closed captions languages. 
Fast (<500ms) startup time and frame-accurate seeking.
JW Player & Security 
●CDN Tokening 
○Support for access tokens from all major CDNs, including CloudFront. 
●Domain Restriction 
○Configure JW Player to only set up when detecting specific domains. 
●HLS AES Decryption 
○Play HD quality encrypted streams using external keys and/or rotation. 
●No DRM yet, but … 
○Browser support for HTML5 Encrypted Media Extensions (EME) is growing. 
EME currently works in Chrome(all platforms), Safari 8(Mac), and Internet Explorer 11(Win8).
On-Demand Transcoding and Encrypted File 
Delivery 
Amazon S3 bucket 
CloudFront 
distribution 
Availability Zone a 
Elastic Load 
Balancing 
EC2 Instance 
web app 
server 
Availability Zone b 
Media Owner Elastic Transcoder 
AWS Key Management Service 
Amazon S3 bucket 
EC2 Instance 
DynamoDB 
Key Name Base64 Encoded Key 
Big Buck Bunny EuoK6SNJcoZ7V8gRqSszdA6yp8MZTbrBY… 
Elephants Dream T4iu3N8ZAyzk1JMesuyEQ46tCW5BA43sad…
https://github.com/arut/nginx-rtmp-module
nginx transcoder 
RTMP Stream 
Availability Zone a 
Amazon Route 53 
DNS Failover 
Availability Zonea 
EC2 Instance 
Availability Zone b 
EC2 Instance 
Amazon 
CloudFront 
Amazon Route 53 
DNS Failover 
Live Stream Failover Setup 
Elastic Load 
Balancing 
nginx transcoder 
Availability Zone b
Type 
Protocol 
Port Range 
Source 
HTTP 
TCP 
80 
0.0.0.0/0 
HTTPS 
TCP 
443 
0.0.0.0/0 
CustomTCP Rule 
TCP 
1935 
54.255.255.0/32
rtmp{ 
server { 
listen 1935; 
chunk_size4096; 
application live { 
live on; 
record off; 
exec_pushffmpeg-irtmp://localhost/live/$name -vcodeclibx264 -vprofilebaseline -g 5 -s 640x360 -acodeclibfdk_aac-ar44100 -ac 1 -f flvrtmp://localhost/hls/$name; 
} 
application hls{ 
live on; 
hlson; 
hls_path/tmp/hls; 
hls_fragment5s; 
# Use HLS encryption 
hls_keyson; 
# Use stream timestamp rounded to 250ms as fragment names 
hls_fragment_namingtimestamp; 
hls_fragment_naming_granularity250; 
# Store auto-generated keys in this location rather than hls_path 
hls_key_path/tmp/keys; 
# Prepend key urlwith this value 
hls_key_urlhttps://enter URL here/keys/; 
# Change HLS key every 2 fragments 
hls_fragments_per_key2; 
# Create identical fragments on different nginx instances for High Availability (without encryption) 
hls_fragment_slicingaligned; 
hls_cleanupon; 
} 
}
Please give us your feedback on this session. 
Complete session evaluations and earn re:Invent swag. 
http://bit.ly/awsevals

More Related Content

More from Amazon Web Services

OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 
Come costruire un'architettura Serverless nel Cloud AWS
Come costruire un'architettura Serverless nel Cloud AWSCome costruire un'architettura Serverless nel Cloud AWS
Come costruire un'architettura Serverless nel Cloud AWSAmazon Web Services
 
AWS Serverless per startup: come innovare senza preoccuparsi dei server
AWS Serverless per startup: come innovare senza preoccuparsi dei serverAWS Serverless per startup: come innovare senza preoccuparsi dei server
AWS Serverless per startup: come innovare senza preoccuparsi dei serverAmazon Web Services
 
Crea dashboard interattive con Amazon QuickSight
Crea dashboard interattive con Amazon QuickSightCrea dashboard interattive con Amazon QuickSight
Crea dashboard interattive con Amazon QuickSightAmazon Web Services
 
Costruisci modelli di Machine Learning con Amazon SageMaker Autopilot
Costruisci modelli di Machine Learning con Amazon SageMaker AutopilotCostruisci modelli di Machine Learning con Amazon SageMaker Autopilot
Costruisci modelli di Machine Learning con Amazon SageMaker AutopilotAmazon Web Services
 
Migra le tue file shares in cloud con FSx for Windows
Migra le tue file shares in cloud con FSx for Windows Migra le tue file shares in cloud con FSx for Windows
Migra le tue file shares in cloud con FSx for Windows Amazon Web Services
 
La tua organizzazione è pronta per adottare una strategia di cloud ibrido?
La tua organizzazione è pronta per adottare una strategia di cloud ibrido?La tua organizzazione è pronta per adottare una strategia di cloud ibrido?
La tua organizzazione è pronta per adottare una strategia di cloud ibrido?Amazon Web Services
 
Protect your applications from DDoS/BOT & Advanced Attacks
Protect your applications from DDoS/BOT & Advanced AttacksProtect your applications from DDoS/BOT & Advanced Attacks
Protect your applications from DDoS/BOT & Advanced AttacksAmazon Web Services
 

More from Amazon Web Services (20)

OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 
Come costruire un'architettura Serverless nel Cloud AWS
Come costruire un'architettura Serverless nel Cloud AWSCome costruire un'architettura Serverless nel Cloud AWS
Come costruire un'architettura Serverless nel Cloud AWS
 
AWS Serverless per startup: come innovare senza preoccuparsi dei server
AWS Serverless per startup: come innovare senza preoccuparsi dei serverAWS Serverless per startup: come innovare senza preoccuparsi dei server
AWS Serverless per startup: come innovare senza preoccuparsi dei server
 
Crea dashboard interattive con Amazon QuickSight
Crea dashboard interattive con Amazon QuickSightCrea dashboard interattive con Amazon QuickSight
Crea dashboard interattive con Amazon QuickSight
 
Costruisci modelli di Machine Learning con Amazon SageMaker Autopilot
Costruisci modelli di Machine Learning con Amazon SageMaker AutopilotCostruisci modelli di Machine Learning con Amazon SageMaker Autopilot
Costruisci modelli di Machine Learning con Amazon SageMaker Autopilot
 
Migra le tue file shares in cloud con FSx for Windows
Migra le tue file shares in cloud con FSx for Windows Migra le tue file shares in cloud con FSx for Windows
Migra le tue file shares in cloud con FSx for Windows
 
La tua organizzazione è pronta per adottare una strategia di cloud ibrido?
La tua organizzazione è pronta per adottare una strategia di cloud ibrido?La tua organizzazione è pronta per adottare una strategia di cloud ibrido?
La tua organizzazione è pronta per adottare una strategia di cloud ibrido?
 
Protect your applications from DDoS/BOT & Advanced Attacks
Protect your applications from DDoS/BOT & Advanced AttacksProtect your applications from DDoS/BOT & Advanced Attacks
Protect your applications from DDoS/BOT & Advanced Attacks
 

Recently uploaded

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 

Recently uploaded (20)

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 

(MED303) Secure Media Streaming and Delivery | AWS re:Invent 2014

  • 1.
  • 2.
  • 3.
  • 4. Use Case Example Media Distributor Content Security Solution Commonly in Practice Delivery Solution Free/Public UGC Vimeo, WeVideo Open Prgressive DownloadsStreaming Free/Secure UGC WeVideo, YouTube Signed URLs Progressive DownloadsStreaming Ad Supported SonyCrackle, TMZ AES Encryption Signed URLs Mostly HTTP or RTMP streaming Premium Content (Live Linear or VOD) Netflix, Amazon Instant Video AES EncryptionSigned URLsDRM HTTP or RTMP streaming Pre-Released Content Studios Encryption WatermarkingDRM Mezzanine File transfer (mostly B2B) Proxy streaming
  • 5. Token / Signed URLs AES Encryption DRM Geoblocking Watermarking
  • 6.
  • 7. AWS Direct Connect Elastic Load Balancing AWS Import/ Export Amazon S3 AWS Storage Gateway Amazon EBS Amazon CloudFront Amazon CloudSearch Amazon SQS Amazon Elastic Transcoder Amazon EC2 Amazon EMR Amazon VPC Ingest/Create Store Amazon RDS Amazon Elasti- Cache Amazon Route 53 Deliver Process Amazon EC2
  • 8. Sample AWS Architecture for VOD and Live Streaming Media File Amazon S3 bucket Elastic Transcoder Amazon S3 bucket CloudFront distribution RTMP Stream Media Servers on Amazon EC2
  • 9.
  • 10. •Global content delivery via 52 edge locations •On-Demand and Live Streaming •Supports both HTTP and RTMP streaming Native support for Smooth Streaming •Set custom TTLs to cache all types of content •TCP optimizations •Customize content at the edge Detect device type, geo-location, language, etc.
  • 11. Amazon S3 (Media Storage) Amazon CloudFront End User HTTP ________ HTTPS ONLY • Custom SSL certificate • CloudFront’s private content feature Only deliver content to securely signed requests • HTTPS ONLY requests/delivery, origin fetches • HTTP to HTTPS redirect at the edge • Signed URL verification Policy based on a timed URL or a CIDR block of the requestor • CloudFront Origin Access Identity (OAI) Delivery EC2 Instances Security Group Signed Request Amazon S3 (Logs Storage) "Effect":"Allow", "Principal":{ "CanonicalUser":"79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8" }, "Action":"s3:GetObject", "Resource":"arn:aws:s3:::example-bucket/*”
  • 12. •Scalable, cost effective (per minute pricing) •Integrated with AWS services &tools (Amazon SNS, Amazon S3, IAM, AWS CloudTrail, and AWS SDK) •Codecs, processing, and licensing baked in •Outputs: Popular web formats such as MP4 with H.264/AAC and WebMwith VP8/Vorbis Adaptive bitrate formats such as HLS and Smooth Streaming •Audio only processing for inputs and outputs •Features include captions, visual watermarks, clipping, and more
  • 13. •Support for Amazon S3 encryption at rest •Input and output media files can be encrypted •Keys protected via AWS Key Management Service •Encryption for HLS streams COMING SOON!
  • 15. Facilities Physical security Physical infrastructure Network infrastructure Virtualization infrastructure Certifications • SOC 1, SOC 2, & SOC 3 (SSAE16/ISAE 3402 audit) • ISO 27001 certification • PCI level 1 service provider • FedRAMP (FISMA) • AWS GovCloud (US) • MPAA best practices alignment Customer are running Sarbanes-Oxley (SOX), HIPAA (healthcare), FISMA (US federal government), DIACAP MAC III sensitive ATO, International Traffic in Arms Regulations (ITAR)
  • 16. Unique security credentials •Access keys, login/password, MFA device •Federated authentication (AWS Security Token Service STS) Policies control access to AWS APIs •API calls must be signed by either:X.509 certificateor secret key Deep integration with other AWS services •Amazon S3: policies on objects and buckets •Amazon CloudFront: resource permissions
  • 17.
  • 18. JW Plays Everywhere One video player for: (Mobile) web browsers Native mobile apps OTT platforms Consistent, cross-platform user interface, adaptive streaming, video advertising, media casting, and video analytics.
  • 19. JW Player vs<video> Cross-Browser Support Consistent design across browsers & mobile devices. Polyfillsfor non-supported elements (e.g. , WebVTT). Flash fallback for non-HTML5 browsers (e.g. ,IE8). Premium User Interface Pixel-perfect skinning (fit your brand & site design). Interactivity (preview thumbnails, chapter markers, hot spots). Content discovery (social sharing and related videos overlays). Apple HLS on Desktops Adaptive, on-demand & live streaming with DVR support. Multiple audio-tracks and (live) closed captions languages. Fast (<500ms) startup time and frame-accurate seeking.
  • 20. JW Player & Security ●CDN Tokening ○Support for access tokens from all major CDNs, including CloudFront. ●Domain Restriction ○Configure JW Player to only set up when detecting specific domains. ●HLS AES Decryption ○Play HD quality encrypted streams using external keys and/or rotation. ●No DRM yet, but … ○Browser support for HTML5 Encrypted Media Extensions (EME) is growing. EME currently works in Chrome(all platforms), Safari 8(Mac), and Internet Explorer 11(Win8).
  • 21.
  • 22.
  • 23. On-Demand Transcoding and Encrypted File Delivery Amazon S3 bucket CloudFront distribution Availability Zone a Elastic Load Balancing EC2 Instance web app server Availability Zone b Media Owner Elastic Transcoder AWS Key Management Service Amazon S3 bucket EC2 Instance DynamoDB Key Name Base64 Encoded Key Big Buck Bunny EuoK6SNJcoZ7V8gRqSszdA6yp8MZTbrBY… Elephants Dream T4iu3N8ZAyzk1JMesuyEQ46tCW5BA43sad…
  • 24.
  • 25.
  • 27. nginx transcoder RTMP Stream Availability Zone a Amazon Route 53 DNS Failover Availability Zonea EC2 Instance Availability Zone b EC2 Instance Amazon CloudFront Amazon Route 53 DNS Failover Live Stream Failover Setup Elastic Load Balancing nginx transcoder Availability Zone b
  • 28.
  • 29. Type Protocol Port Range Source HTTP TCP 80 0.0.0.0/0 HTTPS TCP 443 0.0.0.0/0 CustomTCP Rule TCP 1935 54.255.255.0/32
  • 30.
  • 31.
  • 32.
  • 33. rtmp{ server { listen 1935; chunk_size4096; application live { live on; record off; exec_pushffmpeg-irtmp://localhost/live/$name -vcodeclibx264 -vprofilebaseline -g 5 -s 640x360 -acodeclibfdk_aac-ar44100 -ac 1 -f flvrtmp://localhost/hls/$name; } application hls{ live on; hlson; hls_path/tmp/hls; hls_fragment5s; # Use HLS encryption hls_keyson; # Use stream timestamp rounded to 250ms as fragment names hls_fragment_namingtimestamp; hls_fragment_naming_granularity250; # Store auto-generated keys in this location rather than hls_path hls_key_path/tmp/keys; # Prepend key urlwith this value hls_key_urlhttps://enter URL here/keys/; # Change HLS key every 2 fragments hls_fragments_per_key2; # Create identical fragments on different nginx instances for High Availability (without encryption) hls_fragment_slicingaligned; hls_cleanupon; } }
  • 34. Please give us your feedback on this session. Complete session evaluations and earn re:Invent swag. http://bit.ly/awsevals