In this session, learn how Hulu launched a new Live TV service and Cloud DVR platform using Amazon CloudFront, Amazon S3, Amazon Aurora, and Amazon EC2 to enable the necessary scale for live video ingest, storage, and delivery of content streams. Learn best practices for geographic redundancy, index and naming challenges, hitting performance targets, optimizing for cost, and measuring the user experience to ensure smooth playback for when you build your own video streaming solution.
13. • Source: M2TS to HLS, or pre-encoded HLS
• Stream: 5s segments, 8-profile layer up to
720p@60fps
• Manifest: M3U8 decorated with SCTE-35
markers
• Publishing: HTTPS to Hulu in AWS (EC2)
Why HLS contribution? Lowest common denominator
We built a live pipeline from scratch and used
AWS to support Hulu backend
• Periods in MPD
for content & ads
• In-band captions
(CEA-608 in SEI)
• Nielsen “ID3”
tags in MP4
EMSG
15. • Source: M2TS to HLS, or pre-encoded HLS
• Stream: 5s segments, 8-profile layer up to
720p@60fps
• Manifest: M3U8 decorated with SCTE-35
markers
• Publishing: HTTPS to Hulu in AWS (EC2)
Hulu’s Live Backend – Part 1 Ingest/Packaging
• INGEST: on-the-fly encryption, remuxing and
manifest parsing
• INGEST: M3U8 parsed for segment
metadata, including SCTE-35 ad markers
• REPACKAGING: TS to MP4 w/ CENC for
DASH, encrypted to FairPlay for HLS
• Periods in MPD
for content & ads
• In-band captions
(CEA-608 in SEI)
• Nielsen “ID3”
tags in MP4
EMSG
Ingest
We needed good connectivity because repackaging encoder procures dumb
storage, resulting in longer time to process
17. • Source: M2TS to HLS, or pre-encoded HLS
• Stream: 5s segments, 8-profile layer up to
720p@60fps
• Manifest: M3U8 decorated with SCTE-35
markers
• Publishing: HTTPS to Hulu in AWS (EC2)
• STORAGE: TS & MP4 segments published
to Amazon S3
• Periods in MPD
for content & ads
• In-band captions
(CEA-608 in SEI)
• Nielsen “ID3”
tags in MP4
EMSG
storage
Hulu’s Live Pipeline – Part 2 Storage
S3 can have spikes in nominal latency. With Live TV, we couldn’t afford having any latency.
We measured S3 publishing by size of the files that led us building a complex re-try logic.
19. • Source: M2TS to HLS, or pre-encoded HLS
• Stream: 5s segments, 8-profile layer up to
720p@60fps
• Manifest: M3U8 decorated with SCTE-35
markers
• Publishing: HTTPS to Hulu in AWS (EC2)
Hulu’s Live Pipeline – Part 3 Manifest/Delivery
• MANIFEST/DELIVERY: Manifests generated
on-the-fly, but cached in app & CDN
• Periods in MPD
for content & ads
• In-band captions
(CEA-608 in SEI)
• Nielsen “ID3”
tags in MP4
EMSG
Ingest