问题 #
R2 免费额度 10GB,我在代码里设了 9GB 的预算。现在剧照还没多少,但早晚要放完整演出录像——一个两小时的 1080p 视频大概 2-3GB,加上剧照,几十部作品下来就是上百 GB。
视频上传功能现在还是禁用的(videoEnabled: false),但这个问题迟早要面对。
调研 #
我把几个方案的定价都查了一遍,主要对比了三个方向:
方案 A:继续用 Cloudflare 全家桶 #
Cloudflare 有个视频产品叫 Stream,按视频时长收费——存储 1/1000分钟。50 小时的视频就是 3000 分钟,光存储就要 $30/月。
而且 Cloudflare 在中国大陆没有节点,国内用户访问会慢。
方案 B:R2 存图片 + 腾讯云点播存视频 ⭐ #
剧照、剧本这些小文件继续放 R2(无出口流量费,图片访问量大时很划算),视频用腾讯云点播 VOD。
VOD 的资源包价格:
- 存储 100GB:¥97/年
- 流量 100GB:¥19/年
- 转码 6000分钟:¥90/年
加起来一年 ¥206,平均每月 ¥17。而且腾讯云有全国 CDN,国内播放流畅。剧照继续放 R2,30GB 大概 ¥26/年(前 10GB 免费,超出 $0.015/GB/月)。
方案 C:全搬去腾讯云 #
买一台服务器,用 COS 存文件,自己跑转码。但要重写整个存储层,还得运维服务器,COS 出口流量也收费(¥0.50/GB)。成本最高,改动最大。
分阶段走 #
我不想一上来就搞大动作,分三步:
第一步(现在 → 50GB):改 upload-policy.ts 里的 budgetBytes,从 9GB 调到 45GB。前 10GB 免费,超出部分按 0.53/月(¥3.8)。视频先开放短视频测试。很便宜,但不是零成本。
第二步(50GB → 150GB):对接腾讯云 VOD,前端分流——剧照走 R2,视频走 VOD。数据库加个 storage_backend 字段区分。年费约 ¥230(R2 剧照 + VOD 视频)。
第三步(150GB+):升级 VOD 资源包,历史剧照可以转 R2 低频存储(便宜 33%)。年费约 ¥700-1000。
结论 #
不买服务器。第二阶段方案(R2 + VOD)以每月约 ¥19 的成本解决问题,国内播放体验也最好。R2 免费额度 10GB,超出部分虽然要付费,但比 VOD 的视频存储成本低得多,放剧照绰绰有余。
详细的费用对比表、风险提示和决策流程图我单独整理了一份文档,放在 docs/storage-scaling-report.md。