Google Cloud Video Live Stream V1 Client - Class H264CodecSettings (1.0.0)

Reference documentation and code samples for the Google Cloud Video Live Stream V1 Client class H264CodecSettings.

H264 codec settings.

Generated from protobuf message google.cloud.video.livestream.v1.VideoStream.H264CodecSettings

Namespace

Google \ Cloud \ Video \ LiveStream \ V1 \ VideoStream

Methods

__construct

Constructor.

Parameters
Name Description
data array

Optional. Data for populating the Message object.

↳ width_pixels int

Required. The width of the video in pixels. Must be an even integer. Valid range is [320, 1920].

↳ height_pixels int

Required. The height of the video in pixels. Must be an even integer. Valid range is [180, 1080].

↳ frame_rate float

Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 60. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See Calculating frame rate for more information.

↳ bitrate_bps int

Required. The video bitrate in bits per second. Minimum value is 10,000. - For SD resolution (< 720p), must be <= 3,000,000 (3 Mbps). - For HD resolution (<= 1080p), must be <= 15,000,000 (15 Mbps).

↳ allow_open_gop bool

Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is false.

↳ gop_frame_count int

Select the GOP size based on the specified frame count. If GOP frame count is set instead of GOP duration, GOP duration will be calculated by gopFrameCount/frameRate. The calculated GOP duration must satisfy the limitations on gopDuration as well. Valid range is [60, 600].

↳ gop_duration Google\Protobuf\Duration

Select the GOP size based on the specified duration. The default is 2s. Note that gopDuration must be less than or equal to segment_duration, and segment_duration must be divisible by gopDuration. Valid range is [2s, 20s]. All video streams in the same channel must have the same GOP size.

↳ vbv_size_bits int

Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to bitrate_bps.

↳ vbv_fullness_bits int

Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of vbv_size_bits.

↳ entropy_coder string

The entropy coder to use. The default is cabac. Supported entropy coders: - cavlc - cabac

↳ b_pyramid bool

Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is false.

↳ b_frame_count int

The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than gop_frame_count if set. The default is 0.

↳ aq_strength float

Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and 1, where 0 disables the quantizer and 1 maximizes the quantizer. A higher value equals a lower bitrate but smoother image. The default is 0.

↳ profile string

Enforces the specified codec profile. The following profiles are supported: * baseline * main (default) * high The available options are FFmpeg-compatible Profile Options. Note that certain values for this field may cause the transcoder to override other fields you set in the H264CodecSettings message.

↳ tune string

Enforces the specified codec tune. The available options are FFmpeg-compatible Encode Options Note that certain values for this field may cause the transcoder to override other fields you set in the H264CodecSettings message.

getWidthPixels

Required. The width of the video in pixels. Must be an even integer.

Valid range is [320, 1920].

Returns
Type Description
int

setWidthPixels

Required. The width of the video in pixels. Must be an even integer.

Valid range is [320, 1920].

Parameter
Name Description
var int
Returns
Type Description
$this

getHeightPixels

Required. The height of the video in pixels. Must be an even integer.

Valid range is [180, 1080].

Returns
Type Description
int

setHeightPixels

Required. The height of the video in pixels. Must be an even integer.

Valid range is [180, 1080].

Parameter
Name Description
var int
Returns
Type Description
$this

getFrameRate

Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 60. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See Calculating frame rate for more information.

Returns
Type Description
float

setFrameRate

Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 60. Will default to the input frame rate if larger than the input frame rate. The API will generate an output FPS that is divisible by the input FPS, and smaller or equal to the target FPS. See Calculating frame rate for more information.

Parameter
Name Description
var float
Returns
Type Description
$this

getBitrateBps

Required. The video bitrate in bits per second. Minimum value is 10,000.

  • For SD resolution (< 720p), must be <= 3,000,000 (3 Mbps).
  • For HD resolution (<= 1080p), must be <= 15,000,000 (15 Mbps).
Returns
Type Description
int

setBitrateBps

Required. The video bitrate in bits per second. Minimum value is 10,000.

  • For SD resolution (< 720p), must be <= 3,000,000 (3 Mbps).
  • For HD resolution (<= 1080p), must be <= 15,000,000 (15 Mbps).
Parameter
Name Description
var int
Returns
Type Description
$this

