Design A Video Streaming/Sharing Platform

Problem Statement

Design A Video Streaming/Sharing Platform like YouTube.

OR

Build a video streaming platform like YouTube with upload, processing, and playback.

Full Question

Design a video streaming platform similar to YouTube with the following features:

Understanding the Problem

What is YouTube?

YouTube is a video-sharing platform that allows users to upload, view, and interact with video content. As of this writing, it is the second most visited website in the world 🤯.

Core Requirements:

  • Video upload and processing.
  • Video streaming with multiple quality options (adaptive bitrate streaming).
  • Video search and recommendations.
  • Comments and ratings.
  • User subscriptions and notifications.
  • Analytics and monetization.

Scale Requirements:

  • 2 billion users.
  • 1 billion hours watched daily.
  • 500 hours of video uploaded per minute.
  • Global content delivery.
  • 99.9% availability.

Additional Considerations:

  • How would you design the video processing pipeline (encoding, transcoding)?
  • How would you implement a global Content Delivery Network (CDN) for low-latency streaming?
  • How would you generate video recommendations?
  • How would you handle copyright detection (e.g., Content ID)?

PlayGround

Architecture Overview

  • Use CDN for video delivery
  • Implement video encoding pipeline
  • Design scalable database schema
Loading...
Loading...