public static class

BroadcastConfiguration.Video

extends Object
java.lang.Object
   ↳ com.amazonaws.ivs.broadcast.BroadcastConfiguration.Video

Summary

Public Methods
void enableTransparency(boolean enableTransparency)
Setting this to true will enable transparency between mixer slots at the cost of some memory usage.
BroadcastConfiguration.AutomaticBitrateProfile getAutoBitrateProfile()
The profile to use for the video's automatic bitrate algorithm.
int getInitialBitrate()
The initial bitrate for the output video stream.
float getKeyframeInterval()
The keyframe interval for the output video stream in seconds.
int getMaxBitrate()
The maximum bitrate for the output video stream.
int getMinBitrate()
The minimum bitrate for the output video stream.
BroadcastConfiguration.Vec2 getSize()
The resolution of the output video stream.
int getTargetFramerate()
The target framerate of the output video stream.
boolean isTransparencyEnabled()
Whether transparency is enabled for this broadcast session.
boolean isUseAutoBitrate()
Whether the output video stream will automatically adjust the bitrate based on network conditions.
boolean isUseBFrames()
Whether the output video stream uses B (Bidirectional predicted picture) frames.
void setAutoBitrateProfile(BroadcastConfiguration.AutomaticBitrateProfile profile)
void setInitialBitrate(int initialBitrate)
Sets the initial bitrate for the video stream.
void setKeyframeInterval(float keyframeInterval)
Sets the keyframe interval for the video stream.
void setMaxBitrate(int maxBitrate)
Sets the maximum bitrate for the video stream.
void setMinBitrate(int minBitrate)
Sets the minimum bitrate for the video stream.
void setSize(int width, int height)
Sets the frame image size for the video stream.
void setSize(BroadcastConfiguration.Vec2 size)
void setTargetFramerate(int targetFramerate)
Sets the target framerate for the video stream.
void setUseAutoBitrate(boolean useAutoBitrate)
void setUseBFrames(boolean useBFrames)
[Expand]
Inherited Methods
From class java.lang.Object

Public Methods

public void enableTransparency (boolean enableTransparency)

Setting this to true will enable transparency between mixer slots at the cost of some memory usage. For example, if you wanted to broadcast the rear facing camera taking up the entire view port, and then overlay the front facing camera with 30% transparency so that you can still partially see the rear facing camera under the front facing camera, this property would need to be YES. Enabling this option does increase the memory usage of the pipeline. If you are not going to use multiple mixer slots with blending, leave this as false. By default this is false.

Parameters
enableTransparency Whether to enable transparency.

public BroadcastConfiguration.AutomaticBitrateProfile getAutoBitrateProfile ()

The profile to use for the video's automatic bitrate algorithm. This has no effect if BroadcastConfiguration.Video#useAutoBitrate is `false`. By default this is CONSERVATIVE.

public int getInitialBitrate ()

The initial bitrate for the output video stream. By default this is `2,100,000`.

public float getKeyframeInterval ()

The keyframe interval for the output video stream in seconds. By default this is `2`.

public int getMaxBitrate ()

The maximum bitrate for the output video stream. By default this is `6,000,000`.

public int getMinBitrate ()

The minimum bitrate for the output video stream. By default this is `300,000`.

public BroadcastConfiguration.Vec2 getSize ()

The resolution of the output video stream. By default this is `720x1280`.

public int getTargetFramerate ()

The target framerate of the output video stream. By default this is `30`.

public boolean isTransparencyEnabled ()

Whether transparency is enabled for this broadcast session.

public boolean isUseAutoBitrate ()

Whether the output video stream will automatically adjust the bitrate based on network conditions. Use setMinBitrate(int) and setMaxBitrate(int) to specify the bounds when this is `true`. By default this is `true`.

public boolean isUseBFrames ()

Whether the output video stream uses B (Bidirectional predicted picture) frames. By default this is `true`.

public void setAutoBitrateProfile (BroadcastConfiguration.AutomaticBitrateProfile profile)

public void setInitialBitrate (int initialBitrate)

Sets the initial bitrate for the video stream. This must be between 100k and 8500k otherwise a IllegalArgumentException will be thrown.

Parameters
initialBitrate the desired initial bitrate

public void setKeyframeInterval (float keyframeInterval)

Sets the keyframe interval for the video stream. This must be between 1 and 5 otherwise a IllegalArgumentException will be thrown.

Parameters
keyframeInterval the desired keyframe interval

public void setMaxBitrate (int maxBitrate)

Sets the maximum bitrate for the video stream. This must be between 100,000 and 8,500,000 otherwise a IllegalArgumentException will be thrown.

Parameters
maxBitrate the desired initial bitrate

public void setMinBitrate (int minBitrate)

Sets the minimum bitrate for the video stream. This must be between 100k and 8500k otherwise a IllegalArgumentException will be thrown.

Parameters
minBitrate the desired initial bitrate

public void setSize (int width, int height)

Sets the frame image size for the video stream. The width and height must both be between 160 and 1920, and the maximum total number of pixels is 2,073,600. So the smallest size you can provide is 160x160, and the largest is either 1080x1920 or 1920x1080. However something like 1920x1200 would not be supported. 1280x180 however is supported. If these restrictions are violated a IllegalArgumentException will be thrown.

Parameters
width the desired width in pixels
height the desired height in pixels

public void setSize (BroadcastConfiguration.Vec2 size)

public void setTargetFramerate (int targetFramerate)

Sets the target framerate for the video stream. This must be between 10 and 60 otherwise a IllegalArgumentException will be thrown.

Parameters
targetFramerate the desired target framerate

public void setUseAutoBitrate (boolean useAutoBitrate)

public void setUseBFrames (boolean useBFrames)