问题 #

R2 免费额度 10GB,我在代码里设了 9GB 的预算。现在剧照还没多少,但早晚要放完整演出录像——一个两小时的 1080p 视频大概 2-3GB,加上剧照,几十部作品下来就是上百 GB。

视频上传功能现在还是禁用的(videoEnabled: false),但这个问题迟早要面对。

调研 #

我把几个方案的定价都查了一遍,主要对比了三个方向:

方案 A:继续用 Cloudflare 全家桶 #

Cloudflare 有个视频产品叫 Stream,按视频时长收费——存储 5/1000分钟/月,播放5/1000分钟/月,播放 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.015/GB/月收费——45GB实际要为35GB付费,约0.015/GB/月收费——45GB 实际要为 35GB 付费,约 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