Learn how AWS customers are using Amazon CloudFront to deliver their video content to users over HTTP(S) using a number of modern streaming protocols such as Smooth Streaming, HLS, DASH, etc. You also learn about options for end-to-end security of your video content—through both encryption and preventing access from unauthorized users based on their location. Finally, we demonstrate how easy it is to use CloudFront to deliver both your on-demand and live video to a global audience with great performance.
2. Agenda
•
•
•
•
•
Challenges of media streaming beyond the desktop
Traditional media streaming solution
Media streaming best practices
Using AWS to implement best practices
Demo: On-demand streaming to multiple devices using
Amazon CloudFront and Amazon Elastic Transcoder
• Customer walkthrough
3. Agenda
•
•
•
•
•
Challenges of media streaming beyond the desktop
Traditional media streaming solution
Media streaming best practices
Using AWS to implement best practices
Demo: On-demand streaming to multiple devices using
Amazon CloudFront and Amazon Elastic Transcoder
• Customer walkthrough
5. Plethora of Devices
Supports only HLS
Devices are vendor specific
software-only baseline
Supports only smooth streaming
New devices entering the market
7. Players and Security Models
Native Media
Players
vs
Third-Party Media
Players
DRM-ed Content
vs
Tokenized Security
8. Monitor
• Viewer experience
• Operational excellence
• Business impact
Identify
• Devices that need optimization
• Best delivery networks
• Viewer trends
Reduce
• Suboptimal viewer experience
• Turnaround times
• Operational costs
9. Agenda
•
•
•
•
•
Challenges of media streaming beyond the desktop
Traditional media streaming solution
Media streaming best practices
Using AWS to implement best practices
Demo: On-demand streaming to multiple devices using
Amazon CloudFront and Amazon Elastic Transcoder
• Customer walkthrough
10.
11. Agenda
•
•
•
•
•
Challenges of media streaming beyond the desktop
Traditional media streaming solution
Media streaming best practices
Using AWS to implement best practices
Customer walkthrough
12. Encode to Take Advantage of Commonality
among Devices
Device
Video Compression
Audio Compression
Quality Level
Delivery Protocol
iOS
H.264
AAC
SD (low), SD (high), HD
HLS
Android
H.264
AAC
SD (low), SD (high), HD
HLS *
Windows Phone
8 / Xbox
H.264
AAC
SD (low), SD (high), HD
Smooth Streaming
Roku
H.264
AAC
SD (low), SD (high), HD
HLS
PlayStation 3
H.264
AAC
SD (low), SD (high), HD
HLS
Desktop
H.264
AAC
SD (low), SD (high), HD
HLS / Smooth Streaming
14. Pick the Right Content Delivery Network
Global Reach
High Performance Delivery
Streaming Context Aware
Access Logs for Customer Insights
15. Players – Native, Third Party, or Both?
Feature
Native Player
Third-Party Player
Consistency
No
Yes
Customizability
No
Yes
Turn-Key
Yes
No
Debugging Support
No
Yes
Data Collection
No
Yes
17. Measure Viewer Experience
CDN Server Logs
# of concurrent sessions (expected)
# of concurrent sessions (actual)
Real User Metrics
% of re-buffered sessions
18. Agenda
•
•
•
•
•
Challenges of media streaming beyond the desktop
Traditional media streaming solution
Media streaming best practices
Using AWS to implement best practices
Demo: On-demand streaming to multiple devices using
Amazon CloudFront and Amazon Elastic Transcoder
• Customer walkthrough
19. Using AWS to Implement Media Streaming
Well Formed
Ecosystem
• Native infrastructure services (Amazon S3, Amazon Elastic
Transcoder, Amazon CloudFront, Amazon EC2)
• Partner solutions in AWS Marketplace
Cost Effective
Scaling
• Pay-as-you-go pricing model
• Capacity when you need it
• Global footprint
Media Specific
Capabilities
• MPAA security best practices
20. Encode to Take Advantage of Commonality
among Devices
•
•
•
Lowest number of encodes that
span maximum number of devices
H.264 video, AAC audio
Low quality, high quality, and 720p
HD compression
Mezzanine File
Amazon S3
•
•
•
Faster onboarding of content
Reduced storage costs
Less content management
overhead
Amazon Elastic Transcoder
21. Storing and Managing Your Media Assets on AWS
Amazon S3
Amazon Glacier
AWS Storage Gateway
Internet scale storage
via API
Storage for archiving and
backup
Integrates on-premises IT
and AWS storage
Amazon S3,
Amazon Glacier
Images
Videos
Files
Binaries
Snapshots
Images
Videos
Files
Binaries
Snapshots
23. Video Streaming through AWS
All HTTP-based streaming protocols (HLS, HDS, Smooth
Streaming, MPEG-DASH) supported
Video streaming-specific caching optimizations
Scalable to handle popular content
Global reach (43 edge locations)
Native streaming support for HLS
Joint solutions with streaming media ISVs
Granular customer access logs
24. Delivering Secured Content
Restrict Access to
Content
• Private content features of Amazon CloudFront
• Vary based on platform you are reaching
Encrypt Content Using • Partner solutions available in AWS Marketplace
Policies
• Enabled by AWS CloudHSM solution
25. Monitor and Measure Customer Experience
Amazon CloudFront Access Logs
Real User Metrics
Telemetry Data
Video
Client
Process Using Amazon Elastic MapReduce
Monitoring
Aggregator
26. Agenda
•
•
•
•
•
Challenges of media streaming beyond the desktop
Traditional media streaming solution
Media streaming best practices
Using AWS to implement best practices
Demo: On-demand streaming to multiple devices using
Amazon CloudFront and Amazon Elastic Transcoder
• Customer walkthrough
29. WHO WE ARE
VEVO is the world's leading all-premium music video and
entertainment platform.
In August 2013:
• 4.4 billion video views worldwide
• 28% of global streams each month are on mobile
• 250 million unique visitors worldwide
• 75,000+ videos from more than 21,000 artists
30. CHALLENGES
Provide a cohesive video streaming experience across
many different platforms
Disparate streaming protocols and encodes for
different devices and different screen sizes
Quickly adapt and be able to penetrate new markets
31. SUPPORTED PLATFORMS
•
Web (dynamic streaming over RTMP)
•
Android (PMD)
•
iOS (HLS)
•
Mobile web (PMD)
•
Apple TV (HLS)
•
•
VEVOTV linear channel
(RTMP/HLS/Smooth)
Samsung TV (HLS)
•
Roku (HLS)
•
Flash syndicated player (HLS)
•
XBOX (Smooth Streaming)
•
Windows Phone / Windows 8 (Smooth Streaming)
32. VIDEO RENDITIONS
• Currently VEVO encodes 35 different renditions for each video
• All video encodes are adaptive with the exception of Android and mobile
web at the moment
• Working towards consolidating to 18 different renditions and providing
adaptive playback for all platforms by end of year
• Achieved through implementing HLS/Smooth Streaming playback on as
many sets of platforms as possible
33. HLS APPROACH
• Find the least common denominator in terms of video encoding settings
• Example: HLS protocol has varying implementations on different
devices
• HLS 3 vs. HLS 4 support
• Provide lightweight options such as choice of manifest for different
devices
• Repeatable workflows that are agnostic to technology providers
34. HLS MANIFESTS
Using the same adaptive bitrate encode for as many devices as
possible:
• Control quality and startup time by creating multiple versions of
manifests for mobile vs. connected devices
• Acceptable to use 500 kbps starting bitrate on 3G/4G cellular networks
• On a TV connected device, 2400 kbps 720p playback is much more
appropriate
37. VIDEO STREAMING
•
Use HTTP based protocol to deliver content where possible
•
FMS servers generally have higher streaming costs
•
ABR protocols benefit from faster startup time and the ability to target multiple
screen sizes
•
Multi-CDN approach is not for everyone, but if footprint is large enough, it
provides best valueperformancestability balance
•
Consider tradeoff between operational effort vs. extra redundancy and
protection from regional outages
•
Video streaming in certain geographical regions and emerging markets are
more expensive
38. ENCODING WORKFLOW
Queue-based system with designated tasks
• Encoding Request: Mezzanine files uploaded to object storage
• Encoding Job: Tasks created for each video platform and its
associated renditions
• Delivery: Upload encoded assets to CDN(s)
• Update Data Layer: Back-end databases updated with information on
how to stream the video
39. Service Stack
Queue System
QUEUE BASED ENCODING SYSTEM
Request
Encode
Request
Service
Delivery
Encoding
Service
Update
Delivery
Service
Update
Service
VEVO Database
CDNS
On-Premises
Storage
Amazon S3
Storage
41. ENCODING WORKFLOW CONTINUED
Benefits:
1. Stateless – failed tasks will be reprocessed
2. Scalable – scale out fleet horizontally for large catalog reencodes
3. Maintainable – workflow is extremely repeatable
42. VIDEO ENCODING SETTINGS
•
Provide multiple bitrates for devices to choose from
•
Select an appropriate H.264 profile and level to gain maximum coverage across
devices
•
Baseline profile 3.x level (less complexity)
•
High profile 4.x 1080p output (better compression)
•
Two-channel 44100Hz AAC audio format has broadest support
•
Live video broadcasts are a different beast!
43. LAUNCHING ON A NEW PLATFORM
In late August 2013 VEVO launched on the Apple TV platform
How do we adapt HLS streams used for mobile devices to large screen device?
•
Expanded HLS encoding profile to add additional 3400 kbps & 4200 kbps bitrate
encodes at 1080p resolution
•
Implemented byte-range playlists without losing interoperability
•
Reused widely for all devices supporting HLS natively
•
Large undertaking to re-encode entire video catalog
44. API STACK
Data Layer
SQL Replication
Route 53 DNS
Elastic Load Balancing
SQL Server
SQL Server
Availability
Zone 1
Availability
Zone 2
API Server
Availability Zone 1
Cache
Preloader
API Server
Availability Zone 2
ElasticCache
Cluster
Availability Zone 1
Amazon S3
Lucene Indexes
US East
46. CLOUDFRONT
•
Ease of integration: Encoding workflows live in multiple cloud providers; simple to
extend existing logic to output to a permanent Amazon S3 origin for streaming
•
Competitive pricing: Easy to work on proof of concept with pay-as-you-go model
without a heavy initial investment
•
Prewarm cache from different geographic locations for anticipated high profile
assets
•
Amazon S3 object storage is suitable as a origin in terms of caching efficiency
and easy-to-control levels of redundancy for further cost savings; model for
Amazon S3 + redundant backups is compelling from an overhead and
management perspective.
47. CLOUDFRONT CONTINUED
•
Protecting video content residing on Amazon S3 origin is simple with origin
access identity
•
Restrict access to all users except for CloudFront to ensure assets are only
streamed via CDN
•
Integrate your own tokenization schemas for further security
•
SSL for video content served over HTTP based protocol content if required
48. ANALYZE YOUR LOGS
•
When selecting edge locations, study your origin logs to determine
best balance between in-region delivery and cost.
•
•
LATAM? APAC?
Ability to select geographic edge locations helps keep cost under
control as VEVO mostly operates in North America in Europe.
Understand your traffic before making a decision
New York, NY
Frankfurt Am Main, Hessen
Los Angeles, CA
Atlanta, GA
Milano, Italy
Madrid, Spain
Dallas, TX
Berlin, Germany
Houston, TX
Hamburg, Germany
Chicago, IL
Phoenix, AZ
Washington, DC
Montreal, QC
Philadelphia, PA
Paris, France
Toronto, ON
San Diego, CA
San Francisco, CA
Stuttgart, Baden-Wuerttemberg
49. ACHIEVED HIGHER AVERAGE BITRATE
New HLS profiles delivered over CloudFront to US and EU resulted in increased average bitrate
to iOS devices.
iOS Average Bitrate
Average Kbps
3000
2500
2000
1500
1000
500
0
6/1
6/11
6/21
7/1
7/11
7/21
iOS Bitrate
7/31
8/10
8/20
Linear (iOS Bitrate)
8/30
9/9
9/19
9/29
50. LARGER MEDIA INDUSTRY CONCERNS
•
Lack of standardization and fragmentation is still a major issue.
•
The problem is not going to go away overnight. Is DASH the future? HTML 5?
•
Take the initiative to establish own internal standards for your video operations by
consolidation around adaptive protocols and using repeatable workflows.
•
Pick the right CDN(s); buffering time has proven correlation with loss of
engagement.
52. We are sincerely eager to hear
your feedback on this
presentation and on re:Invent.
MED305
Please fill out an evaluation form
when you have a chance.