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:
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)?
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

I have done some tests to find out how much upstream bandwidth is used for different situations. The data is taken from the 'multicastInfo' property of all involved 'NetStream' objects as follows:
Multicast Data: average of 'multicastInfo.sendDataBytesPerSecond' of all streams.
Multicast Control : average of 'multicastInfo.sendControlBytesPerSecond' of all streams.
Different measurements have been done for different situations:
The user is broadcasting and not broadcasting
Varying number of connected users
Varying number of users broadcasting
I have limited the maximum video bandwidth to 16 KBytes with 'Camera.setQuality(1024 * 16, 0)'.
The application uses only application level multicast (passing a groupspec to the NetStream constructor). In this test all peers are on the same LAN and the FMS server is on a remote machine.
The results in Bytes/s (click to enlarge):
What I have noticed is that the outgoing multicast data volume grows by ~15 KByte with every new connected user (receiver) and goes down when the number of broadcasters grows. Is that normal? Does it mean that only the broadcasters are sharing the streams with the other peers? I thought that every peer would share the data with a number of neighbours (i.e. 3) which would share with their neighbours and so on.
During the tests I have also checked for a/v delays and noticed the following:
For every new stream, at the beginning audio and video are in sync but have a delay of ~3 seconds
After ~20 seconds the video delay becomes marginal but the audio remains delayed and so goes out of sync with video
After ~30 seconds the audio delay becomes marginal and goes in sync with video (a/v are now stable)
The delays of 20 and 30 seconds grow up to more than a minute when the number of broadcasters grows
My questions:
Are my measurements correct?
Why is the outgoing multicast data volume growing with every new receiver? Is the publishing stream sending the data to all peers?
Should I expect the bandwidth to grow indefinitly with the number of receivers or will it stabilize at some value?
How to decrease the time required for a/v to become stable (in-sync with a small delay)?
Is P2P multicast a good choice for this kind of applications (up to 10 broadcasters and a very big number of receivers)?
Any advices???
Thanks.

