新版live555的问题
本人在做RTSP/RTP代理服务器的过程中,遇到了一个令人悲忿(这正是我现在的心情)的问题.对于某个厂家的视频服务器,改用最新版live555(live.2011.12.02 .tar.gz)源码后,竟然无论如何也不能转发那个视频服务器超过10秒钟!10秒内视频服务器必然会主动断开.
经过N天以契而不舍的苦逼型精神进行无数次折腾后,终于发现了原因:版本问题,新版源码反而不行!
分析其原因,应是出在新版改变了对RTCP包发送时间的计算规则.可能更科学了,但很多现有服务器却接受不了.具体是这样的:一般情况下,在收到Server端的SR包时,Client都会回应RR包,这样Server端的包与Client端的包交叉出现.估计那些Server会用RTCP包作为一种心跳测试,而新版的live555会导致RR包的发送延迟更长时间,使SR包与RR包不能交叉出现,那么Server在发出SR包后收不到RR包,就会认为Client端死翘翘了,于是Bye-bye了.
对于新旧代码中有关RTCP包的发送代码,我还没有做过比较,但可以90%确定出来那里.
所以利用live555做项目的兄弟们请注意这个问题,尤其是利用它做客户端的.
不过,这样同时说明了一个问题,live555的更新还是蛮快的.
posted on 2011-12-21 09:28 android开发实例 阅读(1485) 评论(0) 编辑 收藏 举报