|
The LIVE555TM Proxy Server |
The "LIVE555 Proxy Server" is a unicast RTSP server - built from the "LIVE555 Streaming Media" software - that acts as a 'proxy' for one or more 'back-end' unicast or multicast RTSP/RTP streams (i.e., served by other server(s)).
The key feature of a proxy server is that it reads each 'back-end' stream only once, regardless of how many separate clients are streaming from the proxy server. This makes the proxy server ideal, for example, for streaming from a RTSP-enabled video camera (which might not be able to handle more than one connection at a time).
--> [RTSP client1]
[back-end RTSP/RTP stream] --> [LIVE555 Proxy Server] --> [RTSP client2]
...
--> [RTSP clientN]
live555ProxyServer <url>
where <url> is a RTSP URL
(i.e., beginning with "rtsp://")
of a 'back-end' stream (e.g., from a video camera).
After starting up, the server will display its own "rtsp://" URL for the proxy stream.
RTSP clients can then use this URL to play (i.e., receive) the proxy stream.
The server can act as a proxy for many 'back-end' streams - not just one. If you enter more than one "rtsp://" URL on the command line, i.e.,
live555ProxyServer <url1> <url2> ... <urlN>
then the server will - after starting up - display "rtsp://" URLs for proxying each one.
(Of course, you should proxy multiple streams only if you have sufficient network bandwidth to receive all of them.)
Alternatively, you can use the "-T <http-port-number>" option to request that each 'back-end' stream be sent (using TCP) over a "RTSP-over-HTTP tunnel", using the specified HTTP port number. RTSP-over-HTTP tunneling can be useful if you are behind a HTTP-only firewall. (Note, however, that not all 'back end' RTSP servers will support this.)
Note: The "-t" and "-T <http-port-number>" options apply only to the 'back-end' stream(s). They do not affect the 'front-end' streams from the proxy server to (potentially multiple) RTSP clients. Those streams can be over either UDP or TCP, depending upon what each client requests.
Alternatively, you could try including the user name and password inside the "rtsp://" URL, as: "rtsp://<username>:<password>@<hostname>:<etc.>". (This is not recommended, however, because - in this case - the password will be sent in the clear over the Internet. Also, not all 'back-end' servers will accept this type of URL.)
#ifdef ACCESS_CONTROL
#endif
in "live555ProxyServer.cpp".
Support for the "LIVE555 Proxy Server" (and the rest of the "LIVE555 Streaming Media" code) is provided via our developers' mailing list: "live-devel@lists.live555.com". Note that you must first subscribe to the mailing list before you can post to it; please also read the FAQ before posting to the mailing list.