We use analytics cookies.We use cookies to analyze site traffic and improve your experience.
Loading...
System Design Masterclass · Web Content Delivery
Free preview: the first 2 parts of this 6-part lesson.
Already bought the course? Sign in to read the whole lesson.
this lesson is part of
System Design Masterclass
Unlock this lesson and the 751 other paid lessons
$25 once, by PayPal
See the System Design courseread the rest of this lesson in
System Design Masterclass
Unlock this lesson and the 751 other paid lessons
$25 once, by PayPal
See the System Design coursein Web Content Delivery
This lesson is part of the full System Design Masterclass. Unlock it along with 769 other lessons for a one-time payment.
One-time payment by card or PayPal
Get Lifetime AccessOne-time payment: UPI, card or netbanking
Get Lifetime Access18 Foundation lessons are free, no payment needed. Try them now
It is easy and good
“It is really nice and good Please join the course”
A user uploads a 4K ProRes file from their iPhone. Another uploads a 720p AVI from a ten-year-old camera. A third uploads a screen recording as a WebM. Your platform needs to play all of these on every device: iPhones, Android phones, smart TVs, web browsers, gaming consoles.
Transcoding is the process of decoding a video from its original format and re-encoding it into the formats your platform delivers. It is the most compute-intensive job in any media pipeline. YouTube transcodes over 500 hours of video per minute. Netflix transcodes every title into 100+ renditions across codecs, resolutions, and bitrates. Twitch transcodes live streams in real time so viewers on slow connections can watch at lower quality.
The cost is not trivial. AWS MediaConvert charges roughly $0.024 per minute of output for H.264 at 1080p. A 10-minute video encoded into 6 renditions costs about $1.44. At 10,000 uploads per day, that is $14,400 per day just for transcoding. The architecture choices you make around parallelism, codec selection, and hardware acceleration directly determine whether your media infrastructure is affordable or ruinous.
FFmpeg. The Swiss Army knife. Open source, runs everywhere, supports every codec and container ever invented. Every other tool on this list either wraps FFmpeg or competes with it. The command-line interface is notoriously complex (the man page is over 100 pages), but the power is unmatched. Most startups start with FFmpeg on EC2 instances or pods.
AWS Elemental MediaConvert. Managed transcoding service. You submit a job, it runs on AWS infrastructure, you get the output in S3. No servers to manage. Supports H.264, H.265, AV1, and CMAF packaging in one pass. Pricing is per-minute-of-output. Good for teams that do not want to operate encoding infrastructure but accept vendor lock-in.
Mux. API-first video platform. You upload a video, Mux handles transcoding, storage, and delivery through their . Per-minute pricing for encoding plus per-minute pricing for delivery. The simplest developer experience, but the most expensive at scale. Mux is what Stripe is to payments: you pay more for convenience.
Google Cloud Transcoder API. Similar to MediaConvert but on GCP. Job-based, supports H.264/H.265/VP9, outputs to Cloud Storage. Pricing is competitive with AWS. Less market adoption but the same fundamental model.
Self-hosted FFmpeg on Kubernetes. Maximum control, minimum per-unit cost at high volume. You run FFmpeg in containers, scale pods based on queue depth, use spot/preemptible instances for non-urgent jobs. Operational complexity is high, but at YouTube-scale volumes, the savings over managed services are enormous.