AWS APAC Principal Technology Evangelist인 Markku Lepisto의 발표내용입니다.
TRANSCRIPT
Streaming Content on AWS Markku Lepistö Principal Technology Evangelist @markkulepisto
A Fragmented Ecosystem… Many Devices, Codecs and Protocols…
Presenter
Presentation Notes
Give an overview of why this is confusing (e.g. its not just what audio-video codecs are supported, but also what delivery protocols are supported). Don’t spend too much time here, paint the complexity picture and leave it hanging (to be solved in later slides)
Plethora of Devices
Supports only HLS
Devices are vendor specific software-only baseline
Supports only smooth streaming
New devices entering the market
Presenter
Presentation Notes
Lets for example take the cross-section of smartphones Large and disparate collection of devices iOS is HLS only Android has non-deterministic hardware support with a software-only baseline Newer devices coming to market frequently
Multiple Transcodes
Codecs
Screens
Asset Library
Managem
ent
Presenter
Presentation Notes
Due to the licensing deals made by various companies / publishers, this complexity is to remain at least for the next few years Multiple transcoded outputs needed to match various device profiles Codecs Screen dimensions Asset library management becomes a challenge at this point with the large number of encodes you now have
Players and Security Models
Native Media Players
Third-Party Media Players
DRM-ed Content Tokenized Security
vs
vs
Presenter
Presentation Notes
No true unified player Native players offer an out of the box experience Third-party players can add value added features No single way to secure content DRM support differs by device
Monitor • Viewer experience • Operational excellence • Business impact
Identify • Devices that need optimization • Best delivery networks • Viewer trends
Monitor Buffering, Player erros, server erros Internal SLAs etc Revenue, drop-off rate etc Identify Re-encode for, e.g. iOS8 Best CDNs for the region Whats popular in your library and give the feedback to your biz dev Reduce costs in this fragmented ecosystem Iteratively work on lowering buffering Be able to onboard new device Identify and rectify duplication in storage, processing and delivery
Presenter
Presentation Notes
Build a separate stack for each device (aka the “land-grab” model) Increased complexity Increased cost Inability to pivot fast for new user experiences Pick only one or two platforms to support Loss of business by not reaching customers on other platforms Subject to risk of chosen platform(s) losing users
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
Encode to Take Advantage of Commonality among Devices
Presenter
Presentation Notes
Faster on-boarding of content Less content management overhead Reduce processing & storage costs iOS Encode in multiple profiles to target different iPhones, iPads and Apple TVs Use H.264 & AAC codecs Deliver using HLS Android Encode in three different profiles; SD (low quality), SD (high quality) and HD 720p Use H.264 and AAC wherever possible HLS delivery for v3.0+, progressive download fallback Windows Phone 8 / Xbox Encode using H.264 and AAC Deliver using Smooth Streaming Roku Encode using H.264 and AAC Deliver using HLS PlayStation 3 Encode using H.264 and AAC Deliver using HLS Desktop (Windows & OS X) Encode using H.264 and AAC Deliver using HLS (or using Smooth Streaming for Windows) http://blog.zencoder.com/2012/01/24/encoding-settings-for-perfect-ipadiphone-video/ http://developer.android.com/guide/appendix/media-formats.html http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff462087(v=vs.105).aspx http://support.xbox.com/en-US/xbox-360/audio-video-setup-and-use/audio-video-playback http://sdkdocs.roku.com/display/sdkdoc/Encoding+Guide#EncodingGuide-30MPEG-4part14mp4andMPEG-4part10H264 http://mashable.com/2011/12/09/apple-mobile-video/
Avoid Storage Duplication
Same content in multiple places? Central location with archival backup
Presenter
Presentation Notes
Single origin location for various CDNs Scalable at a low cost
Global Reach
High Performance Delivery
Streaming Context Aware
Access Logs for Customer Insights
Pick the Right Content Delivery Network
Presenter
Presentation Notes
Talk about how we updated our software for Roku streaming for streaming context aware. We saw that Roku had some performance issues and worked jointly with them to zero-in on a specific way in which certain Roku requests are made. Given the impact it can cause our customers, we handled that special case leading to very good Roku performance on CloudFront
Feature Native Player Third-Party Player
Consistency No Yes
Customizability No Yes
Turn-Key Yes No
Debugging Support No Yes
Data Collection No Yes
Players – Native, Third Party, or Both?
Presenter
Presentation Notes
Third party player (e.g. JWPlayer) / Custom player Provides consistent user experience Ability to customize Data collection from the device Native players No need to install software Hard to debug and react to customer issues Desktop Use third-party / custom player
Measure Viewer Experience CDN Server Logs Real User Metrics
# of concurrent sessions (expected)
# of concurrent sessions (actual)
% of re-buffered sessions
Presenter
Presentation Notes
CDN provided logs Cache efficiency, content popularity, origin facing events Highly granular for generating custom reports Real User Metrics (RUM) Requires instrumenting players Captures true experience of viewers (playback buffering, DRM errors, observed throughput) Consolidating the above two will show the end-to-end picture of your video delivery
• Pay-as-you-go pricing model • Capacity when you need it • Global footprint
Cost Effective Scaling
• MPAA security best practices Media Specific Capabilities
Amazon S3
Mezzanine File
Amazon Elastic Transcoder
Encode to Take Advantage of Commonality among Devices
• Faster onboarding of content • Reduced storage costs • Less content management
overhead
• Lowest number of encodes that span maximum number of devices
• H.264 video, AAC audio • Low quality, high quality, and 720p
HD compression
Presenter
Presentation Notes
Amazon Elastic Transcoder HLS output to S3 Define presets to output encodes for device groups 3rd party encoders on AWS SaaS Solutions AWS Marketplace solutions Minimize encoding time by having presets that span maximum number of devices H.264, AAC, HLS combination works across most devices Specializations needed to target non-standard screen-sizes and operating systems
Amazon S3
Images Videos Files Binaries Snapshots
Internet scale storage via API
AWS Storage Gateway
Amazon S3, Amazon Glacier
Integrates on-premises IT and AWS storage
Amazon Glacier
Images Videos Files Binaries Snapshots
Storage for archiving and backup
Storing and Managing Your Media Assets on AWS
Video Streaming through AWS
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 (52 edge locations)
Native streaming support for HLS
Joint solutions with streaming media ISVs
Granular customer access logs
Delivering Secured Content
• Private content features of Amazon CloudFront Restrict Access to Content
• Vary based on platform you are reaching • Partner solutions available in AWS Marketplace • Enabled by AWS CloudHSM solution
Encrypt Content Using Policies
Presenter
Presentation Notes
CloudFront Signed URLs SSL delivery DRM PlayReady, Adobe Access, Widevine, Merlin are the common ones with the first two seeing the most traction Wowza on Marketplace has a DRM add-on that can protect your assets while its being streamed http://www.wowza.com/addons/DRM-server Wowza DRM AddOn for Wowza Media Server provides integration with multiple DRM key management systems, enabling on-the-fly DRM encryption for a variety of playback devices. The integration offers best-of-breed solutions to Wowza customers who need studio-approved security for delivery of premium content. Wowza DRM AddOn provides simultaneous secure key exchange with multiple DRM platforms. Individual live or on-demand content is encrypted on-the-fly with Microsoft® PlayReady® or Verimatrix® VCAS™ for delivery via Apple® HTTP Live Streaming (HLS) and Microsoft Smooth Streaming to viewers on a wide range of endpoints, including PCs and Macs, set-top boxes (STBs), smart TVs, game consoles, smartphones, and tablets. Wowza DRM AddOn can help you up-sell content for OTT premium services and cross-sell content for multi-device distribution. - See more at: http://www.wowza.com/addons/DRM-server#sthash.vtcTAa3t.dpuf AWS CloudHSM can be used to key storage using dedicated hardware that is compliant to regulations Service Highlights Secure Key Storage — As part of the service, you have dedicated access to HSM capabilities in the cloud. AWS CloudHSM protects your cryptographic keys with tamper-resistant HSM appliances that are designed to comply with international (Common Criteria EAL4+) and U.S. Government (NIST FIPS 140-2) regulatory standards for cryptographic modules. You retain full control of your keys and cryptographic operations on the HSM, while Amazon manages and maintains the hardware without having access to your keys. Contractual and Regulatory Compliance — By protecting your keys in hardware and preventing them from being accessed by third parties, AWS CloudHSM can help you comply with the most stringent regulatory and contractual requirements for key protection. Reliable and Durable Key Storage — AWS CloudHSM is available in multiple AZs and Regions to help you build highly available applications that require strong key protection. You can also use AWS CloudHSM with your compatible on-premise HSMs to securely store keys in your datacenter. This increases key durability and gives you the flexibility to securely migrate keys in and out of AWS. Simple and Secure Connectivity — CloudHSMs are in your VPC, so it is easy to use them with your Amazon EC2 applications. You use standard Amazon VPC security mechanisms to control access to your CloudHSMs. Improve Application Performance — By placing CloudHSMs in your VPC near your EC2 instances, you can reduce network latency and increase the performance of your AWS applications that use HSMs.
Monitor and Measure Customer Experience
Process Using Amazon Elastic MapReduce
Amazon CloudFront Access Logs
Video Client
Monitoring Aggregator
Telemetry Data
Real User Metrics
Demo 1 Store video on S3
Use Elastic Transcoder Stream encoded video with CloudFront
Demo 2 Live Streaming with -
Producer on Mac OS X Nginx-RTMP transcoder on EC2 with Docker