深入解析html5
本文将深入探讨HTML5
首先,浏览器
其次,浏览器分段加载MP4视频依赖HTTP请求头中的Range字段。用户点击视频进度条时,浏览器会计算目标片段在视频文件中的字节偏移量,然后在请求中使用Range头指定下载字节范围,例如:Range: bytes=31162368-33914879,表示请求从字节偏移量31162368到33914879的数据。 这个字节范围并非直接由秒数计算,而是需要考虑视频编码方式、帧率等因素。简单的秒数与文件大小比例计算无法精确得出每秒对应的字节数,因为视频编码会压缩数据,不同片段的压缩率也不同。浏览器根据视频元数据(例如MP4文件的moov原子)和编码信息精确计算字节偏移量,确定Range请求头值。服务器接收到Range请求后,返回对应片段并设置206 Partial Content状态码(如图所示)。浏览器可同时请求多个片段,用逗号分隔多个字节范围,服务器则使用multipart/byteranges Content-Type返回多个片段。
最后,浏览器发起的请求并非总能在开发者工具中直接观察到,这与浏览器的网络请求管理机制有关。许多底层请求不会暴露给开发者工具。
立即学习“前端免费学习笔记(深入)”;
以上就是HTML5 标签预加载时长和分段下载机制详解:如何控制视频预加载及计算Range请求头中的字节范围?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3047482.html