Sending multiple RTP Streams from one Kurento to single RTP endpoint on another Kurento

104 views
Skip to first unread message

Hemrajsinh Gharia

unread,
Apr 18, 2020, 2:20:35 PM4/18/20
to kurento
I am looking for sending multiple RTP streams from one kurento to single RTP receiver endpoint on another Kurento. I came across this RF 8018 https://tools.ietf.org/html/rfc8108 and I thought if we can achieve this in Kurento it would be great. 

The goal is
  • Master kurento will have all source streams, where all presenters will connect. So each presenter will have a WebRtc and an RTP endpoint (WebRtcEnpoint > RTP Sender Endpoint)
  • On Consumer Kurento, just have one RTP receiver endpoint which should receive all incoming streams from master Kurento's all RTP sender endpoints (basically on same IP:Port). All consumers (WebRtc users) will connect to this RTP endpoint for consuming the received streams from multiple presenters.
I think we can do that, I am just not clear how to setup generateOffer, processOffer and processAnswer. Because, 
  • On Master kurento, the offer will be the same for all presenters (because we want to send it to the same IP:Port). So on each new joining presenter, its RTP sender endpoint will call processOffer using the same offer. But the answer will be different. So does that each answer needs to go through processAnswer on Consumer (receiver) RTP endpoint?
  • On Consumer kurento side, when the single RTP receiver endpoint will call processAnswer for one presenter's RTP sender endpoint, next time for another presenter, it may give exception saying endpoint already negotiated.  
Thanks,
Hemraj

Hemrajsinh Gharia

unread,
Apr 19, 2020, 2:07:40 AM4/19/20
to kurento
I read this blog by Juan Navarro https://www.kurento.org/blog/rtp-i-intro-rtp-and-sdp. Great explanation thanks Juan..

After reading this I am curious if it possible to receive multiple audio streams through single SDP negotiation:

v=0
o
=- 3787580028 3787580028 IN IP4 172.17.0.1
s
=Sample SDP Answer
c
=IN IP4 127.0.0.1
t
=0 0


m
=audio 28668 RTP/AVP 111
a
=rtpmap:111 opus/48000/2
a
=recvonly


m
=audio 38668 RTP/AVP 111
a
=rtpmap:111 opus/48000/2
a
=recvonly


m
=audio 48668 RTP/AVP 111
a
=rtpmap:111 opus/48000/2
a
=recvonly

Thanks,
Hemraj

Micael Gallego

unread,
Apr 19, 2020, 3:25:12 AM4/19/20
to kur...@googlegroups.com
Take a look to this project:


It implements what you are trying to do using webrtc to connect several KMSs.

It is unmaintained, but it is a good start.

Regards

--
You received this message because you are subscribed to the Google Groups "kurento" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kurento+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/kurento/7d487dd3-2f1e-4aa1-a65f-f69c9bc10d9c%40googlegroups.com.

Juan Navarro

unread,
Apr 21, 2020, 8:37:24 AM4/21/20
to kur...@googlegroups.com
That's not possible; Kurento was written with the assumption of maximum 1 video, 1 audio, 1 data flow through each Element (Endpoints, Filters, etc).

If you send an SDP Offer such as the example one you mentioned, Kurento will reply with an SDP Answer with only the first audio media accepted, and the other ones will (should) come with their port set to 0 ("reject" port, as per the SDP Offer/Answer RFC).
Reply all
Reply to author
Forward
0 new messages