查看: 3372| 回复: 4
跳转到指定楼层
上一主题 下一主题
收起左侧

[题目讨论] 如何设计amazon prime video?

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
亚麻一道高频系统设计题,如何设计amazon prime video?求问大佬的思路,有什么需要注意的地方呢?

amazon prime video应该和netflix一样吧?都是注册付费看电影电视剧,grokking上有设计youtube的答案,但是youtube一个主要功能是上传video,这个功能prime video和Netflix肯定不需要吧?

抛砖引玉一下,我大概了解的是首先视频这类数据肯定需要CDN,每个server上都有相同的视频数据就近提供给用户。还需要一个编码encoding service,以提供不同视频格式给不同的设备。其他还有什么重点呢?求大佬们贡献意见,回复都会加米哒!!

上一篇:system design包括OOD吗
下一篇:Leetcode 超全总结进行中, 始于DP
全局:
讲一下,现在on demand的视频都是怎么做的。现在的视频点播都是基本都是基于html 5的video tag和MSE buffer来做的。通过http协议把视频音频分割成的一个个小的segment发送给用户,然后在用户的设备上进行decode。可以支持不同的bitrate,codec。视频的传输协议,有多种,常见的HLS,DASH。一般会定义视频segment的格式,manifest。客户端点接收到manifest就会根据里边的索引去请求音视频片段。当然需要前端player的支持。

如果你想创建一个简单的on demand的视频service,其实你只需要一个http服务器。然后把segment好的视频放上去,然后创建一个html页面,潜入video player,把视频的url指向你的manifest就可以了。

视频的处理非常的复杂。需要先使用ffmpeg以及不同的bitrate,codec,去encode视频。常见的codec就是h264和vp9。然后视频需要使用工具来进行segment,产生音视频片段和索引文件。之后放到http服务器上。

所以你需要:
1. upload的service,upload之后你需要有一个pipeline 来对视频进行一系列的处理。比如使用ffmpeg来encode,然后对视频进行segment处理。直到产生所需要的目标音视频文件。
2. 你需要一个 distribution service,把这些产生的文件distribute到不同的region。
3. http服务器,相应用户请求,传输文件给用户。可能需要负载均衡,保证可用性。
4. 可能还需要edge service,来实现一些热门视频的缓存。

大概这些吧。但是每个环节展开说,都是相当的复杂。

评分

参与人数 3大米 +4 收起 理由
北极兔兔鲨 + 1 给你点个赞!
lonelyint + 1 赞一个
csushin1992 + 2 欢迎分享你知道的情况,会给更多积分奖励!

查看全部评分

回复

使用道具 举报

推荐
lesliehe 2021-1-6 13:06:49 | 只看该作者
全局:
There Upload APIs are also needed which could be used by Netflix / Prime employee or content provider.

评分

参与人数 1大米 +1 收起 理由
北极兔兔鲨 + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
 楼主| 北极兔兔鲨 2021-1-3 07:26:52 来自APP | 只看该作者
全局:
顶一下希望得到大佬的解答
回复

使用道具 举报

🔗
csushin1992 2021-1-6 14:03:12 | 只看该作者
全局:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表