我有一个用于加载视频的流式网络服务器。我还设置了一个简单的html页面,其中包含一个视频标签,用于请求视频内容。
初始请求的标题如下:
Range:bytes=0-
在我的服务器上,我将范围的结尾设置为:
Range:bytes=0-100000
这有效,并且html播放器使用标题:
请求内容的下一部分Range:bytes=100001-
然后返回其余内容。
如何获取html视频标记以请求正确的范围。
答案 0 :(得分:2)
您不要让浏览器请求“正确”范围。浏览器请求所需的范围。服务器必须响应它正确的范围请求。
答案 1 :(得分:2)
要提供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
只需复制音频和视频而无需更改)