[Live-devel] RTCP functions when using BasicUDPSource

Ross Finlayson finlayson at live555.com
Wed Feb 29 07:00:45 PST 2012


> I would like to know what is the best way to get some of the RTCP info when using UDP in the server side.
> 
> Server side : we are using BasicUDPSource and StreamReplicator to send replicas towards the client apps.

So, is your server's input data RTP/UDP, or raw-UDP?  I.e., is your intention to:
	1/ Make a direct copy of incoming RTP/UDP packets into outgoing RTP/UDP packets (i.e., keeping the RTP headers exactly the same), or
	2/ Copy data from incoming raw-UDP packets (which are *not* RTP packets) into outgoing RTP/UDP packets?

If you're trying to do 1/ (a simple 'UDP relay'), then you should also be copying the RTCP stream (that comes from the same source as the input RTP stream).  Note that this RTCP stream will (normally) be using the RTP stream's port number +1; and you should do the same for the output ('relayed') RTCP packets.  And, ideally, you should also 'relay' RTCP packets from the receiver back to the original source (i.e., also set up a 'relay' for RTCP packets that come in the reverse direction).

But if you're trying to do 2/ (a 'raw-UDP-to-RTP relay'), then your server should be using an appropriate "RTPSink" subclass, *not* a "BasicUDPSink".  And then you should also be creating a "RTCPInstance", tied to this "RTPSink".  And once again, the output "RTPSink" should use an even-numbered port, and the corresponding "RTCPInstance" should use that port number +1 (i.e., odd-numbered).


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/20120229/1429c710/attachment.html>


More information about the live-devel mailing list