Video Streaming Technologies
Video streaming is the process of delivering video content over the internet in real time without requiring full downloads. Modern streaming systems combine protocols, codecs, and delivery networks to ensure low latency, scalability, and quality of experience.
Key Protocols
HTTP Live Streaming (HLS)
- Developed by Apple, widely used.
- Breaks video into small segments delivered over HTTP.
- Supports adaptive bitrate streaming (ABR).
Dynamic Adaptive Streaming over HTTP (MPEG-DASH)
- Industry-standard alternative to HLS.
- Codec-agnostic, works across devices.
- Provides ABR with standardized manifest files.
Real-Time Messaging Protocol (RTMP)
- Legacy protocol from Adobe Flash.
- Still used for ingest (sending video to platforms like YouTube, Twitch).
WebRTC
- Real-time, peer-to-peer streaming.
- Ideal for low-latency applications (video calls, live interactions).
Smooth Streaming (Microsoft, now less common)
- Similar to HLS, integrated into Microsoft ecosystem.
Supporting Technologies
Codecs:
- H.264/AVC – Most widely supported.
- H.265/HEVC – Better compression, newer.
- AV1 – Open-source, royalty-free, efficient codec.
CDNs (Content Delivery Networks):
- Distribute video segments globally for scalability.
- Examples: Cloudflare, Akamai, AWS CloudFront.
Adaptive Bitrate Streaming:
- Adjusts video quality dynamically based on user bandwidth.
DRM (Digital Rights Management):
- Protects video content from unauthorized access.
- Examples: Widevine, PlayReady, FairPlay.
Real-World Examples
- Netflix: Uses MPEG-DASH with custom ABR logic and CDNs.
- YouTube: Uses DASH + HLS, supports AV1 codec.
- Twitch: Uses HLS for delivery, RTMP for ingest.
- Zoom/Meet: Relies on WebRTC for low-latency video calls.
Interview Tip
If asked “How would you design a video streaming service?”, mention:
- Protocols: HLS/DASH for delivery, RTMP/WebRTC for ingestion.
- CDNs for scalability.
- ABR for varying bandwidth conditions.
- Codecs for compression efficiency.