Can multiple VideoRoom publishers RTP into the same mountpoint streaming?

I’m experimenting with sending multiple publishers from the VideoRoom plugin into a single Streaming mountpoint in Janus.
The idea is that each track (audio/video) would map to a different port inside the mountpoint.

Here’s an example of the mountpoint I created:

{“janus”:“success”,“session_id”:8454872268941504,“transaction”:“Gt5XIidjkj5”,“sender”:1066734851300173,“plugindata”:{“plugin”:“janus.plugin.streaming”,“data”:{“streaming”:“created”,“created”:“mp-8454872268941505”,“permanent”:false,“stream”:{“id”:8454872268941505,“type”:“live”,“description”:“Stream-8454872268941505”,“is_private”:false,“ports”:[{“type”:“audio”,“mid”:“a0”,“port”:10451},{“type”:“audio”,“mid”:“a1”,“port”:14028},{“type”:“video”,“mid”:“v0”,“port”:12842},{“type”:“video”,“mid”:“v1”,“port”:16310}]}}}}

I tried this setup, but it seems the mountpoint only accepts one publisher — the others don’t get through.

Can anyone confirm:

  • Does the Janus Streaming mountpoint support multiple RTP publishers from VideoRoom?

  • Or is it strictly limited to a single publisher?

  • If I need multiple audio/video tracks (from different publishers), what’s the correct approach?

Thanks in advance!

The only constraint the Streaming plugin has is that you can’t have multiple sources feed the same port at the same time: they can take turns, but not send RTP packets to the same port. For different ports there’s no constraint, instead: you can definitely have user A send RTP to port X, and user B send RTP to port Y, where X and Y belong to the same mountpoint.

Thank your reply.
On the same streaming point(4port), can I call RTP_Forward many times for different publishers

Example:

First publisher join → I call rtp_forward like this:

{
“room”: 6316492184514278,
“feed”: 2451694246213369,
“secret”: “adminpwd”,
“simulcast”: true,
“host”: “127.0.0.1”,
“streams”: [
{
“type”: “audio”,
“mindex”: 0,
“mid”: “0”,
“codec”: “opus”,
“fec”: true,
“audiolevel_ext_id”: 1,
“port”: 15995
},
{
“type”: “video”,
“mindex”: 1,
“mid”: “1”,
“codec”: “vp9”,
“vp9_profile”: “0”,
“playoutdelay_ext_id”: 5,
“port”: 19136
}
]
}

Second publisher join → I call another rtp_forward:

{
“room”: 6316492184514278,
“feed”: 5119743463762836,
“secret”: “adminpwd”,
“simulcast”: true,
“host”: “127.0.0.1”,
“streams”: [
{
“type”: “audio”,
“mindex”: 0,
“mid”: “0”,
“codec”: “opus”,
“fec”: true,
“audiolevel_ext_id”: 1,
“port”: 11962
},
{
“type”: “video”,
“mindex”: 1,
“mid”: “1”,
“codec”: “vp9”,
“vp9_profile”: “0”,
“playoutdelay_ext_id”: 5,
“port”: 18421
}
]
}

As I said, as long as you’re sending/forwarding to different port, there’s no trouble. I see simulcast in there, though, so just make sure your trouble doesn’t come from there (simulcast=multiple RTP sessions).