为 Firefox 指定范围请求长度

specify range request length for Firefox

我正在制作一个供个人使用的小型媒体服务器,我正在尝试使用范围请求,因为它将发送 movies/tv 显示此类内容。我让它使用 8mb 块大小,这在性能方面似乎很好。但是,Firefox 要求提供整个文件。我已经看到,当它要求字节“0-”时,您应该提供全部内容,但这种做法违背了目的,不是吗?我可以控制客户端和服务器端(这是 运行 一个 python 套接字,所以我可以逐个数据包地控制正在发生的事情)但是我在任何地方都看不到如何指定什么大小要请求的视频,例如请求 0-8388608。

大多数浏览器会针对普通 mp4 或类似文件请求整个文件并主动缓存。现在,如果您主动在客户端中寻找,他们往往会关闭连接并使用字节偏移量请求其余部分。

如果您想让它当时只请求块或片段,您将需要转向适当的自适应流,例如 HLS 或 MPEG-DASH。在这些标准中,HLS 可能是最容易实现的,但两者都至少需要创建一个清单文件。

在 javascript 中无法控制此行为,或者仅向浏览器提供纯 .mp4 或类似文件时无法控制此行为。