当前位置: 首页 > news >正文

实时画面回传的开发复盘

  1. 任务管理要注重对任务的全生命周期进行管理,设计好任务状态的枚举值是一个前提
  2. 要有超时机制,可以有多种方案,比如用redis的zset,把时间戳作为分值,然后用一个线程来读取到期的数据,处理后就从zset中移除
  3. 折腾了一圈,最终采用的方案是客户端用http的chunk模式推送ts二进制数据,服务端收到后用websocket进行广播,这样浏览器就可以准实时播放画面了。方案是领导提的,需要开阔自己的技术视野,方能找到这种简洁合适的方案。
  4. 在chunk模式推流时遇到了问题,经过nginx的转发后画面播放不出来了。借助ai找到了解决方案,应该是nginx对请求和响应做了缓冲导致的,禁用后就可以。 需要在nginx的主配置http模块中加入以下配置项:
    # 禁用请求缓冲proxy_request_buffering off;proxy_buffering off;proxy_http_version 1.1;# 关键头信息传递proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;# 保持原始传输编码proxy_set_header Transfer-Encoding "";# 超时设置(单位:秒)proxy_connect_timeout 86400;proxy_send_timeout 86400;proxy_read_timeout 86400;send_timeout 86400;# 禁用响应缓冲proxy_max_temp_file_size 0;

逢山开路遇水搭桥,遇到问题不可怕,尤其是当下有这么趁手的AI辅助工具,所以保持轻松乐观的心态。但仍然是需要学习的,因为不学习,你都没办法向AI提问~

http://www.lryc.cn/news/603147.html

相关文章:

  • 【LeetCode 热题 100】34. 在排序数组中查找元素的第一个和最后一个位置——二分查找
  • Linux之网络部分-应用层协议 HTTP
  • Objective-c 初阶——异常处理(try-catch)
  • 第2章算法分析:大O符号的定义和性质
  • 第17章——多元函数积分学的预备知识
  • golang--通道和锁
  • springboot集成deepseek
  • c++: 尾置返回类型(Trailing Return Type)
  • 【MySQL基础篇】:MySQL常用数据类型的选择逻辑与正确使用
  • 前段面试题新版
  • 【分布式版本控制系统】Git的使用
  • 完整复现cacti的RCE
  • 【Python】自动化GIT提交
  • Linux:线程同步与线程互斥
  • SpringBoot原理揭秘--自动装配
  • LeetCode 2044.统计按位或能得到最大值的子集数目:二进制枚举/DFS回溯(剪枝)
  • Leaflet 综合案例 - 路径规划
  • 3. 卷积网络代码参数解读分析
  • 前端高级综合搜索组件 SearchBox 使用详解!
  • 4.DRF 认证--Authentication4.DRF 认证--Authentication
  • django ManyToManyField 如何添加数据
  • python-内存管理
  • Kubernetes --存储入门
  • 基于FPGA和DDS原理的任意波形发生器(含仿真)
  • 做了一款小而美的本地校验器
  • 【0基础PS】PS工具详解--选择工具--对象选择工具
  • 天学网面试 —— 中级前端开发岗位
  • B树、B+树、红黑树区别
  • 安宝特案例丨AR+AI+SOP?3大技术融合革新军工航天领域
  • windows部署ACE-Step记录