A distributed video streaming platform built with microservice architecture using Spring Boot, Kafka, FFmpeg, HLS, Redis, and Amazon S3.
The system supports:
- Video upload
- Distributed asynchronous encoding
- Adaptive bitrate streaming (HLS)
- Event-driven communication
Client
↓
Content Service
↓
Video Service
↓
Amazon S3 (Raw Video Storage)
↓
Kafka Event: video.uploaded
↓
Encoding Service (FFmpeg + HLS)
↓
Amazon S3 (Encoded HLS Files)
↓
Kafka Event: video.encoded
↓
Content Service Updates HLS URL
↓
Streaming Service
↓
Frontend HLS Player