Bandwidth Throttling

Bandwidth throttling is the ability to limit the rate at which a user can download an asset. A common use case scenario for this capability occurs when you suspect that your customers are not watching your videos in their entirety. Reducing the speed at which your users may download large content (e.g., multimedia) can eliminate unnecessary bandwidth expenditures.

Syntax & Usage

Bandwidth throttling options are specified as query strings in a CDN or edge CNAME URL. The available query string parameters for configuring bandwidth throttling are ec_rate and ec_prebuf. Both of these parameters are explained below.

Parameter Description

ec_rate

Determines the maximum download rate for a particular request in Kilobytes per second (KBps). If a customer's connection is faster than the specified value, then that customer's download rate will remain constant at the specified value. This parameter only accepts values equal to or higher than 32 KBps.

ec_prebuf

Determines the amount of data that can be downloaded before the ec_rate parameter takes effect. This creates a buffer before a user's download speed is throttled down. A buffer is useful to reduce the amount of stuttering or buffering issues that users with slow connections may experience as a result of bandwidth throttling.

This buffer can be calculated by multiplying ec_prebuf, which should be specified in seconds, with the bit rate set in ec_rate. The resulting value will be the total amount of data that can be downloaded before bandwidth throttling takes effect.

Typically, bandwidth throttling options are passed as query string parameters. For example, the following URL would create a buffer of 640 KB and limit download speeds to 64 Kbps:

http://wpc.0001.edgecastcdn.net/000001/Videos/Demo.flv?ec_rate=64&ec_prebuf=10

If you take advantage of creating a buffer, then the recommended configuration is to set ec_rate to a value that matches the bit rate at which your video was encoded.

Both of these parameters can be encrypted through Token-Based Authentication. This prevents a user from altering the values associated with them.

More Information