【发布时间】:2020-01-05 02:10:49
【问题描述】:
我正在构建一个 HLS/DASH 流媒体服务器,今天我发现使用具有范围请求的单个大文件比使用许多小文件更好 - 这就是 Netflix 和 YouTube 目前正在做的事情。
但是有一个问题;因为我有一个不同的视频 CDN 域和实际的播放器页面(例如 netflix.com - nflxvideo.net)CORS 进入并在每个请求中发送一个 OPTION 请求。因为播放器发送了很多请求,这会浪费字节。
Netflix(也使用 nginx)和 YouTube 通过在 URL 或查询中发送范围来解决此问题,因此浏览器不会发送 OPTION 请求:
https://xx.nflxvideo.net/range/0-64209238?o=...
我正在尝试在 Nginx 中实现相同的目标,但 4 小时内我找不到任何方法。 我们将文件存储在服务器中,因此我们正在使用 sendfile。
谢谢!
【问题讨论】:
-
据我所知,没有标准的方法可以做到这一点。您需要编写代码来解析 URL 并重新调整指示的字节。
-
我目前正在解析 URL,但找不到将范围传递给 try_files 或其他任何内容的方法。
标签: nginx video-streaming http-live-streaming