Skip to main content
Participant
Jan 26, 2012 1:54 PM UTC
Question

P2P multicast and upstream bandwidth

Hi,

I'm in the process of developing a realtime video chat application where multiple users can send video streams simultanuously. The number of users receiving the streams can be very big, e.g. 10 broadcasters and 500 receivers, each receiver should get all streams.

I use RTMFP connections to an FMS and streams are published in P2P multicast groups by passing the groupspec to the NetStream constructor. Currently I'm having problems with audio/video synchronization and video stream 'jumps' (not continuous). From what I read on other threads, this is related to the fact that there is not enough upstream bandwidth for sending the streams. So my questions are:

  1. How to calculate the required upstream bandwidth on every peer for the given example of 10 broadcasters and 500 receivers (is it 10*bandwidth of one stream)?
  2. What settings (on NetStream, Camera, Microphone etc.) should be used for best results and how to adapt them based on the number of broadcasters?

I hope my questions make sense!

Thanks,

Haykel

This topic is closed to new replies. Start a new post to keep the conversation going.

9 replies

Participant
Aug 5, 2016 12:51 AM UTC

is this solved?
we have the same problem

1. multicast is setup, and console show it.

2. bandwidth need 50k more for each connections now

Thanks.

Translate
Nikhil_Kalyan
Participating Frequently
Feb 1, 2012 12:40 AM UTC

Hi,

Thanks for trying out P2P.

The actual upstream RTMFP usage of each client cannot be calcuated as such. There are no APIs at least for this item as of now. We can just expect that we utilize all the upload bandwidth available to us to push / pull streams to other peers in the P2P netgroup. So it is important to mind the upstream limitations on the network.

What exactly are you looking for when you meant settings for the items ? If you are looking for good quality/ high bitrate video, using any encoder for publishing would make a lot of difference.

Number of subscribers/broadcasters should not ideally make much of a effect in a P2P case. On the other hand, P2P mesh would work much better with increasing number of  clients, technically , as the P2P mesh grows larger with more clients pushing and pulling the data.

Please let us know if you need more information. Thank you !

Translate
Participant
Feb 1, 2012 7:32 AM UTC

Hi,

Thanks for your response.

What I'm looking for is to avoid audio and video going out of sync and to have smooth video streams (no breaks, no jumps). As I said earlier, this seems to be related to unsufficient upstream bandwidth. So the solution seems to be to dynamically find the settings for Camera (and probably other classes) to have the best possible quality for the available upstream bandwidth. The number of broadcasters is not fixed, they can join and leave the discussion anytime, so I can't really make assumptions or calculations upfront.

Can we use NetStreamMulticastInfo somehow to monitor P2P and network conditions and change settings accordingly?

You mentioned I should use an encoder for publishing, can we do that for Camera live streams?

Thanks.

Translate
Nikhil_Kalyan
Participating Frequently
Feb 1, 2012 7:50 AM UTC

So, you are essentially looking to vary the bitrate of the publishing stream depending on the bandwidth changes. I guess this is at this point not supported (MBR on P2P) except if you want to stop the publishing and start again.

Regarding encoders, we use Flash Media Live Encoder to provide nice input, it can take camera input, the adobe page for FMLE should list all the supported devices for it.

Translate