Overview
Design a video service that takes creator uploads, transcodes each one into several bitrates, and streams it to viewers around the world without buffering.
Requirements
- 01Accept large uploads from creators and resume them after a dropped connection
- 02Transcode uploads in the background into 4K, 1080p, 720p, and 480p
- 03Stream worldwide with adaptive bitrate (HLS/DASH) and little buffering
- 04Track view counts, feed recommendations, and search indexing
- 05Move older, rarely watched videos onto cheaper storage
Concepts in play
CDNTranscodingS3HLS/DASHKafka Workers