apache - 如何强制增加 Apache 中视频的范围字节响应的大小?

标签 apache http browser safari video-streaming

最新版本的 Safari(移动和桌面)缓冲视频的速度比其他浏览器慢 4 倍,因为它发送许多小尺寸的范围字节请求,而不是一些大的请求。下面是请求和响应的示例(此请求以 64kb 的小尺寸继续,直到加载了足够的数据供视频播放,在 Chrome、Firefox 和其他浏览器中,范围字节请求要大得多,因此数据传输量要大得多)在一个流中速度更快)。

是否可以通过强制我的 Web 服务器 (apache) 忽略 Safari 的 64kb 小范围字节请求,并发送大量数据(约 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

最佳答案

没有。您无法在服务器端更改它。客户端发出请求,服务器完成该请求。发送客户端未请求的数据可能会导致错误。

关于apache - 如何强制增加 Apache 中视频的范围字节响应的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53409489/

相关文章:

XML 回车符在发布后消失了

ruby-on-rails - 如果我使用域名而不是 ip 地址,http 请求需要时间

html - HTML 中的自定义 HTTP 请求 header

javascript - 如何在浏览器同步等移动设备中查看本地 Meteor Web 应用程序

c# - .NET 进程打开没有选项卡或地址栏的网页

javascript - jQuery focus() 页面滚动长度

python - 如何修复函数/符号 'pango_context_set_round_glyph_positions' 错误

php - 电子邮件服务器;如何配置 postfix 以满足我的需要? (我需要 SASL 或/和 TLS 吗?)

通过 .htaccess 进行 Javascript 压缩?

apache - LocationMatch 和 ProxyPassMatch 如何结合?