[Live-devel] New (custom) "REGISTER" command - for advertising a RTSP stream to a client or proxy server
Ross Finlayson
finlayson at live555.com
Wed Jun 19 00:00:40 PDT 2013
The latest version of the "LIVE555 Streaming Media" software supports a new, custom RTSP command: "REGISTER". This request is currently non-standard; however, I will shortly be submitting an IETF Internet-Draft document that describes it.
This command can be used to 'advertise' a RTSP stream (given by a "rtsp://" URL) to a client application, or to a proxy server. In particular, a server can use this command to advertise one of its own streams to a client application (or proxy server), which then gets to reuse the TCP connection on which it received the request. This can be useful if the server is behind a firewall or NAT (e.g., on a mobile phone data network), but the client application (or proxy server) is on the public Internet.
For (non-proxy) Servers:
====================
A LIVE555-based server application can 'advertise' one of its streams - described by a "ServerMediaSession" object in a "RTSPServer" - by calling the new member function:
"RTSPServer::registerStream()"
specifying the remote client application (or proxy server)'s name or IP address, and port number. This will send a "REGISTER" request, advertising the stream.
For Proxy Servers:
===============
To create a proxy server that automatically accepts incoming stream 'advertisements' (i.e., "REGISTER" requests), and proxies the advertised "rtsp://" URL for each such incoming request, create a
"RTSPServerWithREGISTERProxying"
rather than a usual "RTSPServer".
(see "liveMedia/include/RTSPServer.hh").
(For an illustration of this, note how we implement the new '-R' command-line option for the "LIVE555 Proxy Server".)
For Client Applications:
===================
A client application can create a simple server that accepts incoming 'advertisements' (i.e., "REGISTER" requests), and then automatically creates a new "RTSPClient" object to handle the "rtsp://" URL specified by each such incoming request. To do this, create a
"HandlerServerForREGISTERCommand"
object, by calling
"HandlerServerForREGISTERCommand::createNew()"
(see "liveMedia/include/RTSPClient.hh").
(For an illustration of this, note how we implement the new '-R' command-line option for the "openRTSP" application.)
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20130619/7185688f/attachment.html>
More information about the live-devel
mailing list