关于 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"

然后打印一下,是不是把指针当字节数了:

分析结果如下:

其调用顺序:

所以,是调用了以下几个变量:

cpp 复制代码
fAfterGettingClientData
fFrameSize
fNumTruncatedBytes
fPresentationTime
fDurationInMicroseconds

调用如下:

发现对应的就是fFrameSize和fNumTruncatedBytes。

解决

优化代码:

这样,延迟逻辑确实得到优化了:

这里只能说是live555代码开发的时候,变量没有初始化0,二次查源码就发现了,这里的缓存区优化完成。

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

相关推荐
aqi004 小时前
FFmpeg开发笔记(八十五)基于PyQt和FFmpeg的开源视频剪辑器OpenShot
ffmpeg·音视频·直播·流媒体
胖纸不争3 天前
🚀 Berry.Live:开箱即用的.NET直播流媒体服务器
流媒体
aqi006 天前
FFmpeg开发笔记(八十四)使用国产的librestreaming实现RTMP直播
ffmpeg·音视频·直播·流媒体
aqi007 天前
FFmpeg开发笔记(八十三)国产的视频裁剪框架AndroidVideoTrimmer
android·ffmpeg·音视频·流媒体
aqi0013 天前
FFmpeg开发笔记(八十二)使用国产直播服务器smart_rtmpd执行推流操作
ffmpeg·音视频·直播·流媒体
aqi0017 天前
FFmpeg开发笔记(八十一)FFmpeg代码对RTSP和RTMP的推流区别
ffmpeg·音视频·直播·流媒体
QC七哥1 个月前
流媒体服务SRS环境的搭建
srs·流媒体
liulilittle1 个月前
HTTP/3.0:网络通信的技术革新与性能飞跃
网络·网络协议·http·https·quic·流媒体·通信
linux开发之路2 个月前
C++ 音视频开发常见面试题及答案汇总
c++·ffmpeg·音视频·流媒体·音视频编解码
阿赵3D2 个月前
Unity引擎播放HLS自适应码率流媒体视频
unity·游戏引擎·音视频·流媒体·hls