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

    选择打赏方式

背景

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

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

  • Nginx 反代 Emby,此时请求视频媒体的响应状态码是 200:

  • 家里直接访问(与 Emby 在同一网段),此时请求视频媒体的响应状态码是 206:

    状态码解释

  • 200 OK:表示请求成功,服务器已成功处理了请求。对于 GET 请求,响应包含所请求的资源。

  • 206 Partial Content:表示服务器已成功处理了部分 GET 请求。通常用于支持范围请求,客户端可以请求资源的一个或多个部分。

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

proxy_buffering off;
proxy_set_header Range $http_range;
proxy_set_header If-Range $http_if_range;

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

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=1usz1yhdm4zlh

版权声明:若无特殊注明,本文为《铭心》原创,转载请保留文章出处。
本文链接:https://em.mxin.moe/emby.html
正文到此结束

热门推荐

发表吐槽

你肿么看?

你还可以输入 250 / 250 个字

嘻嘻 大笑 可怜 吃惊 害羞 调皮 鄙视 示爱 大哭 开心 偷笑 嘘 奸笑 委屈 抱抱 愤怒 思考 日了狗 胜利 不高兴 阴险 乖 酷 滑稽

评论信息框
可使用QQ号实时获取昵称+头像

私密评论

吃奶的力气提交吐槽中...


既然没有吐槽,那就赶紧抢沙发吧!