System Design Problem

Design a Video Transcoding Pipeline

Commonly Asked By:NetflixGoogleTwitchAWS

  • Ingest videos: Accept uploaded video files in any format (MP4, AVI, MOV, MKV, WebM)
  • Multi-resolution transcoding: Convert to multiple resolutions (240p, 360p, 480p, 720p, 1080p, 4K)
  • Multi-codec support: Encode in H.264, H.265/HEVC, VP9, AV1
  • Adaptive bitrate packaging: Package into HLS (.m3u8 + .ts) and DASH (.mpd + .m4s)
  • Audio processing: Extract, normalize, and transcode audio (AAC, Opus) at multiple bitrates
  • Subtitle extraction: Auto-generate subtitles via speech-to-text; support uploaded subtitle files
  • Thumbnail generation: Extract keyframes, generate sprite sheets for seek preview
  • DRM encryption: Encrypt segments with Widevine/FairPlay/PlayReady
  • Watermarking: Forensic or visible watermarking for content protection
  • Progress tracking: Real-time progress reporting for upload → transcode → ready
  • Priority queues: Premium content (paid creators) gets transcoded faster

The transcoding pipeline accepts uploaded videos, probes them for format info, splits into segments, transcodes in parallel across multiple resolutions/codecs, packages into HLS/DASH, and runs post-processing (thumbnails, subtitles, moderation, DRM).

Loading...