[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