如何强制增加 Apache 中视频的 range-bytes 响应大小?
How to force increase the size of a range-bytes response for videos in Apache?
最新版本的 Safari(移动和桌面)缓冲视频比其他浏览器慢 4 倍,因为它发送许多小 range-bytes 请求而不是一些大请求。下面是一个示例请求和响应(此请求继续使用 64kb 的小尺寸,直到加载足够的数据来播放视频,在 Chrome、Firefox 和其他浏览器中,range-bytes 请求要大得多并且因此数据在一个流中传输得更快)。
是否可以通过强制我的网络服务器 (apache) 忽略 Safari 的 64kb 小 range-byte 请求并发送大量数据(大约 5MB)来解决这个问题?直接向视频文件提出请求。
Summary
URL: http://example.org/video.mp4?rand=942824
Status: 206 Partial Content
Source: Network
Request
GET /video.mp4 HTTP/1.1
Accept: */*
Connection: keep-alive
Range: bytes=0-65535
Accept-Encoding: identity
Response
HTTP/1.1 206 Partial Content
Content-Type: video/mp4
Content-Range: bytes 0-65535/467342440
Accept-Ranges: 0-467342440
Content-Length: 65536
Connection: keep-alive
Server: nginx/1.2.1
更新:我设法使用下面的代码更改了请求范围 header,但是即使 5mb 被快速下载,safari 继续发送这些小的 64kb 范围请求并忽略下载的 5mb 所以这个不是解决方案。
SetEnvIf Range bytes=0-65535 HAVE_MyRequestHeader
RequestHeader unset Range env=HAVE_MyRequestHeader
RequestHeader set Range bytes=0-5000000 env=HAVE_MyRequestHeader
没有。你不能改变它的服务器端。客户端发出请求,服务器完成请求。发送客户端未请求的数据可能会导致错误。
最新版本的 Safari(移动和桌面)缓冲视频比其他浏览器慢 4 倍,因为它发送许多小 range-bytes 请求而不是一些大请求。下面是一个示例请求和响应(此请求继续使用 64kb 的小尺寸,直到加载足够的数据来播放视频,在 Chrome、Firefox 和其他浏览器中,range-bytes 请求要大得多并且因此数据在一个流中传输得更快)。
是否可以通过强制我的网络服务器 (apache) 忽略 Safari 的 64kb 小 range-byte 请求并发送大量数据(大约 5MB)来解决这个问题?直接向视频文件提出请求。
Summary
URL: http://example.org/video.mp4?rand=942824
Status: 206 Partial Content
Source: Network
Request
GET /video.mp4 HTTP/1.1
Accept: */*
Connection: keep-alive
Range: bytes=0-65535
Accept-Encoding: identity
Response
HTTP/1.1 206 Partial Content
Content-Type: video/mp4
Content-Range: bytes 0-65535/467342440
Accept-Ranges: 0-467342440
Content-Length: 65536
Connection: keep-alive
Server: nginx/1.2.1
更新:我设法使用下面的代码更改了请求范围 header,但是即使 5mb 被快速下载,safari 继续发送这些小的 64kb 范围请求并忽略下载的 5mb 所以这个不是解决方案。
SetEnvIf Range bytes=0-65535 HAVE_MyRequestHeader
RequestHeader unset Range env=HAVE_MyRequestHeader
RequestHeader set Range bytes=0-5000000 env=HAVE_MyRequestHeader
没有。你不能改变它的服务器端。客户端发出请求,服务器完成请求。发送客户端未请求的数据可能会导致错误。