
获得徽章 0
赞了这篇沸点
有点意思:如何设计一个像YouTube的短视频平台架构?
整个系统过程,核心分为9步:
1、用户创建视频并上传,以及获取视频相关详细信息。
2、原始视频文件存放到对象存储Object Storage(例如亚马逊的S3)。
3、与此同步,视频元数据存放到数据库和缓存中(以便更快检索)。
4、在转码服务器对原始视频文件进行转码。转码目的是为了对视频的帧率,码率进行调整,将视频使用的编码格式进行变换。。
5、转码后的视频再存到另一个对象存储位置。
6、转码完成后,通过MQ消息队列进行服务通知。
7、转码状态处理器,负责把视频的最新数据更新到元数据数据库,同时写入刷新缓存。
8、此后,当有用户访问视频时(则发起视频流请求),该请求将会转到CDN(内容分发网络)。
9、CDN则负责从对象存储中提取视频,并以视频流方式返回。
(图转自bytebytego,翻译整理by dogstar)
整个系统过程,核心分为9步:
1、用户创建视频并上传,以及获取视频相关详细信息。
2、原始视频文件存放到对象存储Object Storage(例如亚马逊的S3)。
3、与此同步,视频元数据存放到数据库和缓存中(以便更快检索)。
4、在转码服务器对原始视频文件进行转码。转码目的是为了对视频的帧率,码率进行调整,将视频使用的编码格式进行变换。。
5、转码后的视频再存到另一个对象存储位置。
6、转码完成后,通过MQ消息队列进行服务通知。
7、转码状态处理器,负责把视频的最新数据更新到元数据数据库,同时写入刷新缓存。
8、此后,当有用户访问视频时(则发起视频流请求),该请求将会转到CDN(内容分发网络)。
9、CDN则负责从对象存储中提取视频,并以视频流方式返回。
(图转自bytebytego,翻译整理by dogstar)
展开
2
7