gpt4 book ai didi

video - HTML5 视频的字节范围请求(伪流式传输)如何工作?

转载 作者:行者123 更新时间:2023-11-28 21:39:14 24 4
gpt4 key购买 nike

如果您播放托管在接受范围请求的服务器上的视频的 HTML5 视频,那么当您尝试向前搜索视频的非缓冲部分时,您会从网络流量中注意到浏览器发出字节范围请求。我假设浏览器通过提前知道总视频大小并假设比特率恒定来计算字节(如果您在进度条中单击一半,那么它将在中间点请求字节)。但特别是如果视频是可变比特率的,它请求的字节似乎不太可能真正对应于用户点击的时间点,并且字节很可能落在帧的中间。

浏览器如何知道下一帧的开始是什么,一旦它开始获取某个任意字节?

最佳答案

我假设您的视频在 Mp4 容器中。 mp4 文件格式包含“框”的层次结构。这些框之一是采样时间 (stts) 框。此框包含每个帧的时间(以紧凑的方式)。从这里您可以找到包含使用 Sample-to-Chunk (stsc) 原子的帧的“ block ”。最后, block 偏移原子 (stco) 为您提供文件中的字节偏移量。

电影的总持续时间存储在电影 header 原子 (mvhd) 中。当您移动滑动 handle 时,根据电影的持续时间和您松开滑动 handle 的位置估算时间,根据之前下载的文件头进行计算,并发出请求。

编辑:如果不是mp4,其他容器也有类似的机制。编解码器无关紧要。

关于video - HTML5 视频的字节范围请求(伪流式传输)如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18178374/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com