javascript - HTML5 视频 : Modify http range request headers

标签 javascript html video http-headers

我有一个 html5 视频播放器(视频标签)。当页面加载时,它会向视频文件发送请求。

是否可以修改http请求头的Range字段? (看截图,2条红线之间)

范围:字节=0- 将下载整个视频,例如我想将其限制为“范围:字节= 0-1000000”

Screenshot

视频文件托管在 CDN 上,所以我无法在服务器端执行任何操作。

最佳答案

您可以使用 XMLHttpRequest 发送范围请求!如果服务器“接受范围:字节”,则在 window.URL.createObjectURL 上获取一个 blob 文件。 video 标签为您提供了大量的事件和属性,因此您始终知道缓冲的内容以及您所在的位置。即使用户单击了进度条、暂停或停止按钮。由于与字节范围相比,视频属性是基于时间的,因此您需要来自视频文件的一些额外信息,称为视频元数据。我玩过Yamdi获取播放时间与文件搜索位置比率的 xml 文件,并在 .flv 的开头设置元数据。

在服务器端读取范围 header (bytes=number1-number2...),打开视频文件,查找 number1,打印 (number2-number1+1) 字节并发送一些特定的 header :Content-Type,Content -处置,HTTP/1.1 206 部分内容,内容范围。

你应该跟随寻找的位置。长度由您决定。

关于javascript - HTML5 视频 : Modify http range request headers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15819215/

相关文章:

javascript - 为什么 Chrome 在使用后退按钮后不显示选定的 <option> 元素?

javascript - var X=Y 仅在空格之前传输字符串。 Y = regex.exec(字符串);

css - 如何将一个类的边界扩展到其他类

iPad Safari 忽略 html5 视频上方的 div onclick

objective-c - iOS Movie Player 可以在多大程度上进行自定义和样式化?

c - OpenCV 错误(cvCreateFileCapture())

javascript - 如何编辑 jQuery 动画以显示在元素中间?

javascript - 修复了导航栏在回发时消失的问题

javascript - 在 javaScript 中给定时间后图像没有改变

html - Bootstrap 3 : Filter content of input field using css