Nginx关于视频播放反向代理

动机

这几天为了服务器上搭建的FileBrowser播放视频浏览了一堆资料,现在基本可以做个总结了.

FileBrowser是一个开源的基于Web的文件管理器,它支持在Web浏览器中访问和管理本地和远程服务器上的文件。它提供了一个简单易用的界面来上传,下载,编辑和共享文件。

FileBrowser可以通过简单配置与FTP,SFTP和WebDAV服务器进行交互,也可以通过配置实现单点登录 (SSO) 和双重验证等安全控制。此外,该应用还提供了一些高级功能,例如文件预览、搜索和多用户管理等。

FileBrowser旨在提供一个便捷的方式来管理您的文件,无论是在个人电脑上还是在云端存储。它是一个跨平台的应用,可以在Windows,Mac和Linux操作系统下运行,并且连同所需依赖,可轻松地在本地或云中部署。

之前写了用Nginx给FileBrowser反向代理,大致方法是先设置FileBrowser的BaseUrl,这一步是必须的,然后反向代理就代理这个BaseUrl.比如使用

filebrowser config set --baseurl /files

设置filebrowser,注意这里要在你的配置文件json或者db同目录下

然后在Nginx上设置

   location  ^~  /files/{ proxy_pass   http://127.0.0.1:9201/;proxy_set_header Host $proxy_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}

反向代理是一种网络服务架构,它充当服务器与客户端之间的中介。它接收来自客户端的请求,并根据某些规则将请求转发到后端服务器。并将后端服务器返回的响应返回给客户端。反向代理隐藏了后端服务器的真实地址,并可以通过负载均衡等技术来提高系统的可靠性和可伸缩性。

基本上这样就可以了,但是当我使用FileBrowser在线看视频时,出现了奇怪的问题.我在原本开放的端口上能正常看视频,虽然有点卡卡的,但也算基本正常,但是在代理的uri上却始终播不出来.

一开始我以为是FileBrowser的问题,绕来绕去搜了一些资料甚至想自己fork一份写一下,但都无果.

最后发现这个流媒体逆向代理缓存有关.在Nginx中也就是proxy_buffering这个参数

当proxy_buffering开启,A发起请求到B,B再到C,C反馈的数据先到B的buffer上,然后B会根据proxy_busy_buffer_size来决定什么时候开始把数据传输给A。

在此过程中,如果所有的buffer被写满,数据将会写入到temp_file中。

相反,如果proxy_buffering关闭,C反馈的数据实时地通过B传输给A。

之前默认proxy_buffering on;所以视频加载到满足proxy_buffers时才开始向代理服务器传输

如果数据很大的话,Nginx会接收并把他们写入到temp_file里去,大小由proxy_max_temp_file_size 控制。「当数据没有完全读完的时候」,Nginx同时向客户端传送的buffer 大小 不能超过 proxy_busy_buffers_size

所以到这里也就清楚了,另外还有一个参数proxy_cache

proxy_cache将从C上获取到的数据根据预设规则存放到B上(内存+磁盘)留着备用, A请求B时,B会把缓存的这些数据直接给A,而不需要再去向C去获取.

在Nginx服务器中,Proxy Buffer和Proxy Cache都与代理服务相关,主要用来提供客户端与被代理服务器之间的交互效率。Proxy Buffer实现了被代理服务器响应数据的异步传输,Proxy Cache则主要实现Nginx服务器对客户端数据请求的快速响应。

不过由于proxy_buffering已经关闭了,所以这个功能不会生效,但是经过测试也需要设置proxy_cache off

Nginx配置如下

   location  ^~  /files/
  {
proxy_cache off; 
proxy_buffering off;
   proxy_http_version  1.1; 
   proxy_pass   http://127.0.0.1:9201/;
   proxy_temp_file_write_size 2048k;
    proxy_set_header Host $proxy_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   
  }

最后

这里有mp4和mkv的视频格式,但是截至到发文位置,基本除了Chrome浏览器,其他浏览器包括Edge,对于mkv格式视频播放都没有很好的支持,Edge浏览器mkv视频只有画面没有音乐.

alt

参考资料

  1. [Nginx 反向代理 HLS 流媒体方法 – 主机指南 (hostarr.com)](https://www.hostarr.com/reverse-proxy-for-hls-stream/#:~:text=Nginx 反向代理 HLS 流媒体方法 1 1. 笔者服务器环境为 CentOS。,运行 Nginx 服务和设置开机自启动。 4 4. 编辑 Nginx 站点配置文件,加入下面这段反代规则(注意去掉注释)。)

  2. filebrowser/filebrowser: 📂 Web File Browser (github.com)

  3. 8分钟带你深入浅出搞懂Nginx - 知乎 (zhihu.com)

  4. Nginx 反向代理 FileBrowser | ConorLuo 博客 (buctllx.github.io)

  5. Installation - File Browser

  6. Stream Movies & TV Shows | Plex

  7. Nginx Proxy Buffer 和 Proxy Cache 的区别 - 简书 (jianshu.com)

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/9908.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nginx反向代理,让网页可以被别人访问

使用Nginx反向代理 1、下载Nginx   想要使用Nginx反向代理首先进入Nginx官网 http://nginx.org/2、在右侧选择download 3、选择自己操作系统的稳定版本 4、解压压缩包 5、进入html文件夹  把想要代理的网页替换文件夹中的index.html 6、回到nginx解压的主目录打开nginx.…

通过反向代理内网穿透访问视频监控

通过反向代理内网穿透访问视频监控 业务场景反向代理建立反向代理安装docker安装服务端安装客户端使用 穿透rtsp 业务场景 我们在客户的船上安装了监控设备,因为船只要横渡长江,长江南北属于不同的城市辖区,所以船在江中心时肯定会有4G基站变…

手把手教你搭建自己本地的ChatGLM

前言 如果能够本地自己搭建一个ChatGPT的话,训练一个属于自己知识库体系的人工智能AI对话系统,那么能够高效的处理应对所属领域的专业知识,甚至加入职业思维的意识,训练出能够结合行业领域知识高效产出的AI。这必定是十分高效的生…

网页在线沟通工具,网页即时聊天工具-ttkefu完全免费电话呼叫流程图

ttkefu的免费网页电话是怎么回事,应该怎么使用呢?都在哪里能加入免费电话 如图(1)在网站侧边加入免费电话 如图(2)在聊天咨询页面的网页电话 如图(3)点击打开网页电话,输入手机号或电话号。 (图1&#xf…

ChatGPT和New Bing作为AI界新宠,两者有何异同

ChatGPT和New Bing是两个不同的实体,它们之间有一些区别也有一些相似之处。我先说说各自的特点,再汇总说说两者的异同点。 ChatGPT的特点: ChatGPT是一个基于神经网络的自然语言处理模型,能够自动生成自然语言响应。ChatGPT的模…

AI正在取代人工?ChatGPT这样说.....

随着ChatGPT的大火,对于AI机器人的讨论热度空前,它表现出的强大功能性,给当前多领域带来了更多发展可能性,但同时也为该模型带来的一系列技术伦理问题,争议也随之而来。 ChatGPT表现出的智慧与强大令人激动&#xff0…

【人工智能】你知道 ChatGPT 有什么新奇的使用方式吗?请来看看 Open AI 内部工程师都怎么使用 ChatGPT 的

现在,大家基本上把能想到的ChatGPT的使用方法都研究遍了——从写作、写代码,到翻译、英语润色,再到角色扮演等等。 说一个高级的,来看看OpenAI内部是如何使用ChatGPT的。 目录 说一个高级的,来

ChatGPT禁令影响A股吗

3月的最后一天,意大利政府数据保护局暂时禁止OpenAI的ChatGPT,并对其展开涉嫌违反隐私规则展开调查,这是风靡全球3个多月的ChatGPT首次遇到挫折。 据瑞银上月发布的一项研究显示,ChatGPT预计在1月份,即推出两个月后&a…

ChatGPT决定要挑战“考研”,你猜它会上岸吗?

2023年考研 Postgraduate Entrance Examination ChatGPT挑战考研 它能成功吗? 写在前面 在众多“考研人”中,有一个不同寻常的参与者——ChatGPT。这个人工智能模型在2022年12月惊艳亮相,成为了众人关注的焦点。虽然ChatGPT没有身份证&…

AIGC的隐私安全问题及隐私保护技术

作者:京东科技 杨博 ChatGPT 才出现两个月,就已经引起了学术界的关注。微软成为ChatGPT母公司OpenAI的合作伙伴,并确认投资百亿美元。同时,微软正计划将 OpenAI 的技术整合到其产品中,包括Bing搜索引擎和其他软件,以增…

ChatGPT数据安全隐患?本想提高效率,数据却遭泄露

一项新的研究发现,15%的员工经常在ChatGPT上上传公司数据,其中超过四分之一的数据被认为是敏感信息,这使公司在无形中面临安全漏洞的风险。 6月的研究报告《揭示真正的GenAI数据暴露风险》分析了超过10000名员工,主要研究员工如何…

ChatGPT隐私保护的重要性

隐私保护是保障ChatGPT及其用户安全的重要因素。以下是一些关键的隐私保护问题和考虑因素: a. 用户数据处理:ChatGPT在生成回复时,可能会接收和处理用户的输入数据。确保用户数据的安全存储和合规处理,以保护用户的隐私。 b. 匿名…

ChatGPT对高等教育的可能影响与对策建议

ChatGPT来袭,将对高等教育带来哪些影响,我们又该如何应对? 对于ChatGPT,有人欢喜有人忧,不同人、不同领域评价不一。在一些人眼里,它就是天使,而在另外一些人眼里,它几乎可以说是魔…

盛世芳华游戏与微信公众号结合的DDD项目,已接入chatgpt。附源码。

1、项目介绍 基于游戏(盛世芳华)和微信公众号(小屋写随笔)做了该项目(已线上运行一年半 )该 项目将游戏里的部分数据通过微信公众号展示了出来,玩家可以通过发送文字、语音、图片来获取游戏里的处理后数据以及攻略。截至20230315,玩家互动次数已超过160万次。项目最初版本为传…

除了ChatGPT,这几个工具也好用到离谱!

最近几天全网刷爆的ChatGPT AI聊天机器人大家一定都关注了吧?作为设计师的我一直在体验这款 OpenAI 公司推出的聊天机器人,功能确实很强大,体验也还可以。 但是今天,我重新翻了一遍自己的工具收藏夹,整理了5个&#x…

chatGPT对于人类工作和生活产生的重大影响

chatGPT面世以来,不断地进行升级以及学习训练,目前已经在很多方面可以一定程度的替代传统搜索引擎甚至可以替代部分人类工作。 ChatGPT对人类有以下重大好处: 1. 提供即时的帮助和支持:ChatGPT可以在任何时间、任何地点提供即时…

ChatGPT前身GPT的论文-译文

写在前面 论文 Improving Language Understanding by Generative Pre-Training 地址 https://www.cs.ubc.ca/~amuham01/LING530/papers/radford2018improving.pdf ChatGPT火了,改论文作为ChatGPT的前身,可以从这里看到ChatGPT的原始影子。 摘要 自然语言…

ChatGPT 未来会对游戏行业带来哪些影响?

ChatGPT的出现,为整个游戏行业带来了新的思考。 ChatGPT是由微软发布的一个大型语言模型,在被训练之后能够进行对话式文本生成,目前已在多个领域取得了不小的进展,包括聊天机器人、智能客服等。 作为一款大型语言模型&#xff0c…

你可能不需要担心,AI对你的工作造成威胁:万字长文解读科技革命与人类发展

大家好,我是可夫小子,关注AIGC、读书和自媒体。解锁更多ChatGPT、AI绘画玩法。加:keeepdance,备注:chatgpt,拉你进群。 上周,AI似乎成为全互联网的焦点了。谷歌在2023IO开发者大会上&#xff0c…

ChatGPT启示录: 智能、推理的本质是什么?神经网络既是推理机,也是知识规则库?

多种因素让人类对自身的智力产生了一种自信,毕竟这个世界上其他生物没有我们大脑发达,智力似乎是上天给人类的独有礼物。作为孩子的父母,老师说孩子不努力似乎是可以接受的,但是说自己娃娃笨是极其羞辱的。 类似的,让很…