> Do you know a way to change the SETUPrtsp in your client code (openRTSP) to 
> indicate that the two track go to two different IP (interface) for example:
> 4,0.002474,195.134.1.6,195.134.1.2,RTSP/SDP,Reply:RTSP/1.0200OK,withsessiondescription
> 5,0.004125,195.134.1.2,195.134.1.6,RTSP,SETUPrtsp://195.134.1.3/spatialSoc_basenh3.mp4/trackID=65536RTSP/1.0
> 6,0.004885,195.134.1.6,195.134.1.2,RTSP,Reply:RTSP/1.0200OK
> 7,0.005351,195.134.1.2,195.134.1.6,RTSP,SETUPrtsp://195.134.1.6/spatialSoc_basenh3.mp4/trackID=65538RTSP/1.0

No - this makes no sense.  The IP address (actually, it could also be a domain 
name) in the "rtsp://" URL that appears in a RTSP command (such as "SETUP") 
refers to an address on the *server*.  It is not a client address.  (Note that, 
in practice, because RTSP commands are sent over a TCP connection that has 
already been set up, these IP addresses (or domain names) in the "rtsp://" URLs 
are not actually looked at all by the server.)

If you - as a RTSP client - want to specify that the stream should be sent to a 
*different* IP address from the IP address of the client, then the way to do 
this - in the RTSP protocol - is to include, in the "SETUP" command, a 
"Transport:" header that contains, e.g.
        destination=123.45.67.89;

However, there are two big practical problems with doing this:
1/ Our RTSP client code does not support this (and there are no plans to do 
so).  (Conceivably, you *might* be able to implement this by subclassing 
"RTSPClient", but it wouldn't be easy.)
2/ Most servers will not handle "destination=" parameters in a "SETUP" 
command's "Transport:" header, because it (i.e., allowing a client to specify 
some arbitrary 3rd party as being the stream's destination) is a security risk: 
It makes possible 'denial of service' attacks.  Our server implementation does 
support this, but only if the compile-time macro 
RTSP_ALLOW_CLIENT_DESTINATION_SETTING is defined (see "RTSPServer.cpp", line 
1282).

But if your intention is to send the two video tracks to different interfaces 
within the same client, then the best way to do this is to keep things the way 
that they work now: Send both streams to the same (client) IP address, but with 
different port numbers.


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

_______________________________________________
live-devel mailing list
[email protected]
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to