HTML 5 视频代码范围标头



我有一个内置的流媒体网络服务器来加载视频。我还设置了一个简单的 html 页面,其中包含请求视频内容的视频标签。

初始请求的标头如下:

Range:bytes=0-

在我的服务器上,我将范围的末尾设置为:

Range:bytes=0-100000

这有效,html播放器请求内容的下一部分,标题为:

Range:bytes=100001-

然后返回其余内容。

如何获取 html 视频标签以请求正确的范围。

您不会使浏览器请求"正确"的范围。浏览器请求所需的范围。 服务器必须正确响应它发出的范围请求。

若要提供video元素所需的信息,需要将帧的元数据放在文件的开头。它包含在MOOV原子中,并且可以在MP4视频的开头重新定位(因此在最初打开文件时读取(使用ffmpeg之类的东西。这将允许video元素正确请求起点和终点,而不仅仅是开始并希望结束......

./ffmpeg -y -i SourceFile.mp4 -c:a copy -c:v copy -movflags faststart DestFile.mp4

这将简单地重新定位MOOV原子,而无需任何其他转码(-c:a copy-c:v copy只需复制音频和视频而无需更改(

最新更新