Self-host vs managed videohosting — TCO-analyse 2026
De pitch is verleidelijk: “Cloudflare R2 is $0,015/GB/maand met gratis egress. Waarom $100/maand betalen aan een managed host als ik 1 TB voor $15 opsla?”
De pitch is ook misleidend. De R2-rekening is de kleinste regel in een self-host videostack. Dit post is de eerlijke boekhouding.
Wat managed platforms echt voor je doen
Voor je kosten vergelijkt: lijst wat je koopt voor je maandfactuur. Een typische van $100 dekt:
- Opslag van bronnen + multi-bitrate-varianten
- Encode-pijplijn — GPU/CPU-farms die uploads omzetten naar HLS-varianten
- HLS-packaging — playlist-generatie, segment-muxing
- AES-128-versleuteling — segmentversleuteling + sleutelrotatie
- Sleutel-afleverinfra — signed URLs, IP-binding, expiry
- CDN-aflevering — globaal edge
- Embed player — HLS.js-wrapper, captions-menu, kwaliteitskiezer, branding
- Analytics — ingest, opslag, query, dashboard
- Misbruiklimieten — rate-limits, anomaliedetectie
- Ondertitel-pijplijn — VTT-upload, optionele AI-generatie
- Webhook-events — playback-events voor je app
- Admin-dashboard — upload, beheer, configuratie
- Klantsupport — als om 2 uur ’s nachts iets stuk gaat
Een self-host equivalent bouwt elk daarvan opnieuw.
Pure infra-kostenvergelijking
Alleen opslag en bandbreedte, geen engineering-tijd:
| Resource | Cloudflare R2 | AWS S3 | Bunny Stream | AVCaption Premium |
|---|---|---|---|---|
| 1 TB opslag / maand | $15 | $23 | gebundeld | gebundeld |
| 5 TB egress / maand | $0 | $409 | ~$50–80 | gebundeld |
| 20 TB egress / maand | $0 | $1.720 | ~$200–400 | $100 vast |
R2 lijkt onverslaanbaar. Op pure infra is het dat ook. Maar pure infra is een dunne plak van de echte rekening.
De engineering-kostenregel
Hier mist het R2-getal iets. Om van een bucket MP4s een serveerbaar videoproduct te maken, bouw je (of stelt samen uit open source) dit alles:
Encode-pijplijn — 2–4 weken
- FFmpeg met NVENC bij GPU, libx264 anders
- Queue (Redis, SQS, eigen) zodat parallelle uploads de CPU niet opblazen
- Multi-bitrate-ladder (1080p / 720p / 480p / 360p)
- HLS-packaging via FFmpeg
-hls_timeofBento4mp4hls - Foutafhandeling — wat als encode crasht midden in een job?
- Monitoring — alert bij queue-stapeling
Versleuteling + sleutel-aflevering — 1–2 weken
- AES-128-sleutelgeneratie per video, ideaal roterend
EXT-X-KEY-URI in playlists- Sleutel-server met auth — JWT, signed URL of OAuth
- Expiry, IP-binding, misbruiklimieten op de sleutel-endpoint
Embed player — 2–4 weken
- HLS.js forken of erop bouwen
- Captions-menu, kwaliteitskiezer, fullscreen, PiP
- Mobiel (iOS native HLS, Android HLS.js)
- Branding-hooks — kleur, logo, watermark
- postMessage-events voor de oudterpagina
Analytics — 1–2 weken
- Ingest-endpoint (waarschijnlijk WebSocket of beacon)
- Events opslaan (ClickHouse, Postgres, BigQuery)
- Aggregaat-queries — gelijktijdige kijkers, completion, drop-off
- Dashboard-UI
Admin / beheer — 1–2 weken
- Upload-UI met chunked upload voor grote bestanden
- Bibliotheek browse / bewerken / verwijderen
- Per-video-instellingen (whitelist, watermark, captions)
- API voor programmatisch beheer
On-call-infra — doorlopend
- Monitoring-dashboards (Grafana, Datadog)
- Alerting (PagerDuty)
- Incident-runbooks
- Backup + DR
Totaal tot MVP-prod: 3–6 maanden voor een competente solo-engineer. Totaal onderhoud: doorlopend achtergrondwerk + 24/7 on-call.
Cijfers op engineering-kosten
Senior ingenieur in de VS volledig geladen: ~$200k–300k/jaar, oftewel ~$20k/maand all-in. Zelfs 10 % van zijn tijd op video-onderhoud = $2.000/maand aandacht.
Vergeleken met $100/maand AVCaption Premium of $50/maand Bunny Stream is alleen al de engineer-plak 20–40x de platformkosten.
Dit is de berekening die de meeste “laten we self-hosten”-pitches doodt zodra spreadsheets opduiken.
Wanneer self-host echt wint
Drie reële scenario’s:
1. Video is bijzaak. Je levert een SaaS waar enkele pagina’s instructievideos bevatten. Geen monetisatierisico bij playback-falen. Geen versleuteling, watermark, analytics nodig. Gewoon R2 + <video>-tag is genoeg.
2. Je hebt het team al. Een platformteam draait infra voor andere productdelen, video toevoegen is incrementeel. Marginale engineer-kosten laag omdat runbooks bestaan.
3. Massieve schaal. Je bent zo groot dat platformmarges ($/TB) je engineer-kosten ($/TB op schaal) overstijgen. Zeldzaam — meestal honderden TBs egress/maand voor de wiskunde flipt.
Anti-scenario: “Ik ben cursusmaker en engineering is mijn hobby.” Hier onderschat iedereen de onderhoudsbelasting. Eens gebouwd, maanden later besteed je 20 % van je launch-week aan packaging-regression debuggen in plaats van lesgeven.
Wanneer managed het duidelijke antwoord is
- Video is omzetkritisch (cursussen, betaalde memberships, B2B-trainingen).
- Engineering-team klein of afwezig.
- Je wilt voorspelbare maandkosten.
- Je hebt features nodig (versleuteling, signed URLs, watermark, AI-ondertitels, analytics) die niet je kerncompetentie zijn.
- Uptime telt en je wilt geen video-pager.
De berekening is niet close. $100/maand managed is fors goedkoper dan engineer-tijd voor self-host-pariteit.
Tussenweg: “managed-aflevering, self-host opslag”
Sommige teams houden ruwe videobestanden in eigen R2/S3 en pijpen ze door een managed afleverlaag voor encoding, versleuteling, player en CDN. Werkt als:
- Compliance dwingt master-bestand af.
- Kill-switch onafhankelijk van managed-vendor.
- Opslag al elders betaald.
Niche. Meeste teams gaan volledig één kant op.
Beslismatrix
| Situatie | Aanbeveling |
|---|---|
| Side-project, casual videos | R2 + simpel <video>-tag |
| Cursusmaker, video = product | Managed (AVCaption / Bunny / Mux) |
| SaaS met ingebedde help-videos | R2 + <video> of goedkoopste managed |
| Grote enterprise met infra-team | Beide — afhankelijk van bestaande platforms |
| Studio-gelicentieerde content | Managed met DRM (VdoCipher) |
| Membership-site, groeiende audience | Managed (vaste tier, AVCaption Premium) |
| Engineer die wil leren | Self-host als leerproject, daarna naar managed |
Hoe AVCaption ernaar kijkt
AVCaption is het managed-antwoord. Specifiek gebouwd omdat de meeste teams dit niet zelf zouden moeten bouwen. Vast $100/maand per 5 TB, AES-128 multi-key HLS, signed embed tokens, gebrande player, AI-ondertitels op Enterprise. De hele stack die je anders drie maanden zou samenstellen.
Wil je toch self-hosten — bouwen, geweldig leerproject. Maar prijs het niet als $15/maand en verras jezelf niet in maand vier.
Diepere kostenvergelijking: Goedkoopste videohosting voor 1 TB+ bibliotheken. Per platform: comparisons.
Samenvatting
R2 + nginx is een geweldig hobbyproject. Voor omzetkritische video overstijgt de engineering-belasting de managed-platformprijs vaak met een ordegrootte. Optimaliseer total cost of ownership, geen infra-regel.
Probeer AVCaption gratis op dashboard.avcaption.com/register.