Neflix System Design: How does Netflix onboard new content
youtube 原视频链接
https://www.youtube.com/watch?v=x9Hrn0oNmJM
当用户想要上传视频的时候会遇到如下的问题, 视频需要处理成
1. 不同的格式(MP4, AVI ...)
2. 不同的清晰度 (1024P,720P ...)
假设需要处理成f个格式,r种清晰度,那么一个视频需要处理存储f*r遍, 每次的处理都需要一定的时间
如果将一个视频的f*r次的处理用一台电脑实现,这台电脑的负荷比较大,并且一旦crash,可能又得重新处理这个视频
所以,Netflix将一个视频分成了很多chunk,假设有chunk a, b, c ..., 每个chunck 处理成不同的format可以用不同的processor来处理
chunck a (MP4, 720P)
chunk b (AVI, 720P)
向上面chunk a, chunck b 处理成不同的格式可以分开在不同的机器上处理,就算一个机器crash 了, 不至于需要重新处理整个视频文件,只需要重新处理某个chunk就行
为了让用户加载chunck的时候有更好的体验,不按时间来划分chunck,而是根据场景来划分,scenes>timestamp
可以通过比如说每4s为一个shots,通过合并多个shots来获得一个场景的ch