> I'm trying to access a live RTSP stream from an AXIS camera through the RTSP 
> proxy with the proxyServer program. So far no luck. It works just fine for 
> VLC but not for QuickTime. The problem seems to be that RR packets are not 
> treated the same way: with VLC the noteClientLiveness method is called so the 
> client session does not timeout. With QuickTime noteClientLiveness is not 
> called so after a few seconds I get the message "RTSP client session (id 
> "6F559A12", stream name "proxyStream") has timed out (due to inactivity)". 
> Find attached both logs in verbose and debug mode. Any ideas?

Hmm, you failed to mention that there are a lot of things different about your 
two client sessions - apart from just the media player application that they 
use.  

You are apparently running VLC on the same computer (192.168.0.26) on which 
you're running the "LIVE555 Proxy Server".  That's OK, but strange.

On the other hand, you are running QuickTime Player on a different computer: 
192.168.0.28.  That's also OK (and not strange :-).  What *is* strange, 
however, is that QuickTime Player is requesting RTSP-over-HTTP streaming (using 
port 8000), even though it seems to be running on the same subnet as the proxy 
server, and therefore could probably just requested regular RTSP streaming 
instead.

The problem seems to be that - for some unknown reason (perhaps an 
incompatibility in the way that QuickTime Player implements RTSP-over-HTTP 
streaming?) - the QuickTime Player client is not sending periodic RTCP packets 
to indicate its liveness.

The quickest solution would be to stop your QuickTime Player client from 
requesting RTSP-over-HTTP streaming - something that it probably doesn't need 
to do.

Another solution (not recommended) would be to stop the proxy server from 
timing out clients due to inactivity.  You can do that by setting the 
"reclamationTestSeconds" parameter to 0 in the calls to 
"RTSPServer::createNew()" in "proxyServer/live555ProxyServer.cpp".  I.e., 
change the calls to
        RTSPServer::createNew(*env, rtspServerPortNum, authDB);
to
        RTSPServer::createNew(*env, rtspServerPortNum, authDB, 0);
(The disadvantage of this, however, is that TCP connections (and sockets) for 
clients that die without doing a RTSP "TEARDOWN" will stay around indefinitely, 
and eventually your proxy server will run out of sockets.)

The ideal solution would be fix whatever problem is causing QuickTime (when 
using RTSP-over-HTTP streaming) to apparently not send RTCP "RR" packets 
correctly.  Unfortunately we can't help you with this; however, you should make 
sure that QuickTime is up-to-date on this computer (which looks like it's 
running Windows XP).


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to