[jitsi-dev] Unwanted each-to-each connection


#1

Hello!

I am using lib-jitsi-meet amd Jitsi Meet server side to implement an
application which would among other things, share a person's desktop
and a webcam and show it to all subscribers in the room, along with
the voice. Entirely one-directional, but with a lot of people in the
room, at least in the range of hundreds.

In general, it works, but i see that it opens unnecessary connections
between each pair of subscribers, for example with 1 transmitter and
10 subscribers, here is what i see in Colibri stats:

{"used_memory":4064,"rtp_loss":"0.49881","bit_rate_download":"811.832","audiochannels":22,"bit_rate_upload":"8118.32","conferences":3,"participants":22,"current_timestamp":"2016-05-22
18:04:00.145","graceful_shutdown":false,"threads":567,"total_memory":33697,"videochannels":22,"videostreams":242}

my understanding of this: Jitsi Meet app sends those small videos for
the 'icons' of all other participants, shown in the corner, which a
user can click to see a full screen view. that is an 'each to each'
service, so that will naturally result in N*N number of streams, and
indeed it is so for Jitsi Meet (2 users results in 4 streams, 3 users
in 9 streams, etc.). so probably server keeps sending me those streams
even as i don't want them. How do i tell server to stop sending me
these if i am using lib-jitsi-meet?

Obviously nothing is sent on these channels, because the subscribers
are not sharing anything, but still thinking how it may look like with
1000 subscribers makes me feel bad.

Thanks for advice!

Mikhail

PS: there are 2x more participants, channels and streams than
expectable because there are separate rooms for webcam and desktop,
that is OK


#2

Hey Mikhail,

A bit confused by your mail, so not sure where to start.

First of all, where do you get the idea that there are mesh
connections between all participants? I am confused because there is
no such thing.

Secondly, you claim successively that your application is
unidirectional and then that you get videos from all clients. If your
application is unidirectional, then why are all clients sending
videos.

If all clients are NOT sending videos then certainly the only video
that anyone is receiving is the only one being sent.

I guess it all comes down to: what exactly is the problem that you are
experiencing?

Emil

···

On Mon, May 23, 2016 at 6:30 AM, Mikhail Novikov <novikovmaa@gmail.com> wrote:

Hello!

I am using lib-jitsi-meet amd Jitsi Meet server side to implement an
application which would among other things, share a person's desktop
and a webcam and show it to all subscribers in the room, along with
the voice. Entirely one-directional, but with a lot of people in the
room, at least in the range of hundreds.

In general, it works, but i see that it opens unnecessary connections
between each pair of subscribers, for example with 1 transmitter and
10 subscribers, here is what i see in Colibri stats:

{"used_memory":4064,"rtp_loss":"0.49881","bit_rate_download":"811.832","audiochannels":22,"bit_rate_upload":"8118.32","conferences":3,"participants":22,"current_timestamp":"2016-05-22
18:04:00.145","graceful_shutdown":false,"threads":567,"total_memory":33697,"videochannels":22,"videostreams":242}

my understanding of this: Jitsi Meet app sends those small videos for
the 'icons' of all other participants, shown in the corner, which a
user can click to see a full screen view. that is an 'each to each'
service, so that will naturally result in N*N number of streams, and
indeed it is so for Jitsi Meet (2 users results in 4 streams, 3 users
in 9 streams, etc.). so probably server keeps sending me those streams
even as i don't want them. How do i tell server to stop sending me
these if i am using lib-jitsi-meet?

Obviously nothing is sent on these channels, because the subscribers
are not sharing anything, but still thinking how it may look like with
1000 subscribers makes me feel bad.

Thanks for advice!

Mikhail

PS: there are 2x more participants, channels and streams than
expectable because there are separate rooms for webcam and desktop,
that is OK

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

--
https://jitsi.org


#3

Hi Mikhail,

Hello!

I am using lib-jitsi-meet amd Jitsi Meet server side to implement an
application which would among other things, share a person's desktop
and a webcam and show it to all subscribers in the room, along with
the voice. Entirely one-directional, but with a lot of people in the
room, at least in the range of hundreds.

In general, it works, but i see that it opens unnecessary connections
between each pair of subscribers, for example with 1 transmitter and
10 subscribers, here is what i see in Colibri stats:

{"used_memory":4064,"rtp_loss":"0.49881","bit_rate_download":"811.832","audiochannels":22,"bit_rate_upload":"8118.32","conferences":3,"participants":22,"current_timestamp":"2016-05-22
18:04:00.145","graceful_shutdown":false,"threads":567,"total_memory":33697,"videochannels":22,"videostreams":242}

my understanding of this: Jitsi Meet app sends those small videos for
the 'icons' of all other participants, shown in the corner, which a
user can click to see a full screen view. that is an 'each to each'
service, so that will naturally result in N*N number of streams, and
indeed it is so for Jitsi Meet (2 users results in 4 streams, 3 users
in 9 streams, etc.). so probably server keeps sending me those streams
even as i don't want them. How do i tell server to stop sending me
these if i am using lib-jitsi-meet?

Obviously nothing is sent on these channels, because the subscribers
are not sharing anything, but still thinking how it may look like with
1000 subscribers makes me feel bad.

There aren't any peer to peer links; each participant has a single media connection with jitsi-videobridge. If your receivers don't send anything, the bridge will not forward anything.

The "videostreams" value you see in the COLIBRI stats is just an estimation of the total number of streams the bridge forwards. It doesn't take into account any receive-only endpoints (it assumes that everyone is sending), so it grows quadratically as you observed (unless you enable lastN).

Regards,
Boris

···

On 23/05/16 06:30, Mikhail Novikov wrote:


#4

The "videostreams" value you see in the COLIBRI stats is just an estimation
of the total number of streams the bridge forwards. It doesn't take into
account any receive-only endpoints (it assumes that everyone is sending), so
it grows quadratically as you observed (unless you enable lastN).

Understood. So i assume this is not a problem at all. Only thing i am
getting a little bit worries is a number of threads. It also appears
to be growing quadratically. But i will run another test with a bigger
number of virtual viewers (say 50) to be sure.