如何快速获取视频的第 n 帧?

我们的视频播放软件(本地的,不是流媒体),可以随意跳到第 n 秒

这个功能是怎么实现的?

因为视频的一个一个 packet 组成,每个 packet 包含 [0,+∞) 个 frame

所以跳转到第 10 秒怎么实现?

一个视频 30 fps,难道要,从第 0 帧开始读取 300 帧,才播放吗?

这样的话,越拖到后面越慢

但是实际使用这些播放软件的时候,感觉都是秒级别的

阅读 3.5k
2 个回答

是通过关键帧和差分帧的机制,播放器可以很快跳转到视频的任何位置,而不用解码所有的帧。

我们的视频播放软件(本地的,不是流媒体),可以随意跳到第 n 秒

这个功能是怎么实现的?
Accept-Ranges

推荐问题