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...