下载的视频别堆本地:用对象存储 + 生命周期做冷归档
下载器跑一阵,本地几 TB 视频塞满硬盘,备份也没有,盘一挂全没。正经做法是把视频丢对象存储(AWS S3 / 阿里 OSS / 腾讯 COS 都行),再用生命周期规则自动降级到冷归档,成本能压到本地盘的零头。这篇讲思路和几个坑。
为什么是对象存储
- 耐久高(11 个 9),不像本地盘说坏就坏;
- 按需付费,不用一次性买盘;
- 跨机器/跨地域都能取。
存储层级(以 OSS 为例)
| 层级 | 适用 | 大致单价(元/GB·月) |
|---|---|---|
| 标准 | 频繁访问 | ~0.12 |
| 低频 | 偶尔看 | ~0.08 |
| 归档 | 几乎不看 | ~0.03 |
| 冷归档 | 长期留底 | ~0.015(取回要等小时) |
差出数量级,所以热数据放标准、冷数据放归档。
生命周期自动降级
别手动搬,在控制台设规则:
- 创建 30 天后 → 转低频;
- 创建 365 天后 → 转归档。
规则配一次,之后全自动。上传用 ossutil 或 aws s3 cp:
ossutil cp -r ./downloads oss://my-bucket/videos/
坑一:归档层取回要等
冷归档取回得提申请,等几小时才下得下来。真要随时看的别放归档,放低频就够。我吃过亏:客户急着要半年前的录像,结果在冷归档里等了 4 小时。
坑二:归档前想清楚格式
视频进归档就少动它了,格式要选兼容广的:H.264 + MP4/AAC 最稳。AV1/ProRes 这类部分播放器读不了,以后取回来还得转。前面编码选型那篇讲过,归档母版优先 H.264。
坑三:元数据别只存在文件名里
对象存储的 key 就是路径,标题/来源/下载时间这类信息要么写进对象 metadata,要么单独留一份清单(CSV/DB)。前面 ffmpeg 写元数据那篇是写进文件,云上建议再留一份外部索引,免得几千个 video_001.mp4 分不清。
成本小算
1TB 视频,标准层约 120 元/月;转归档后约 30 元/月,一年省一千。量大的话这笔账很可观。