Design: Video Upload and Processing Pipeline
Includes video upload, processing, storage, and serving. Excludes video playback UI and detailed CDN design.
Functional Requirements
FR1: Users can upload video files up to 5GB in size.
FR2: System should process videos to generate multiple resolutions (e.g., 1080p, 720p, 480p).
FR3: Support thumbnail extraction from videos.
FR4: Allow users to view upload progress in real-time.
FR5: Processed videos should be stored and served efficiently for playback.
FR6: System should handle 10,000 concurrent uploads.
FR7: Ensure video processing latency p99 < 5 minutes.
FR8: Provide retry mechanism for failed processing jobs.
Non-Functional Requirements
NFR1: System availability target: 99.9% uptime.
NFR2: Latency for upload API: p99 < 2 seconds.
NFR3: Storage must be scalable to petabytes.
NFR4: Processing should be horizontally scalable.
NFR5: Security: Only authenticated users can upload videos.
