Wowza Community

How can i set bandwidth of live stream?

Hi,

I am making video chat application and in that i have created two different flash files.

one is for broadcasting and one is for receiving that broadcasting stream. now i would like to decrease bandwidth of the receiver side stream, so can anybody please help me that how can i setup receiver side bandwidth?

Hope for your prompt reply.

Thanks,

Dilip

Dilip,

You have to control bitrate on the encoder side.

Richard

Starting with those articles is ambitious but not necessary. Take a look at JW Player’s implementation of Flash Dynamic Streaming:

http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/16012/setting-up-rtmp-dynamic-streaming

This works great with Wowza, we recommend it.

Richard

For multi-bitrate streaming in Wowza 2, you need to encode two or more streams that are key frame aligned. With your setup, the encoder is the Flash app, it has a built-in low quality encoder, and is not able to produce multiple key frame aligned streams. So this is a non-starter.

Richard

Right, it is not possible to do multi-bitrate streaming using the encoder built-in to the Flash plugin

Richard

Dilip,

You have to control bitrate on the encoder side.

Richard

As i wrote in my original post that i would like to decrease bandwidth from receiver side only as broadcaster will be broadcasting with high quality, but again i just would like to decrease receiver side only. and also as per i let you know in my original post that i am using flash for sending and receiving live stream.

So, are there any property from where i can setup bandwidth?

Below is the flash AS2 code for receiver side:

nsPlay = new NetStream(nc);

nsPlay.setBufferTime(0);

nsPlay.play(“MY STREAM”);

videoFLV.attachVideo(nsPlay);

videoFLV.smoothing = true;

Above is the main code but if you would like to see my all code i can post all AS2 script here.

Hope for your prompt reply.

Thanks,

Dilip

Hi omegaitech,

Think how this would work. You want your receiver to be able to say, “Send me less bits.” So, then the encoder sends less bits. So, you see, it has to be done on the encoder side.

Typical the way to do this is taking the high-bitrate stream and re-encoding it into several smaller bitrate streams. See this article: https://www.wowza.com/docs/how-to-set-up-live-streaming-using-an-rtmp-based-encoder under the section Multi-bitrate Live Streaming.

So, have your broadcaster send you the high-bitrate stream, then re-encoding into at least one additional lower bitrate stream using a software encoder. Make a .smil file. Then have Wowza serve the multiple bitrate streams with dynamic bitrate switching.

Hi randall,

Thanks a lot for suggesting me this, but can you just let me know that will i have to write any code in the WMS? or this can be done only using flash? because i have refered given article and its have 3 articles :

Dynamic streaming in Flash (part 1)

Dynamic streaming in Flash (part 2)

Dynamic streaming in Flash (part 3)

but all above are refering FMS server, so can you please guide me more on this? or are there any example which is doing something similiar to what i needs?

Starting with those articles is ambitious but not necessary. Take a look at JW Player’s implementation of Flash Dynamic Streaming:

http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/16012/setting-up-rtmp-dynamic-streaming

This works great with Wowza, we recommend it.

Richard

Hi Richard,

First of all, thanks a lot for your reply, but i would like to stream video live, i do not would like to stream any pre-recorded movie/video file.

Like my original post, broadcaster will be broadcasting their camera with videochat application (wowza application), and receiver should receive that live stream but only with low bandwidth.

Actually, in my application, there will be 12 users will be broadcasting their camera live with high quality, and multiple users will be viewing those 12 main streams, but what i would like to do is that i would like to display one main screen with high quality and 11 small screen with low quality to decrease bandwidth.

So, for above, i am using videochat application to send and receive live stream via flash AS2.

I think now above will clear you that what is my aim and you might understand my question/needs well now?

Hope for your prompt suggestion.

Thanks,

Dilip

Starting with those articles is ambitious but not necessary. Take a look at JW Player’s implementation of Flash Dynamic Streaming:

http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/16012/setting-up-rtmp-dynamic-streaming

This works great with Wowza, we recommend it.

Richard

Hi Richard,

First of all, thanks a lot for your reply, but i would like to stream video live, i do not would like to stream any pre-recorded movie/video file.

Like my original post, broadcaster will be broadcasting their camera with videochat application (wowza application), and receiver should receive that live stream but only with low bandwidth.

Actually, in my application, there will be 12 users will be broadcasting their camera live with high quality, and multiple users will be viewing those 12 main streams, but what i would like to do is that i would like to display one main screen with high quality and 11 small screen with low quality to decrease bandwidth.

So, for above, i am using videochat application to send and receive live stream via flash AS2.

I think now above will clear you that what is my aim and you might understand my question/needs well now?

Hope for your prompt suggestion.

Thanks,

Dilip

For multi-bitrate streaming in Wowza 2, you need to encode two or more streams that are key frame aligned. With your setup, the encoder is the Flash app, it has a built-in low quality encoder, and is not able to produce multiple key frame aligned streams. So this is a non-starter.

Richard

Yiou mean to say it is not possible?

Hi omegaitech,

Think how this would work. You want your receiver to be able to say, “Send me less bits.” So, then the encoder sends less bits. So, you see, it has to be done on the encoder side.

Typical the way to do this is taking the high-bitrate stream and re-encoding it into several smaller bitrate streams. See this article: https://www.wowza.com/docs/how-to-set-up-live-streaming-using-an-rtmp-based-encoder under the section Multi-bitrate Live Streaming.

So, have your broadcaster send you the high-bitrate stream, then re-encoding into at least one additional lower bitrate stream using a software encoder. Make a .smil file. Then have Wowza serve the multiple bitrate streams with dynamic bitrate switching.