[Live-devel] Viewing private RTSP streams through our RTSP->WebRTC proxy server

Ross Finlayson finlayson at live555.com
Sun May 29 20:33:34 PDT 2016


This email is for those of you who are interested in our ongoing experimental RTSP->WebRTC proxy server, demoed at
	http://webrtc.live555.com
Everyone else can simply ignore this email.

--------------------
Our demo lets you input the “rtsp://“ URL of a stream that you want to have proxied to WebRTC-compatible browsers.

For a “rtsp://“ URL that you enter on the web page, the stream must be accessible on the public Internet - i.e., it cannot be behind a NAT.  The reason for this is that our RTSP->WebRTC server runs on the public Internet, and therefore it can’t access the RTSP stream if it’s private.

HOWEVER, if you have a RTSP server that’s implemented using the LIVE555 code, you can use our experimental “REGISTER” RTSP server->client command to notify the RTSP->WebRTC server about your stream; this server will then be able to proxy your stream, even if it’s behind a NAT.

To test this, you can add the following code to your server, after you’ve added the stream’s “ServerMediaSession” object to the server:
	yourRTSPServer->registerStream(sms,
			"webrtc.live555.com", 11685,
			<your-response-handler-for-REGISTER>,
			NULL, NULL,
			True,
			<string-name-to-identify-your-stream>);
where:
	- “yourRTSPServer” is a pointer to your “RTSPServer” object
	- “sms” is a pointer to your “ServerMediaSession” object for your stream.  (You must have already added this to the server.)
	- <your-response-handler-for-REGISTER> is a pointer to an optional handler function (of type “responseHandlerForREGISTER”, see “include/RTSPServer.hh”).  Alternatively, you can leave this parameter as NULL.
	- <string-name-to-identify-your-stream> is a string name - chosen by you - that will identify the proxied stream.  (You should choose a string that other people are unlikely to choose.)

If you do this, then your WebRTC proxied stream should be viewable (from WebRTC-combatible browsers) at:
	http://webrtc.live555.com/view-stream.php?streamName=<string-name-to-identify-your-stream>


NOTE: There’s currently no “UNREGISTER” command (because I haven’t yet figured out the right way it should work).  Therefore, there’s currently no way to remove a back-end stream that you’ve asked to have proxied.  However, after 10 minutes of inactivity (from front-end clients), then the back-end stream proxying will get removed automatically.


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




More information about the live-devel mailing list