Flash Media Server Developer Documentation

Camera.setQuality()

public setQuality([bandwidth:Number], [quality:Number]) : Void

Sets the maximum amount of bandwidth per second or the required picture quality of the current outgoing video feed.

Use this method to specify which element of the outgoing video feed is more important to your application--bandwidth use or picture quality.

  • To indicate that bandwidth use takes precedence, pass a value for bandwidth and 0 for quality. Flash Player transmits video at the highest quality possible within the specified bandwidth. If necessary, Flash Player reduces picture quality to avoid exceeding the specified bandwidth. In general, as motion increases, quality decreases.
  • To indicate that quality takes precedence, pass 0 for bandwidth and a numeric value for quality. Flash Player uses as much bandwidth as required to maintain the specified quality. If necessary, Flash Player reduces the frame rate to maintain picture quality. In general, as motion increases, bandwidth use also increases.
  • To indicate that both bandwidth and quality are equally important, pass numeric values for both parameters. Flash Player transmits video that achieves the specified quality and that doesn't exceed the specified bandwidth. If necessary, Flash Player reduces the frame rate to maintain picture quality without exceeding the specified bandwidth.

Availability

Flash Media Server (not required); Flash Player 6.

Parameters

bandwidth An integer that specifies the maximum amount of bandwidth that the current outgoing video feed can use, in bytes per second. To specify that video can use as much bandwidth as needed to maintain the value of quality, pass 0 for bandwidth. The default value is 16384.

quality An integer that specifies the required level of picture quality, as determined by the amount of compression being applied to each video frame. Acceptable values range from 1 (lowest quality, maximum compression) to 100 (highest quality, no compression). To specify that picture quality can vary as needed to avoid exceeding bandwidth, pass 0 for quality. The default value is 0.

Note: Streams compressed with the lossless codec are larger than streams compressed with the default Sorenson codec.

Example

The following examples illustrate how to use this method to control bandwidth use and picture quality:

// Ensure that no more than 8192 (8K/second) is used to send video.
active_cam.setQuality(8192,0);

/* Ensure that no more than 8192 (8K/second) is used to send video
with a minimum quality of 50.*/
active_cam.setQuality(8192,50);

// Ensure a minimum quality of 50, no matter how much bandwidth it takes.
active_cam.setQuality(0,50);

See also

Camera.bandwidth, Camera.get(), Camera.quality