Developing a VOD Platform: Architecture of an Online Cinema
Imagine: a user opens a site on an iPad, starts a movie in 4K, and a minute later switches to an Android smartphone with unstable 3G. If the player doesn't pick the right bitrate, it will buffer or stutter. Or worse — content without DRM leaks into pirate networks. These are typical pains for VOD platform clients. We are a team with streaming experience, having delivered over 20 projects for media companies, and we know how to solve them. Over 60% of users leave when buffering exceeds 2 seconds, so it's critical to configure adaptive streaming and CDN. This article details key components: transcoding, CDN selection, DRM protection, catalog organization, and business models.
Why Adaptive Streaming Is the Foundation of User Experience
Adaptive bitrate (ABR) is a mechanism where the player selects video quality in real time based on channel bandwidth. If the connection drops, the player switches to a lower resolution without stopping playback. Main protocols:
- HLS (HTTP Live Streaming) — Apple standard, natively supported in Safari and iOS. The
.m3u8manifest contains links to segments of different bitrates. - MPEG-DASH — universal standard for other browsers via Media Source Extensions (MSE).
The player makes decisions: it measures the download speed of recent segments and selects the highest quality that won't cause buffering. Modern implementations (Shaka Player, HLS.js) use algorithms considering buffer and bandwidth changes. Streaming quality directly impacts audience retention: each second of buffering reduces conversion by 3–5%.
Transcoding Pipeline and Delivery
The video pipeline:
Source (4K H.264/H.265 master file) ↓ Transcoding (FFmpeg / cloud encoder) Multiple renditions: 1080p @ 8 Mbps 720p @ 4 Mbps 480p @ 2 Mbps 360p @ 1 Mbps ↓ HLS / DASH manifest (.m3u8 / .mpd) ↓ CDN (Cloudflare, AWS CloudFront, Fastly) ↓ Adaptive Bitrate Player (HLS.js, Shaka Player, Video.js) Transcoding is performed using FFmpeg or cloud services. Example task:
ffmpeg -i input_4k.mp4 \ -map 0:v -map 0:a \ -vf "scale=1920:1080" -b:v 8000k -c:v libx264 -profile:v high \ -c:a aac -b:a 192k \ -hls_time 6 -hls_playlist_type vod \ -hls_segment_filename "segments/1080p_%04d.ts" \ "output_1080p.m3u8" Each segment (6 seconds) is uploaded to S3/CDN. The master playlist references all qualities. Over 80% of content is encoded in H.264 for compatibility.
How to Choose a CDN for VOD: Cost and Performance Comparison
| Provider | Price (Traffic) | Global Coverage | Extra Features |
|---|---|---|---|
| Cloudflare | ~$0.01/GB after free limit | 330+ PoPs | DDoS protection, Stream, Workers |
| AWS CloudFront | ~$0.085/GB first 10TB | 450+ PoPs | Deep integration with S3, Lambda@Edge |
| Fastly | ~$0.15/GB | 70+ PoPs | High performance, configurable cache |
Cloudflare is 8.5 times cheaper than CloudFront for traffic up to 10 TB. With proper caching, you can save up to 60% on traffic costs.
DRM Content Protection: What to Choose?
Licensed content requires DRM:
- Widevine — Google, supported on Chrome, Android
- FairPlay — Apple, mandatory for Safari + iOS
- PlayReady — Microsoft, Edge, Windows
DRM key providers: Axinom, EZDRM, BuyDRM. The scheme:
Player requests license → License Server checks auth → issues key Encrypted segment decrypted by key in browser's CDM (Content Decryption Module) DRM requires HTTPS, EME (Encrypted Media Extensions) in the browser, DASH+CENC or HLS+AES.
DRM System Comparison
| System | Supported Devices | Licensing Cost | Features |
|---|---|---|---|
| Widevine | Chrome, Android, Chromecast | Free for Google licensees | Most widespread |
| FairPlay | Safari, iOS, tvOS | Requires paid Apple Developer subscription | Mandatory for Apple |
| PlayReady | Edge, Windows, Xbox | Free for Microsoft partners | Often used in hybrid schemes |
Step-by-Step DRM Setup
- Create an EME certificate for each device.
- Wrap content in CENC (Common Encryption) format.
- Set up a license server (e.g., Axinom) and configure player interaction.
- Test on target platforms.
How to Organize the Catalog and Search?
Content is organized into a catalog:
- Movies (with MPAA/age rating, genres, tags)
- Series → Seasons → Episodes
- Collections and playlists
- Persons (actors, directors) — many-to-many relationships
Search: Elasticsearch with full-text search by title, description, actors. Faceted filtering by genre, year, rating. A typical media company catalog exceeds 50,000 content items.
Which VOD Business Models to Choose?
- SVOD (Subscription): subscription for access to the entire catalog (Netflix model). Average US subscription cost is $9.99/month.
- TVOD (Transactional): rental or purchase of individual movies, average rental $3.99.
- AVOD (Ad-supported): free with ads (VAST/VPAID integration)
- HVOD (Hybrid): part free, part subscription
Each model requires its own billing logic and payment gateway integration. For example, SVOD needs subscription plans with periods and auto-renewal, TVOD needs one-time payments with rights for a specific period.
Scope of Work When Developing a VOD Platform
When ordering online cinema development, we provide:
- Architectural solution with diagrams (stack selection, CDN scheme, infrastructure)
- Full frontend and backend source code in TypeScript/JavaScript
- API documentation and admin guide
- Access to code repositories, CDN panel, monitoring
- Training of the client's team on the system (up to 10 hours)
- Technical support during launch and the first 3 months of operation
We guarantee NDA compliance and full transfer of rights to the developed code.
Development Timelines
MVP (catalog, player with HLS via Cloudflare Stream or MUX, basic subscription): 3–4 months. Full-featured VOD platform with DRM, multi-platform applications (iOS/Android), recommendations, and viewing analytics: 8–14 months. Exact timelines are calculated after requirements audit.
Get a consultation on the architecture of your online cinema. Order VOD platform development, and we will help implement it with all requirements from transcoding to DRM.







