Skip to main content
December 12, 2008
Question

Live Stream Bandwidth Limiting

  • December 12, 2008
  • 6 replies
  • 6311 views
I have confirmed this behavior in FMS 3.0.2 on Windows 2003, Vista, and Linux.

In prior versions of FMS if I had a publisher sending a live video feed to the server, then I could have subscribers connect to the server and set a bandwidth limit for them and the server would ensure that the subscribers only got as much bandwidth as I set for them. As of version 3, the server now ignores this limiting for live streams.

You can set a limit on the publisher which of course then limits the live stream that subscribers view, but that is not what I want. I want to have the publisher push a live stream at the quality I specify and then I need a way to give some subscribers a lower bandwidth version of that stream. This all worked fine in prior versions of FMS and I can't imagine this is intended behavior in version 3, but it seems like a major oversight.

The bug can be replicated by creating a simple flash app to stream live video to the server and then in a separate NetConnection, subscribe to that live stream and display it. Then on the server side, setup an application.onConnect to do a setBandwidthLimit on the subscriber and you can see that it is totally ignored. You get the full bandwidth stream even though the limit should be reduced for the subscriber.
    This topic has been closed for replies.

    6 replies

    Inspiring
    June 10, 2009

    sorry for the bump, but this is a pretty big issue and adobe hasn't responded to my requests.

    June 10, 2009

    Apologies, Charlie. I'll forward this thread to engineering right now.

    Jody

    Participating Frequently
    June 11, 2009

    Thanks for the report.  We'll get a bug filed and scheduled for investigation.  In the mean time, can you try some things.  In 3.0, we introduced a performance improvement for live streaming referred to as message aggregation.  Can you try turning this off and see if it behaves any differently.  In Application.xml, look for the all tags named <AggregateMessages> and set it to <AggregateMessages enabled="false">.  Also look for <Queue> and set to <Queue enabled="false">.

    Inspiring
    June 5, 2009

    Have been trying to throttle live streams as well to no avail.  Tried client calls and settings in Application.xml, neither work.  Any updates on this?

    Participating Frequently
    January 23, 2009
    Thanks. I will let you know what I find.
    February 12, 2009
    Were you able to replicate this on your side?
    Kristian Wright
    Known Participant
    April 22, 2009

    Hi Nathan.

    I've replicated this issue and haven't found a resolution either.

    Did you find a solution?

    Cheers,

    K.

    January 20, 2009
    Sure the server side code is:

    application.onConnect = function(clientObj,limit)
    {
    trace(clientObj.ip);
    clientObj.setBandwidthLimit(0,0);
    if(limit)
    {
    clientObj.setBandwidthLimit(1000,1000);
    trace("Limited:" + clientObj.ip);
    }

    return true;
    };

    For the client, just set up a simple flash file with 2 video objects. Connect one up to the local stream of your cam and publish it to the application with the limit set to false.

    Then setup the second video object to subscribe to the stream with the limit set to true in a separate NetConnection. In 3.5 it adds a delay for some reason, but then the subscribed stream is received at a greater bandwidth than the limit. The old behavior was that frames would be dropped to keep the subscriber under the limit.

    Also, this only happens on live streams. So it won't reproduce with flv movies or anything. You have to run a live stream and then subscribe to that live stream to see the failure of the limiting.
    January 19, 2009
    I tested this in 3.5 and the same problem exists.
    Participating Frequently
    January 20, 2009
    Do you mind pasting the code used for the setBandwidthLimit? I will try to reproduce the issue.
    December 17, 2008
    Bump for a response
    Participating Frequently
    December 19, 2008
    Hello,
    thanks for reporting. We will investigate this issue and get back to you.
    December 19, 2008
    I appreciate it. Also, one other thing about this that I noticed is that the Flash Server Admin application will report bandwidth usage as if the limiting is working, but if you watch the bandwidth in task manager, etc you will see that it is not being limited.

    Also this is evident if you do a setbandwidth limit to a really low limit on the subscriber like 1K/sec, the video you see on the subscriber will still be full motion and obviously not the limited amount.