知识卡片

短视频数据相比文本的三大架构差异

普通读书笔记卡

内容

短视频社交产品在架构层面和典型文本社交产品(首页热门、好友动态feed流、评论、私信)共享大量基础能力,但短视频本身作为一种数据形态,带来了三类文本数据不会遇到的特定挑战。数据大小的差异:一条10秒美拍视频经压缩后大概1MB多,一条5分钟视频甚至要几十MB,比几十到几百字节的文本大出好几个数量级——这直接带来”如何上传、如何存放、如何播放”三个连锁问题:上传方面,弱网条件(尤其晚高峰省际网络拥塞)下大文件上传成功率低,需要靠CDN动态加速优化网络链路、对大视频做分片上传以降低失败重传的成本和概率;存储方面,视频体量让数据库难以支撑,往往要靠专用的分布式对象存储(自建或云存储),美拍主要用云存储服务解决通用场景、自建分布式存储只用于对数据隐私和安全性要求更高的内部场景;播放方面,大文件容易受网络影响造成卡顿,短视频主要用HTTP Range方式播放、直播回放则基于HLS,弱网下还要靠多码率自适应(多路转码、按用户网络状况的算法模型量化选码率)来规避卡顿。数据格式标准的差异:短视频本身是二进制数据,有H.264、H.265这类相对固定和通用的编码标准,和文本数据的自由格式完全不同。数据处理需求的差异:视频能承载的信息远比文本丰富,因此有大量的数据处理需求(水印、帧缩略图、转码等),而这类视频处理操作本身非常慢、会带来巨大的资源开销——这个特性直接决定了视频处理必须仔细权衡”放在客户端做还是服务端做”这个架构决策,因为两边的成本结构完全不同。

参考来源

- 位置:《高可用架构(第1卷)》第1章《高可用架构案例精选》"1.6 亿级短视频社交美拍架构实战"节,"1.6.3 短视频所面临的架构问题"(源文件:_epub-src/OEBPS/Text/Chapter1_6_4.xhtml) - 结论依据:原文分别说明"数据大小的差异……因为数据量要大得多,所以也会面临一些问题:如何上传、如何存放以及如何播放""数据的格式标准差异……有比较固定和通用的一些格式标准""数据的处理需求……视频处理的操作是非常慢的,会带来巨大的资源开销",直接支撑本卡片结论。 - 原始内容:比如一条美拍,经过视频压缩和清晰度的权衡,10s的视频大概1MB多,而一条5分钟视频的美拍甚至要达到几十MB,比几十Byte或者几百Byte的文本要大得多……视频处理的操作是非常慢的,会带来巨大的资源开销。