Self-Host vs Managed Video Hosting — Phân tích TCO 2026
Lời chào hấp dẫn: “Cloudflare R2 là $0.015/GB/tháng với egress miễn phí. Tại sao trả $100/tháng cho host video managed khi tôi lưu được 1 TB với $15?”
Lời chào cũng dễ gây nhầm. Hóa đơn R2 là dòng nhỏ nhất trong stack video self-host. Bài này là kế toán thẳng thắn.
Nền tảng managed thực sự làm gì cho bạn
Trước khi so chi phí, liệt kê thứ bạn mua khi trả host managed. Hóa đơn $100/tháng điển hình bao gồm:
- Storage file nguồn + biến thể đa bitrate
- Pipeline encode — farm GPU/CPU biến upload thành biến thể HLS
- HLS packaging — sinh playlist, mux segment
- Mã hóa AES-128 — mã hóa segment + xoay key
- Hạ tầng gửi key — signed URL, IP binding, expiry
- Delivery CDN — phục vụ edge toàn cầu
- Embed player — wrapper HLS.js, menu caption, picker chất lượng, branding
- Analytics — ingest, lưu, query, dashboard
- Giới hạn lạm dụng — rate limit, phát hiện anomaly
- Pipeline phụ đề — upload VTT, sinh AI tùy chọn
- Webhook event — event playback cho app bạn
- Dashboard admin — upload, manage, configure
- Customer support — khi hỏng lúc 2 giờ sáng
Self-host tương đương rebuild từng cái.
So chi phí chỉ hạ tầng
Chỉ storage và băng thông, không thời gian engineer:
| Tài nguyên | Cloudflare R2 | AWS S3 | Bunny Stream | AVCaption Premium |
|---|---|---|---|---|
| 1 TB storage / tháng | $15 | $23 | bundled | bundled |
| 5 TB egress / tháng | $0 | $409 | ~$50–80 | bundled |
| 20 TB egress / tháng | $0 | $1,720 | ~$200–400 | $100 phẳng |
R2 trông vô đối. Và về hạ tầng thô, nó là vô đối. Nhưng “hạ tầng thô” là lát mỏng của hóa đơn thật.
Dòng chi phí engineering
Đây là cái thiếu khỏi số R2. Để biến bucket MP4 thành sản phẩm video phục vụ được, bạn build (hoặc lắp từ open source) tất cả những thứ này:
Pipeline encode — 2–4 tuần
- FFmpeg với NVENC nếu có GPU, libx264 nếu không
- Queue (Redis, SQS, hay tự build) để upload đồng thời không burst CPU
- Ladder đa bitrate (1080p / 720p / 480p / 360p ở bitrate hợp lý)
- HLS packaging qua flag
-hls_timecủa FFmpeg hoặcBento4mp4hls - Xử lý lỗi — nếu encode crash giữa job thì sao?
- Monitoring — cảnh báo khi queue dồn
Mã hóa + gửi key — 1–2 tuần
- Sinh key AES-128 mỗi video, lý tưởng xoay mỗi N segment
- Sinh URI
EXT-X-KEYtrong playlist - Server gửi key có auth — JWT, signed URL, hay OAuth
- Expiry, IP binding, giới hạn lạm dụng trên endpoint key
Embed player — 2–4 tuần
- Fork HLS.js hoặc build trên đó
- Menu caption, picker chất lượng, fullscreen, PiP
- Mobile (HLS native iOS, HLS.js Android)
- Hook branding — màu, logo, watermark
- Event postMessage cho trang cha
Analytics — 1–2 tuần
- Endpoint ingest (chắc WebSocket hoặc beacon)
- Lưu event (ClickHouse, Postgres, BigQuery)
- Query aggregate — viewer đồng thời, tỉ lệ completion, drop-off
- UI dashboard
Admin / management — 1–2 tuần
- UI upload với chunked upload cho file lớn
- Browse / edit / delete thư viện
- Setting per-video (domain whitelist, watermark, caption)
- API quản lý lập trình
Hạ tầng on-call — liên tục
- Dashboard monitoring (Grafana, Datadog)
- Alert (PagerDuty)
- Runbook ứng phó incident
- Backup + disaster recovery
Tổng đến MVP-production: 3–6 tháng cho một engineer giỏi solo. Tổng để duy trì: công việc nền liên tục cộng on-call 24/7.
Đặt số vào chi phí engineering
Senior engineer ở Mỹ fully-loaded khoảng $200k–300k/năm — gọi là $20k/tháng all-in. Ngay cả 10% thời gian dành cho bảo trì video, đó là $2,000/tháng attention.
So với $100/tháng AVCaption Premium hay $50/tháng Bunny Stream, riêng lát của engineer là 20–40 lần chi phí nền tảng.
Đây là phép tính giết phần lớn pitch “hãy self-host” khi spreadsheet được mở.
Khi self-host thực sự thắng
Ba kịch bản thật:
1. Video phụ trợ. Bạn ship SaaS mà vài trang chứa video hướng dẫn. Không có rủi ro monetize trên playback fail. Không cần mã hóa, watermark, analytics. Chỉ R2 + tag <video> đủ. Self-host.
2. Bạn đã có team. Bạn có team platform chạy infra cho phần khác của sản phẩm, thêm video là tăng thêm. Chi phí engineer biên thấp vì runbook đã tồn tại cho hệ tương tự.
3. Quy mô khổng lồ. Bạn ở size mà biên lợi nhuận nền tảng managed ($X/TB) vượt chi phí engineer ($Y/TB ở quy mô). Hiếm — thường cần hàng trăm TB egress mỗi tháng trước khi toán đảo.
Phản kịch bản: “Tôi là creator khóa học và engineering là sở thích.” Đây là kịch bản mà ai cũng đánh giá thấp thuế bảo trì. Build một lần, vài tháng sau nhận ra dành 20% tuần launch để debug regression packaging thay vì dạy.
Khi managed là đáp án rõ ràng
- Video là core doanh thu (khóa học, membership trả phí, đào tạo B2B).
- Team engineer của bạn nhỏ hoặc không có.
- Bạn muốn chi phí hằng tháng dự đoán (không xổ số per-GB).
- Bạn cần tính năng (mã hóa, signed URL, watermark, phụ đề AI, analytics) mà không phải core competency.
- Uptime quan trọng và bạn không muốn pager video.
Cho những cái này, phép tính không cận. Nền tảng managed $100/tháng rẻ hơn đáng kể chi phí thời gian engineer để duy trì parity self-host.
Đường giữa: “delivery managed, storage self-host”
Vài team giữ file video thô trong bucket R2/S3 riêng và pipe qua layer delivery managed cho encoding, mã hóa, player, và CDN. Chạy được khi:
- Bạn có ràng buộc compliance buộc giữ file master.
- Bạn muốn kill-switch không phụ thuộc vendor managed.
- Bạn đã trả storage ở chỗ khác.
Lựa chọn ngách. Phần lớn team đi hẳn một bên.
Ma trận quyết định
| Tình huống | Khuyến nghị |
|---|---|
| Side project, video thông thường | R2 + tag <video> thuần |
| Creator khóa học, video là sản phẩm | Managed (AVCaption / Bunny / Mux) |
| SaaS có video help nhúng | R2 + <video> thuần hoặc managed rẻ nhất |
| Enterprise lớn có team infra | Cả hai — tùy nền tảng sẵn |
| Content cấp phép studio | Managed có DRM (VdoCipher) |
| Membership site, audience đang lớn | Managed (tier phẳng, AVCaption Premium) |
| Engineer muốn học | Self-host làm dự án học, rồi chuyển sang managed |
AVCaption nghĩ thế nào về điều này
AVCaption là đáp án phía managed. Xây cụ thể vì phần lớn team không nên tự build. Phẳng $100/tháng cho 5 TB, HLS AES-128 multi-key, signed embed token, player branded, phụ đề AI trên Enterprise. Cả stack bạn sẽ mất ba tháng lắp.
Nếu chắc chắn muốn self-host, cứ build — dự án học tuyệt vời. Đừng định giá $15/tháng rồi bất ngờ ở tháng tư.
So sánh chi phí sâu hơn: Video hosting rẻ nhất cho thư viện 1 TB+. So sánh từng nền tảng: phần comparison.
Kết luận
R2 + nginx là dự án sở thích tuyệt vời. Cho video critical doanh thu, thuế engineering thường vượt giá nền tảng managed một bậc độ lớn. Tối ưu tổng chi phí sở hữu, không phải dòng chi phí hạ tầng.
Sanity check nhanh nhất: tạo tài khoản AVCaption miễn phí, upload video nguồn lớn nhất của bạn, đếm số phút từ upload tới iframe nhúng được. Rồi ước thẳng thắn xem cùng end-state đó tốn bạn bao nhiêu ngày engineer để build từ R2 + nginx.