live555服务端无故停止发送

yong_hen 2014-12-18 11:09:30
前一段时间根据live555的testOnDemandRTSPServer做了一个服务端程序发送流媒体数据的程序,如果选择UDP传输的话,程序运行很好。选择TCP的话,服务端总是无故停止发送。主要情况如下:
1、发送640x480视频没有问题。分辨率越大,越容易出问题,并且出问题的时候越早。
2、如果开启RTPIntelface中的DEBUG_ _SEND宏,则不论发什么分辨率都不出问题。(注:有consol窗口)
3、live555类库使用debug版观察,发现服务端一直有sending report, sending packet,doGetNextFrame()也总是调用,即使客户端已经收不到数据了(WirkShark也显示服务端未发送数据)。直到65秒以后超时,服务端处理超时流程之后才会停止sending report, sendping packet.
4、用live555的MediaServer测试,表现情况也是一样的。
...全文
563 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
smilestone322 2015-01-08
  • 打赏
  • 举报
回复
引用 4 楼 yong_hen 的回复:
注:此情况只在TCP模式下产生,UDP模式不会产生。 另外,我就此情况询问了live555官方。官方的意思是说这种情况是固有存在的,暂无法妥善解决。而我的这种解决方式,他们并不推荐。
我在rtp over tcp时,发现有时数据包解析不出来,改成rtp over udp 就ok
yong_hen 2015-01-06
  • 打赏
  • 举报
回复
注:此情况只在TCP模式下产生,UDP模式不会产生。 另外,我就此情况询问了live555官方。官方的意思是说这种情况是固有存在的,暂无法妥善解决。而我的这种解决方式,他们并不推荐。
yong_hen 2015-01-06
  • 打赏
  • 举报
回复
引用 2 楼 smilestone322 的回复:
修改live555的源码,将socket 的发送缓冲改大,另外将服务端的缓冲区也改大看看,看下我的博客,有个live555 专栏
不是这个问题的。我的缓存足够大。并且在缓存较小时,会有warning信息输出的。 现在问题暂时已经解决。 我是修改了RTPInterface里面的源代码。Line328行由 if (!sendDataOverTCP(socketNum, framingHeader, 4, False)) break; 改为 if (!sendDataOverTCP(socketNum, framingHeader, 4, True)) break;
smilestone322 2014-12-29
  • 打赏
  • 举报
回复
修改live555的源码,将socket 的发送缓冲改大,另外将服务端的缓冲区也改大看看,看下我的博客,有个live555 专栏
yong_hen 2014-12-19
  • 打赏
  • 举报
回复
没有人回答么???顶。
内容概要:本文围绕可变桨叶四旋翼无人机的规范控制与点对点运动模拟展开,重点研究优化推力分配策略在翻转动作中的应用与性能比较。通过Matlab代码实现,构建了四旋翼动力学模型,并设计了多种控制算法以实现精确的姿态调整与轨迹跟踪。研究对比了不同推力分配方案在执行高机动性翻转动作时的稳定性、能耗效率与响应速度,旨在提升无人机在复杂飞行任务中的动态性能与控制精度。该仿真研究为无人机飞控系统的设计与优化提供了理论依据和技术支持。; 适合人群:具备一定自动控制理论基础和Matlab编程能力,从事无人机控制、飞行器动力学或机器人系统研究的科研人员及研究生。; 使用场景及目标:① 实现四旋翼无人机在三维空间中的精确点对点运动控制;② 对比分析不同推力分配策略在执行翻转等高难度动作时的控制效果与能耗表现,优化飞行性能;③ 为无人机自主飞行、特技飞行及复杂环境下的机动控制提供算法验证平台。; 阅读建议:此资源以Matlab仿真为核心,建议读者结合相关控制理论知识,深入理解代码实现细节,重点关注动力学建模、控制律设计与推力分配模块。在学习过程中,应动手调试参数,复现文中翻转动作的仿真结果,并尝试拓展至其他复杂飞行任务,以加深对无人机控制机理的理解。

2,554

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