最近因需要搞写rtsp客户端,由于缺乏对rtsp的理解。 所以在网上下了个开源的live555程序。里面有专门的rtsp客户端。
我使用它里面提供的openRTSP 来做测试。问题现像是,客户端一会就关闭了。
命令行参数 : -f 17 -s 10 -w 840 -h 480 -B 2000000 -u admin 12345 -v -c rtsp://192.168.0.10:554/JPEG
。前面OPTIONS, DESCRIBE, SETUP. 都没问题。就在PLAY 的时候出错了。
我仔细跟了一下,情况大致是调用函数 startPlayingStreams() 时出错了。
我抓包看了一下。发送PLAY 命令是成功了的。而且还有返回值。返回值
RTSP/1.0 200 OK
CSeq:5
Session:1184842943
RTP-Info:url=trackID=1
seq=8506。
再跟了一下,是 parseRangeParam 不能解析 “Range: npt=now- “返回false. 导致 函数RTSPClient::handlePLAYResponse 操作失败(也就是说不能解析出play是否成功)。
我也照着官网 http://www.live555.com/openRTSP/ 上面 的Playing-time options 里面的那样操作,也是一样的失败。
有知道有朋友遇到这个问题没有? 有的话请帮忙解决一下啊
2010年7月22日。 问题已经解决。 后来新出的live555解决了此问题
本文记录了一个使用live555 RTSP客户端时遇到的问题及解决过程。客户端在播放时出现错误,通过跟踪发现是由于无法正确解析PLAY响应中的Range参数导致。升级live555版本后问题得到解决。
1242

被折叠的 条评论
为什么被折叠?



