Video Basics
Container: MP4, MOV (files).
Codec: H.264, H.265 (HEVC), AV1 (encoding).
Streaming protocol: HLS, DASH (delivery).
DRM: protects content from piracy.
HLS – The Standard
HTTP Live Streaming by Apple. Works everywhere.
How it works: video split into small chunks (5-10s each), served via HTTP.
Client requests chunks, plays sequentially.
Adaptive Bitrate
Multiple quality versions of same video.
Client picks quality based on network speed.
Switches on the fly – user doesn’t notice.
Requires encoding video at multiple bitrates (360p, 480p, 720p, 1080p).
Encoding Pipeline
Upload → transcode to multiple bitrates → generate HLS manifest → store in CDN.
Tools: FFmpeg (self-host), AWS MediaConvert (managed), Mux (fully managed).
Managed services: expensive but zero-ops.
CDN Requirement
Serving video from single server = catastrophe at scale.
CDN caches chunks near users.
CloudFront, Cloudflare, Fastly, BunnyCDN.
Cost: $0.02-0.10 per GB depending on provider and region.
Storage
Original files: raw upload. Keep for re-encoding.
Encoded files: multiple bitrates × multiple videos = lots of storage.
S3 or similar object storage.
Cost: $0.01-0.023 per GB per month.
Live vs On-Demand
On-demand (VOD): recorded content. Simpler infrastructure.
Live streaming: real-time. Complex – ingest, transcode, deliver simultaneously.
Latency for live: HLS = 15-30s. Low-latency HLS = 3-5s. WebRTC = sub-second.
Playback Libraries
iOS: AVPlayer (native, best HLS support).
Android: ExoPlayer (Google’s video library).
React Native: react-native-video wraps native.
Flutter: video_player, better_player packages.
DRM – Content Protection
3 major systems: Widevine (Android/Chrome), FairPlay (Apple), PlayReady (Microsoft/Xbox).
Multi-DRM services: Axinom, ExpressPlay, EZDRM.
Costs: $500-2000/month typical for small platforms.
Only needed for premium content protection.
Analytics
Track: play started, play completed, buffering, quality switches, errors.
Services: Mux Data, Bitmovin Analytics.
Insights: which videos engage, which cause drop-off.
Offline Playback
Users want to download videos.
DRM-protected downloads: complex – offline license required.
Non-DRM: simpler but content unprotected.
Subtitles and Captions
WebVTT format standard.
Include in HLS manifest.
Accessibility requirement – captions for hearing impaired.
Costs Breakdown
Small platform (1K users, 100 hours viewed/month): $50-200/month.
Medium (10K users): $500-2000/month.
Large (100K users): $5000-20K/month.
Major costs: bandwidth (60%), storage (20%), transcoding (20%).
Our Approach
MVP: Mux or Cloudflare Stream. Managed, expensive per GB but no ops.
Growth: hybrid – self-host storage on S3, CDN for delivery.
Scale: consider owning full stack – biggest cost savings.
Based on Real Projects
This guide is based on our work with:
Further Reading
If this guide helped you, you might also want to read our comprehensive guide on Mobile Development.
רוצים לדבר על הפרויקט שלכם?
שיחת ייעוץ חינם, ללא התחייבות - הרעיון שלכם + הניסיון שלנו
רוצים לדבר על הפרויקט שלכם?
אנחנו מתמחים בפיתוח SaaS, פתרונות AI, עיצוב UX/UI ובניית אתרים. ספרו לנו מה אתם צריכים.
דברו איתנו ←