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.
From our workOne app for iOS and AndroidBamboo Connect shipped to the App Store and Google Play from one codebase.Build your app →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 ובניית אתרים. ספרו לנו מה אתם צריכים.
דברו איתנו ←