欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > 关于 live555延迟优化之缓存区优化“StreamParser::afterGettingBytes() warning: read”” 的解决方法

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

2025/5/1 23:13:54 来源:https://blog.csdn.net/qq21497936/article/details/146354088  浏览:    关键词:关于 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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词