Similar Messages

  • How to publish a p2p/multicast stream

    Hello,
       Suppose I have a RTMP server (wowza) which strems this : rtmp://192.168.0.10/live, and the stream name is my.stream
       The question is : which tool should I use to publish this stream to FMS using p2p/multicast mode ? So the output will be something like this :
    rtmp://192.168.0.20/multicast/livestream1?fms.multicast.type=1&fms.multicast.groupspec=G%3 A01012105a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3010c160e666d732e6 d756c7469636173742e6578616d706c65210edde11d4d04c2a1b0d5514c19861fde3854dbd2fb012ae1bff6363 8fa3f334242011b00070ae00000fe75300415313233&fms.multicast.address=224.0.0.254%3A30000
    I tried (using ffmpeg from xuggler) something like this :
    /opt/xuggler/bin/ffmpeg -i "rtmp://192.168.0.10/live/my.stream" -acodec copy -vcodec copy -f flv "rtmp://192.168.0.20/multicast/livestream1?fms.multicast.type=1&fms.multicast.groupspec=G %3A01012105a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3010c160e666d732 e6d756c7469636173742e6578616d706c65210edde11d4d04c2a1b0d5514c19861fde3854dbd2fb012ae1bff63 638fa3f334242011b00070ae00000fe75300415313233&fms.multicast.address=224.0.0.254%3A30000"
    But it didn't worked
    Can somebody help me ?

    Probably I haven't clearly understood your use-case, but looking at your question, I feel that you already have ts fragments and m3u8 file with you, that you want to serve to clients, and a simple Apache web server can do this task pretty easily (HTTP PUT from your encoder and HTTP GET from yuor clients).
    I dont understand why do you want to publish these ts fragments and m3u8 containing their URLs as live to FMS. You may also like to use the Apache that comes bundled with FMS for this task, but it will always be a vod stream, not a live stream.
    FMS, on the other hand can on the fly package (HLS JIT module) and deliever (serve the simple Apache GET requests for ts from clients based on m3u8) the m3u8 file that contains the ts fragments.

  • RV042 can't sum upstream bandwidth

    Hi to all,
    since i've bought my RV042 CISCO (v3 hardware, firmware v4.1.1.01-sp Dec 6 2011 20:03:18) i wasn't able to let it work properly with my two DSL network llines.
    I explain.
    I got 2 DSL network:
    1- PPPoE with authentication (MTU setted as auto) with upstream speed 4Mbit/S and downstream speed 5Mbit/s
    2- Direct line with static IP with upstream speed 7Mbit/S and downstream speed 1Mbit/s
    I was never able to SUM the two WAN using the LOAD BALANCE set.
    I tried all combinations:
    DSL 1 in WAN 1 or in WAN 2
    DSL 2 in WAN 2 or in WAN 1
    I've setted all type of speeds in WAN SPEED in Web Management
    it seems that for some kind of reason it takes the upstream speed i can set in web management as the default value on which it decides to use the other WAN.
    When i set low upstream bandwidth for DSL 2 it's able to sum the downstreams of both WANs but not the upstreams.
    I wasn't ever abel to sum the upstreams?
    How does it work?
    Is there any workaround for this issue?
    Thank you in advance
    Frank

    Two thing
    1 you "can add/sum" the bandwidth of your two wans if you use a peer to peer protocol like a torrent download. That will use connections on both wans and you can benefit from the added speed.
    2 on system Managment ,bandwidth Managment , rate control, make a rule
    All traffic for ip 192.xx.xx.xx to 192.xx.xx.xx upstream with speeds x y on Wan1 enabled
    Should stop balancing one ip for all traffic or change the ports for specific outgoing traffic
    Best luck
    Sent from Cisco Technical Support iPad App

  • Upstream bandwidth req to run Adobe Connect w live video

    Is 3mbps enough upstream bandwidth to run Adobe Connect meetings for 6 - 12 attendees w live video?

    Here is the Connect 9 Technical guide. Average bandwidth consumption numbers are listed on the 2nd to last page. http://www.realeyes.com/wp-content/uploads/2014/06/Adobe-Connect-9-Technical-Guide.pdf
    Assuming highest quality settings each user would need around a 500 kpbs upstream bandwidth. Other things to consider is if they are broadcasting VoIP audio (44 kbps) and/or sharing their screen 200+ kbps. So, I would suspect that a 3 mbps upstream connection will be sufficient for attending a Connect Meeting.
    However, you may want to consider that their downstream may be saturated pretty quick with the live video. Again, assuming highest quality setting (meaning you can tune it down and make the numbers more reasonable) a meeting with 6 attendees all broadcasting their live video would require 500 kbps upstream and 2.5 mbps downstream. A meeting with 12 would require 500 kbps upstream and 5.5 mbps downstream.

  • Unable to connect to p2p multicast stream from external access

    Hi
    I have been tasked with creating a stream using p2p multicast.
    I have been able to create and connect to the stream locally, however when I try to connect from a external connection I get a message from flash player
    "We are unable to connect to the network. We apologize for the inconvenience"
    On looking at the logs for the external connection I find that the session is pending, where as on when I connect locally the session is pending then connect session and streams.
    I have looked at some of the posting here and not found the answer.
    Host machine server 2003 is on host.domain.local
    External ip address has a domain name pointing to it
    Delivery html page
    Local server is in DMZ for debugging, this should rule out any firewall issues
    Flash Player 10.3
    I have set connections to allow all on FMS and Apache and have no problems accessing web server, FMS admin and I can stream vod's without any problems.
    In order to deliver stream I am using a html page, which is setup using flashplayer setup this generates the stream information to be pasted into the html and works locally. When I setup using external domain name I get the above message.
    Multicast Config Tool is set to external domain name
    On searching for an answer I have come across cross domains, could this be what the issue is, if not any suggestions?

    No, the files are not on windows or on HD. I moved the files i.e. cut and paste from the HD connected on Win and directly copied them to MAC as the HD was not readable on MAC.
    I notice that the files and folders were there but they were grayed out, but when I copied them to new folder on MAC and did UNDO they disappeared.
    I assume they are somewhere on the MAC drive as I haven't moved anything to Trash and not yet emptied the trash once since I got this MAC.

  • Difference between Application-level multicast and peer-assisted network?

    The simplest application level multicast is done through
    someone.publish("xxx") to a netGroup -----> FMS rtmfp url -----> all players connected to the same netGroup and play from a netstream
    In peer-assisted networking,
    they ask for wantObjects and addHaveObjects. I wonder if in app. level multicast, these peers also ask for Objects?
    If so, how do they know the index of Objects?
    A live streaming from webcam doesn't have an ending index.
    Do they just keep asking for all objects starting from 0 ~ MAX_VALUE?

    "peer-assisted networking" refers to all P2P modes of RTMFP Groups (P2P multicast, object replication, directed routing, and posting).
    NetStream.publish()/play() on a group NetStream is the P2P multicast mode.  under the covers quite a lot of fancy advertising, fetching, pushing, and tuning is going on all automatically.  multicast is always for live, continuous content, and all members of the group share approximately the same sliding window of stream fragments at any instant of time.  the size of the window is controlled by NetStream.multicastWindowDuration.  each member tries to get all the fragments in the current window.  members share information about the fragments in the window with each other.  P2P multicast is designed and optimized for a small number of publishers in a group sending continuous-form live media to all members in a limited amount of time.
    the wantObjects/haveObjects NetGroup calls are for the "object replication" mode.  here the objects and index numbers are under direct ActionScript control, and the intent is that each member should eventually have every object, no matter how long that takes.  object replication is designed for mesh-wide reliable consensus on a set of objects with all semantics of content and origin left to the ActionScript developer.
    posting is kind of like a multicast of a single message.  it is designed and optimized for a large number of senders infrequently sending single messages to all members.
    directed routing can be used for, among other things, creating distributed hash tables (DHTs) and is a complex subject.
    Matthew Kaufman described all of these modes in his talk at MAX 2009; the presentation is available on Adobe TV:
       http://tv.adobe.com/watch/max-2009-develop/p2p-on-the-flash-platform-with-rtmfp/

  • QoS - Upstream Bandwidth

    Just wondering if there is any more info about this setting. I really don't have a problem to fix, just seeking a better understanding regarding this setting.
    I have myself and many clients on SIP based hosted VOIP (Vocalocity) and this has helped improve call quality.  We add the mac address for each phone and give it high priority.
    In most cases when there is a multitude of upstream speed it seems that manually setting this number to below the actual speed really helps to keep the PCs from hogging the upload speed and thus preventing latency.

    1. It helps a lot if you post the router you use. Different models have different settings.
    2. Generally, it's correct what you see. The auto setting tries to use the full bandwidth available. Of course, bandwidth usually varies with most ISPs thus you will probably see more packet loss in moments when the real bandwidth is less (i.e. usually due to other customer's traffic).
    Thus if you set it to a lower value it will reduce packet loss because the total upstream traffic won't hit the ceiling of what's actually possible at that moment.
    Of course, on the other hand a lower value won't really let use the total available bandwidth at moments when there is more.
    Example: 8 Mbit/s DSL line. Speedtests show varying 4-5 Mbit/s throughput, but never or very rarely below 4 Mbit/s.. Thus, if you manually set the upstream bandwidth to 4 Mbit/s you will prevent the connection from overloading. Little packet loss and little latency. Setting it higher will increase the chance of overloading the line.
    The main problem is that the router has no way to know what bandwidth is really available at any given time. All it can do is to guess from what it saw before.

  • What is the diffrence between multicasting and broadcasting?

    hi friends
    What is the diffrence between multicasting and broadcasting?
    i'm bit confused in multicasting and broadcasting.

    Broadcasts go everywhere within a range determined by the sender.
    Broadcasting is deprecated and unliikely to go beyond the nearest router.
    Multicasts go everywhere where receivers have declared they are present.
    Multicast can be implemented beyond routers in a WAN which you control but ISP routers generally don't support it.

  • We got a new Apple TV for Christmas and it works wonderful. However, my question is this. We are on a satelitte internet system and our bandwidth is limited. Can anyone tell me what effect it will have on using up my 10 megs of bandwidth?

    We got a new Apple TV for Christmas and it works wonderful. However, my question is this. We are on a satelitte internet system and our bandwidth is limited. Can anyone tell me what effect it will have on using up my 10 megs of bandwidth? If I run over the 10 mgs, the service either slows way down until it is reset on the first of the next month or I have to purchase additional bandwidth and it can get expensive.
    Any information would be greatly appreciated.

    If you only have a 10MB limit on the Internet connection you might as well not have Internet access and certainly should not attempt to stream anything.
    If the limit is 10GB, then you will need to be careful with streaming as most video is 1-3GB for a one hour show.

  • I have to send messages through UDP multicast and unicast from same port. In Labview I tried that it throws error. I heard it is possible by means of Datagram (UDP unicast and multicast) Port Sharing. How can it be achieved in Labview?

    I have to send UDP multicast and Unicast messages to a remote port from a single source/local port. I tried by opening UDP unicast and multicast in the same port and got the expected error. I tried by opening a unicast connection and sending unicast messages.After that when multicast messages has to send I closed unicast and opened multicast in the same port.This is not throwing any error. But my requirenment is to comminicate with another application in C ++ which recieves this data, throwing an error of lost connectivity and both the applications are not abled to communicate properly. 
    In the other application with C++ this is implemented using port sharing. So how port sharing can be implemented in labview so that I can send both multicast and unicast messages from the same port?
    Thanks in advance

    UDP is a sessionless protocol, meaning that anyone listening on the specified port CAN receive the data. CAN because as you noted there is no guarantee in the protocol that it will be received. And if you send the data not to a specific address but a multicast address not only one computer can receive it but in fact every computer on the same subnet listening to that multicast address and depending on the TTL of the packet also computers in neighbouring subnets, although that last one is not a very reliable operation since routers can be configured to drop multicast packages anyhow despite of a different TTL saying otherwise.
    Accordingly there is no real way to make sure that a receiving UDP port is not already in use, since you don't build up a connection. UDP is more or less analogous to shouting your messages through a megaphone, and anyone listening on the right frequency (port) can hear it. You do bind the sender socket to a specific port number but that makes little difference.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Multicast and wirerless

    I have a 4404 controller running 6.0.202 code and more more people have Mac running bonjour and wanting to use Airplay.  I see how to turn on Multicasting and even provide a Multicast address for IGMP snooping but does anyone have a good feel as to the overall load Multicast adds to the wireless network?
    Thanks,
    Gary

    It depends on the type of deployment you have.
    If the network infrastructure supports multicast, you should enable Multicast - Multicast as the controller multicast mode and choose a multicast address in the 239.X.X.X range.
    If your network is not capable of supporting multicast, you would want to select Multicast - Unicast mode. This mode puts a load on the controller and on the wireless network as the Multicast is then sent as a unicast to each access point instead.
    These support articles should help you.
    Bonjour Deployment Guide
    http://www.cisco.com/en/US/products/hw/wireless/ps4570/products_tech_note09186a0080bb1d7c.shtml
    Multicast Deployment Guide
    https://supportforums.cisco.com/docs/DOC-14713

  • 10 Gig distance and Modal Bandwidth on MMF

    I am struggling with a concept and not finding much in the way of answers.  The spec sheets for SFP+ 10 Gigbit Ethernet optics list the maximum cable distance as a funtion of the fiber type (MMF or SMF), Optical Wavelength, Core diameter and Modal Bandwidth.  However, there are several distance entries for similar items that only differ in their modal bandwidth.
    For example a SFP-10G-SR when connected to 62.5 micron MMF lists the maximum cable distance as either 26M or 33M depending on the modal bandwidth (either 160 or 200).  Is there a way to figure out what the modal bandwidth of a given fiber strand is (short of performing a full fiber characterization study)?  It seems that there is no relationship between the grade of MMF (OM1, 2, or 3) since 62.5 micron fiber should all be considered OM1.
    This is becoming an issue since many companies are wanting to run 10Gigabit Ethernet over some incredibly old fiber plants, and I am trying to get an handle on which distance measures listed in the spec sheets are more realistic when they list multiple distances for the same fiber type that only differ in modal bandwidth.

    "unfortunately moving the buildings closer together isn't an option"
    Everything comes down to money.  If they want to use the older fiber, show them a cost comparison between the cost of moving the building versus installing long reach optics (10G LRM or LX4), pulling new fiber or installing a 10GE Free Space Optics link between the buildings. Just wait until the customer wants to move to 100GE links over the fiber....
    For some fiber links, you may have to test by installing some 10G equipment.  I have not found information regarding how long the OM1 (with low modal bandwidth) was manufactured.  Fiber can be highly variable and sometimes the distance specs leave some operating margin and may support the longer link.
    Good luck!
    Tom

  • Speed downstream and upstream when I am using Firefox. When I am using Internet Explorer I dont have this problems

    Iam using Firefox 12.0 Swedish version. When I use Firefox I have problem with the speed downstreams
    and upstreams. When I use Internet Explorer 64 bit 7 version 9 I dont have this proplem. Why is it so?
    Firefox
    Downstream Upstream
    ~ 50Mbit/s ~ 0.6Mbit/s
    Internet Explorer
    Downstream Upstream
    ~ 87Mbit/s ~ 75 Mbit/s
    The conetcion is fibre cabel and the supplier guarantees 60 - 100Mbit/s
    I shall bee gratefull if I can solve this and continou to use Firefox. Iam othervise very satesfide with Firefox

    Poor performance in Flash-based speed tests can be related to add-on conflicts and certain Flash features. If you have not already tried these:
    (1) Disable protected mode (Win Vista and Win 7 only)
    See this support article from Adobe under the heading "Last Resort": [http://forums.adobe.com/message/4468493#TemporaryWorkaround Adobe Forums: How do I troubleshoot Flash Player's protected mode for Firefox?]
    (2) Disable hardware graphics acceleration in Firefox and in Flash
    (A) In Firefox, un-check the box here and restart:
    orange Firefox button ''or'' classic Tools menu > Options > Advanced > General > "Use hardware acceleration when available"
    (B) In Flash, see this support article from Adobe: http://helpx.adobe.com/flash-player/kb/video-playback-issues.html#main_Solve_video_playback_issues
    (3) For video issues, make sure your RealNetworks add-ons are the latest versions

  • Number of concurrent a/v conference calls, and its bandwidth consumed.

    I have two central sites and multiple branch sites. Each central site has one Front End pool. we are planning to replace Lync 2013 servers for hosting meetings, conferences ( audio, video and web)
    My manager wants to know the number of concurrent audio/Video conference calls that our Lync Front End pools can handle and the bandwidth consumed by these calls. Can anyone here help with this or point me to where to find the right tool. I have tried using
    Bandwidth calculator, it was not working well for me. 

    For Audio, assuming G722 (without FEC) it will be about 96Kbps per stream. So in theory that would be
    over 1000 calls on 100Mb, however that doesn't take into account any other traffic that would be on the link.
    For H.264 Video it can be anywhere up to 4000Kbps (HD), but it's unlikely that all your end points would be running 1920x1080 resolution and they will all negotiate differently. So without knowing a lot about your environment I would say on average (which
    is just that between min to max around 50 video streams) or 128-250 streams at lower resolutions - so traffic through phones and slow connections (320x180-16:9/ 212x160-4:3 to 640x360-16:9/640x480-4:3) and
    25-50 streams at the higher resolutions. So HD cameras and rooms systems, etc. Once again not taking into account other things on the network.
    With regards to the pool themselves,  follow the hardware specifications required which you can check using the capacity planning tool http://www.microsoft.com/en-us/download/details.aspx?id=36828 the
    supported maximum however for a large conference on a single pool is 250 participants.
    As I mentioned it's almost impossible to give definitive numbers because there are so many variables, but hopefully this helps a little.
    If this helped you please click "Vote As Helpful" if it answered your question please click "Mark As Answer" | Blog
    www.lynced.com.au | Twitter
    @imlynced

  • ACL restriction of multicast and broadcast on SRW2016

    Hello all,
    I seem to be having difficulty setting up an ACL that restricts multicast and broadcast packets to a specified port on the SRW2016.
    In brief, I have one (physical) port that I need to prevent any broadcast or multicast packets from being sent to.  I need to allow clients which are on that port to send broadcast, however.  My take on this was to create an ACL with one rule of the type:
    Type: Deny
    Protocol: Any
    Source IP: 10.0.0.0/255.255.255.255
    Destination IP: 224.0.0.0/0.255.255.255
    Another type I tried was a 2-rule ACL to explicitly allow only a valid sender and deny all:
    Type: Allow
    Protocol: UDP
    Dest Port: 1234
    Source IP: 10.1.0.100/0.0.0.0
    Dest IP: 10.1.0.101/0.0.0.0
    Type: Deny
    Protocol: All
    I have tried various permutations these types of ACL (changing ordering, etc) but everything I have tried so far has allowed the multicast packets through unless I block it at the sending port (which obviously blocks it from all ports).
    Any suggestions or comments would be appreciated.  Is what I'm trying to do even possible in the SRW2016?
    Thanks,
    Mike

    Just to make sure I was creating/applying the ACLs correctly, I did a simple test with a very basic rule: I just set type to deny (basically a deny all rule).  I applied this rule to one port of the switch and verified that it was working by attempting to access the switch's web configuration interface (which correctly was inaccessable).  However, the multicast packets were still being delivered (verified via both an Ethernet dump and visual inspection of the switch's LED).
    Based on the above information, I feel it's fairly safe to say that Multicast is not filtered correctly via ACLs on the SRW2016.  Apparently Multicast packets take a different logical path than "normal" packets.  Since I don't expect an immediate firmware patch, I suspect that I need to see if I can get a router in addition or as a replacement for the switch.
    Edit: I found a method that appears to restrict the multicast packets via the "Bridge Multicast" interface (basically created a rule for the MAC related to my multicast address, set to Forbidden on one port, but this is not a generic solution for all multicast and I don't seem to be able to have more than 1 MAC address in the list...), but broadcast still gets through, regardless of the ACL I set up for the port.
    I'm beginning to wonder if my understanding of ACLs is flawed - does anyone know if they're applied to incoming packets for a port, outgoing packets for a port or both?  My assumption was both, but if the rule were only applied to incoming packets, it would explain the behavior I'm observing.
    Message Edited by michael.beresford on 03-02-2009 02:46 PM

Maybe you are looking for

  • SQL Server 2012 with SP2 Slipstream ISO images do not install SP2

    We see the same issue as described here: http://support.microsoft.com/kb/2783963 when using the newly posted en_sql_server_2012_enterprise_edition_with_service_pack_2_x64_dvd_4351704.iso from MSDN. We end up with SQL Server 2012 RTM instead of SP2 an

  • Iphoto 6 library uses roll numbers and dates when viewing in photoshop

    Hi, Hoping someone can help me. I'm a fairly inexperienced Mac user but have been using iphoto and photoshop fairly extensively but not for anything too complicated. Before I upgraded to iLife 06 I could browse from within photoshop by going into iph

  • Applications installed correctly but not showing in applications folder Macbook 2009

    I have a friends MacBook running 10.6.8 2.26Ghz Intel Core Duo 8 gig ram. I have installed UnrarX a couple of times with no errors in the installation process, however the application does not appear in the applications folder or any where else and c

  • E-Mail Access

    In the last couple of days I have been unable to access my e-mails, either through Outlook on my PC or through my Android phone.  My Phone tells me that my password has been changed at the server (not by me!), and Outlook doesn't recognise the passwo

  • Manually Manage iPhone Music

    I just got an iPhone, and have been really frustrated that I cannot simply add the songs I want from iTunes library(as opposed to the whole library) by simply dragging and dropping onto my iPhone icon. Is this a problem inherent to the iPhone setup?