最近因需要搞写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解决了此问题