[Netflix] Playback service 怎么实现快进和回放?

请问以下playback service里的fast forward和rewind是按照以下来实现的吗?

Fast-forward: 首先这个playback client在第一次和server沟通之后得到那个DASH的manifest file,里面会包含每个chunk url和它对应的时间。然后随着用户播放视频,这个client会periodically的send HTTP GET 去预先下载后面的chunk来load up这个buffer。如果用户快进的位置是已经下载好的部分就直接在local load就好了。如果是没有下载到的部分,当用户点击一个视频的位置的时候,这个playback client就会去manifest file里,通过这个时间来找到对应的chunk url,从而download it。

Rewinding: 当用户在播放一个视频的时候,已经download的chunk会存在browser的local cache里,所以当用户回放之前已经下载过得内容,就直接从browser cache里面提取。这样的话应该这些local
cache都有TTL,会被定期删除以防cache size过大。

1 个赞

你这边提的 Fast-forward 和 Rewind 听上去指的是在进度条中向前和向后跳,那么你说的可以.
Fast Forward 和 Rewind 一般指的加速放视频以及倒放视频,这些机制会更复杂一点,牵涉到变速播放。