无法从Java RTSP服务器向RLC客户端发送RTP数据包

时间:2013-03-23 20:17:41

标签: java rtsp rtp

我目前正在扩展此项目http://www.csee.umbc.edu/~pmundur/courses/CMSC691C/lab5-kurose-ross.html以实现一个非常基本的RTSP服务器。

到目前为止,我有一个粗略的多线程实现,硬编码以使用VLC播放器作为客户端响应OPTIONS,DESCRIBE,SETUP和PLAY请求。问题是在响应PLAY请求后,VLC似乎没有确认在SETUP请求中指定的端口号上发送的任何RTP数据包。输出时,我的SETUP响应的相关部分 -

RTSPBufferedWriter.write("Transport: RTP/AVP;unicast;client_port="
                    + RTP_dest_port + "-" + (RTP_dest_port + 1)
                    + ";server_port=55556-55557" + CRLF);

RTP_dest_port匹配客户端请求。然后UDP初始化如下;

 RTPsocket = new DatagramSocket(55556);

...

senddp = new DatagramPacket(packet_bits, packet_length, ClientIPAddr, RTP_dest_port);  
RTPsocket.send(senddp);

然而,由于没有视频输出,数据包似乎永远不会到达客户端,并且最终会出现此错误。

live555 warning: no data received in 10s. Switching to TCP

在通过TCP模式切换到RTP之前。

我不确定UDP初始化是错误的还是接收到格式错误的RTP数据包但是没有将它们注册为mjpeg数据。关于到底发生了什么的任何建议都是非常有必要的!

仅仅是为了获取更多信息,我正在使用localhost对其进行测试,从TCP套接字检索ClientIPAddr并且还没有处理RTCP。

0 个答案:

没有答案