getAllowOpenGop

Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is false.

Returns
Type Description
bool

setAllowOpenGop

Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is false.

Parameter
Name Description
var bool
Returns
Type Description
$this

getGopFrameCount

Select the GOP size based on the specified frame count.

If GOP frame count is set instead of GOP duration, GOP duration will be calculated by gopFrameCount/frameRate. The calculated GOP duration must satisfy the limitations on gopDuration as well. Valid range is [60, 600].

Returns
Type Description
int

hasGopFrameCount

setGopFrameCount

Select the GOP size based on the specified frame count.

If GOP frame count is set instead of GOP duration, GOP duration will be calculated by gopFrameCount/frameRate. The calculated GOP duration must satisfy the limitations on gopDuration as well. Valid range is [60, 600].

Parameter
Name Description
var int
Returns
Type Description
$this

getGopDuration

Select the GOP size based on the specified duration. The default is 2s. Note that gopDuration must be less than or equal to segment_duration, and segment_duration must be divisible by gopDuration. Valid range is [2s, 20s].

All video streams in the same channel must have the same GOP size.

Returns
Type Description
Google\Protobuf\Duration|null

hasGopDuration

setGopDuration

Select the GOP size based on the specified duration. The default is 2s. Note that gopDuration must be less than or equal to segment_duration, and segment_duration must be divisible by gopDuration. Valid range is [2s, 20s].

All video streams in the same channel must have the same GOP size.

Parameter
Name Description
var Google\Protobuf\Duration
Returns
Type Description
$this

getVbvSizeBits

Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to bitrate_bps.

Returns
Type Description
int

setVbvSizeBits

Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to bitrate_bps.

Parameter
Name Description
var int
Returns
Type Description
$this

getVbvFullnessBits

Initial fullness of the Video Buffering Verifier (VBV) buffer in bits.

Must be greater than zero. The default is equal to 90% of vbv_size_bits.

Returns
Type Description
int

setVbvFullnessBits

Initial fullness of the Video Buffering Verifier (VBV) buffer in bits.

Must be greater than zero. The default is equal to 90% of vbv_size_bits.

Parameter
Name Description
var int
Returns
Type Description
$this

getEntropyCoder

The entropy coder to use. The default is cabac.

Supported entropy coders:

  • cavlc
  • cabac
Returns
Type Description
string

setEntropyCoder

The entropy coder to use. The default is cabac.

Supported entropy coders:

  • cavlc
  • cabac
Parameter
Name Description
var string
Returns
Type Description
$this

getBPyramid

Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is false.

Returns
Type Description
bool

setBPyramid

Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is false.

Parameter
Name Description
var bool
Returns
Type Description
$this

getBFrameCount

The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than gop_frame_count if set. The default is 0.

Returns
Type Description
int

setBFrameCount

The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than gop_frame_count if set. The default is 0.

Parameter
Name Description
var int
Returns
Type Description
$this

getAqStrength

Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and 1, where 0 disables the quantizer and 1 maximizes the quantizer. A higher value equals a lower bitrate but smoother image. The default is 0.

Returns
Type Description
float

setAqStrength

Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and 1, where 0 disables the quantizer and 1 maximizes the quantizer. A higher value equals a lower bitrate but smoother image. The default is 0.

Parameter
Name Description
var float
Returns
Type Description
$this

getProfile

Enforces the specified codec profile. The following profiles are supported:

Note that certain values for this field may cause the transcoder to override other fields you set in the H264CodecSettings message.

Returns
Type Description
string

setProfile

Enforces the specified codec profile. The following profiles are supported:

Note that certain values for this field may cause the transcoder to override other fields you set in the H264CodecSettings message.

Parameter
Name Description
var string
Returns
Type Description
$this

getTune

Enforces the specified codec tune. The available options are FFmpeg-compatible Encode Options Note that certain values for this field may cause the transcoder to override other fields you set in the H264CodecSettings message.

Returns
Type Description
string

setTune

Enforces the specified codec tune. The available options are FFmpeg-compatible Encode Options Note that certain values for this field may cause the transcoder to override other fields you set in the H264CodecSettings message.

Parameter
Name Description
var string
Returns
Type Description
$this

getGopMode

Returns
Type Description
string