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

关于 live555延迟优化之缓存区优化“StreamParser::afterGettingBytes() warning: read”” 的解决方法

若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/146354088

长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…)

Qt开发专栏:各种问题解决(点击传送门)


问题

  写live555流媒体服务,发现延迟较大,优化缓存区后,逻辑检查没问题,但是发现无法成功打开,报错“StreamParser::afterGettingBytes() ”。
在这里插入图片描述


分析过程

  在这里插入图片描述
在这里插入图片描述
这里的是一直编码压入缓存,rtsp服务器开启,此时没有rtsp客户端连接,所以缓存是没有被一直消耗的:
在这里插入图片描述
  首要优化的就是缓存区的大小,可以让连接慢一点,但是延迟快一点:
  在这里插入图片描述
  在这里插入图片描述
  直接定位源码StreamParser::afterGettingBytes() warning: read”
  在这里插入图片描述

  然后打印一下,是不是把指针当字节数了:
  在这里插入图片描述
  分析结果如下:
  在这里插入图片描述

  其调用顺序:
  在这里插入图片描述

  在这里插入图片描述
  在这里插入图片描述

  在这里插入图片描述
  所以,是调用了以下几个变量:

fAfterGettingClientData
fFrameSize
fNumTruncatedBytes
fPresentationTime
fDurationInMicroseconds

  调用如下:
  在这里插入图片描述
  发现对应的就是fFrameSize和fNumTruncatedBytes。


解决

  优化代码:
  在这里插入图片描述
  这样,延迟逻辑确实得到优化了:
  在这里插入图片描述
  这里只能说是live555代码开发的时候,变量没有初始化0,二次查源码就发现了,这里的缓存区优化完成。

在这里插入图片描述


本文章博客地址:https://hpzwl.blog.csdn.net/article/details/146354088

http://www.dtcms.com/a/165238.html

相关文章:

  • PLC与工业电脑:有什么区别?
  • 精益数据分析(35/26):SaaS商业模式关键指标解析
  • AI生成Flutter UI代码实践(一)
  • 【MongoDB篇】MongoDB的文档操作!
  • 运维打铁: 存储方案全解析
  • 【MongoDB篇】MongoDB的索引操作!
  • 文章记单词 | 第52篇(六级)
  • day11 python超参数调整
  • 32单片机——串口
  • C++初阶-string类1
  • Hadoop虚拟机中配置hosts
  • 微信小程序 XSS 防护知识整理
  • 上海车展,世界模型 + VLA,城区智驾进入下半场
  • 同时启动俩个tomcat压缩版
  • spring--事务详解
  • react-10样式模块化(./index.module.css, <div className={welcome.title}>Welcome</div>)
  • 神经网络用于地震数据时空均匀插值的方法与开源资料
  • 六、UI自动化测试06--PO设计模式
  • micro-app前端微服务原理解析
  • 论文笔记(八十二)Transformers without Normalization
  • linux系统加固
  • 逻辑回归之参数选择:从理论到实践
  • GNU gettext 快速上手
  • 两向量平行公式、向量与平面平行公式、两平面平行公式;两向量垂直公式、向量与平面垂直公式、两平面垂直公式
  • 基于 HT 构建 2D 智慧仓储可视化系统的技术解析
  • IP 地址和 MAC 地址是如何转换的
  • mac下载homebrew 安装和使用git
  • 3.2goweb框架GORM
  • 基于BM1684X+RK3588的智能工业视觉边缘计算盒子解决方案
  • c++线程的创建