admin管理员组

文章数量:1516870

EMBY通过反代后视频加载缓慢解决

Emby 反代后外网访问慢的解决方案

由于一台服务器上部署了多个服务,所以 Emby 只能通过域名区分进行访问。为了解决这个问题,我通过 Nginx 对 Emby 进行反向代理。然而,反代后发现 Emby 在内网可以瞬间加载视频,但在外网加载速度非常慢,甚至会出现视频未播放完就跳跃的问题。

问题描述

通过抓包分析发现,Nginx 反代 Emby 后,请求媒体的响应状态码是 200;而在内网直接访问(与 Emby 在同一网段)时,请求媒体的响应状态码是 206

  • Nginx 反代 Emby,此时请求视频媒体的响应状态码是 200:
Nginx 反代 200 状态码
  • 家里直接访问(与 Emby 在同一网段),此时请求视频媒体的响应状态码是 206:
内网访问 206 状态码
状态码解释
  • 200 OK:表示请求成功,服务器已成功处理了请求。对于 GET 请求,响应包含所请求的资源。
  • 206 Partial Content:表示服务器已成功处理了部分 GET 请求。通常用于支持范围请求,客户端可以请求资源的一个或多个部分。
解决方案

经过排查发现,这是因为 Nginx 反代 Emby 时进行了缓存,并且不允许只处理部分请求。解决方法是在 Nginx 反代配置中加入如下配置:

代码语言:javascript代码运行次数:0运行复制
proxy_buffering off;
proxy_set_header Range $http_range;
proxy_set_header If-Range $http_if_range;

加入上述配置后,请求视频媒体将返回状态码 206,此时外网观看视频将和内网一样可以立即播放,不会出现跳跃的问题,且拖动进度条后不需要等待很久的加载时间。

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-10-16,如有侵权请联系 cloudcommunity@tencent 删除服务服务器解决方案配置视频

本文标签: EMBY通过反代后视频加载缓慢解决