Client-Side Communication ActionScript > Camera.setQuality

 

Camera.setQuality

Availability

Flash Player 6.

Flash Communication Server MX (not required).

Usage

activeCamera.setQuality(bandwidth, frameQuality)

Parameters

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

frameQuality 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 frameQuality. The default value is 0.

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

Returns

Nothing.

Description

Method; sets the maximum amount of bandwidth per second or the required picture quality of the current outgoing video feed. This method is generally applicable only if you are transmitting video using Flash Communication Server.

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

To indicate that bandwidth use takes precedence, pass the desired value for bandwidth and 0 for frameQuality. Flash will transmit video at the highest quality possible within the specified bandwidth. If necessary, Flash will reduce 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 will use as much bandwidth as required to maintain the specified quality. If necessary, Flash will reduce the frame rate to maintain picture quality. In general, as motion increases, bandwidth use also increases.

To specify that both bandwidth and quality are equally important, pass numeric values for both parameters. Flash will transmit video that achieves the specified quality and that doesn't exceed the specified bandwidth. If necessary, Flash will reduce the frame rate to maintain picture quality without exceeding the specified bandwidth.

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
activeCamera.setQuality(8192,0);

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

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

See also

Camera.bandwidth, Camera.get, Camera.quality