7 视频流系统设计
视频流系统设计
设计 Youtube
Scenario#
月活跃用户(MAU): 20亿
日活跃用户(DAU): 1.5亿
每天观看视频数量: 50亿
每分钟上传视频时长: 500个小时
用户平均观看时间: 40分钟
Service#
-
上传服务 Upload Service
-
缩略图服务 Thumb Service
-
视频服务 VideoService
-
清晰度服务 QualityService
-
转码服务 EncodeService
Upload Service
上传视频到分布式文件系统, 推荐选型 HDFS, Minio. 上传视频是需要分块上传, 断点续传, 防止失败后重头开始上传.
视频切片后, 需要计算每一个切片的哈希值. 传输完毕后需要检测哈希值是否一样, 如果不一样说明文件在传输过程中损坏.
这里应该需要设计一个滑动窗口, 来实现控制. 这样也方便并行传输.
Scale#
分布式文件系统比较: 不要主动说选择什么. 有很多种类的文件系统, 场景和成本都不一样, 不要主动说选择什么, 因为并不了解.
CDN 作为视频服务的缓存.
作者:Kohn
出处:https://www.cnblogs.com/geraldkohn/p/17091104.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