gcp_livestream_channel
Type: STRING
Provider name: activeInput
Description: Output only. The InputAttachment.key that serves as the current input source. The first input in the input_attachments is the initial input source.
ancestors
Type: UNORDERED_LIST_STRING
create_time
Type: TIMESTAMP
Provider name: createTime
Description: Output only. The creation time.
elementary_streams
Type: UNORDERED_LIST_STRUCT
Provider name: elementaryStreams
Description: List of elementary streams.
audio_stream
Type: STRUCT
Provider name: audioStream
Description: Encoding of an audio stream.
bitrate_bps
Type: INT32
Provider name: bitrateBps
Description: Required. Audio bitrate in bits per second. Must be between 1 and 10,000,000.
channel_count
Type: INT32
Provider name: channelCount
Description: Number of audio channels. Must be between 1 and 6. The default is 2.
channel_layout
Type: UNORDERED_LIST_STRING
Provider name: channelLayout
Description: A list of channel names specifying layout of the audio channels. This only affects the metadata embedded in the container headers, if supported by the specified format. The default is [fl, fr]
. Supported channel names: - fl
- Front left channel - fr
- Front right channel - sl
- Side left channel - sr
- Side right channel - fc
- Front center channel - lfe
- Low frequency
codec
Type: STRING
Provider name: codec
Description: The codec for this audio stream. The default is aac
. Supported audio codecs: - aac
mapping
Type: UNORDERED_LIST_STRUCT
Provider name: mapping
Description: The mapping for the input streams and audio channels.
gain_db
Type: DOUBLE
Provider name: gainDb
Description: Audio volume control in dB. Negative values decrease volume, positive values increase. The default is 0.
input_channel
Type: INT32
Provider name: inputChannel
Description: Required. The zero-based index of the channel in the input stream.
input_key
Type: STRING
Provider name: inputKey
Description: Required. The Channel
InputAttachment.key that identifies the input that this audio mapping applies to. If an active input doesn’t have an audio mapping, the primary audio track in the input stream will be selected.
input_track
Type: INT32
Provider name: inputTrack
Description: Required. The zero-based index of the track in the input stream. All mappings in the same AudioStream must have the same input track.
output_channel
Type: INT32
Provider name: outputChannel
Description: Required. The zero-based index of the channel in the output audio stream. Must be consistent with the input_channel.
sample_rate_hertz
Type: INT32
Provider name: sampleRateHertz
Description: The audio sample rate in Hertz. The default is 48000 Hertz.
transmux
Type: BOOLEAN
Provider name: transmux
Description: Specifies whether pass through (transmuxing) is enabled or not. If set to true
, the rest of the settings, other than mapping
, will be ignored. The default is false
.
key
Type: STRING
Provider name: key
Description: A unique key for this elementary stream. The key must be 1-63 characters in length. The key must begin and end with a letter (regardless of case) or a number, but can contain dashes or underscores in between.
text_stream
Type: STRUCT
Provider name: textStream
Description: Encoding of a text stream. For example, closed captions or subtitles.
codec
Type: STRING
Provider name: codec
Description: Required. The codec for this text stream. Supported text codecs: - cea608
- cea708
video_stream
Type: STRUCT
Provider name: videoStream
Description: Encoding of a video stream.
h264
Type: STRUCT
Provider name: h264
Description: H264 codec settings.
allow_open_gop
Type: BOOLEAN
Provider name: allowOpenGop
Description: Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is false
.
aq_strength
Type: DOUBLE
Provider name: aqStrength
Description: 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.
b_frame_count
Type: INT32
Provider name: bFrameCount
Description: 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.
b_pyramid
Type: BOOLEAN
Provider name: bPyramid
Description: Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is false
.
bitrate_bps
Type: INT32
Provider name: bitrateBps
Description: 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).
entropy_coder
Type: STRING
Provider name: entropyCoder
Description: The entropy coder to use. The default is cabac
. Supported entropy coders: - cavlc
- cabac
frame_rate
Type: DOUBLE
Provider name: frameRate
Description: 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.
gop_duration
Type: STRING
Provider name: gopDuration
Description: 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.
gop_frame_count
Type: INT32
Provider name: gopFrameCount
Description: 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].
height_pixels
Type: INT32
Provider name: heightPixels
Description: Required. The height of the video in pixels. Must be an even integer. Valid range is [180, 1080].
profile
Type: STRING
Provider name: profile
Description: 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
Type: STRING
Provider name: tune
Description: 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.
vbv_fullness_bits
Type: INT32
Provider name: vbvFullnessBits
Description: 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.
vbv_size_bits
Type: INT32
Provider name: vbvSizeBits
Description: Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to bitrate_bps.
width_pixels
Type: INT32
Provider name: widthPixels
Description: Required. The width of the video in pixels. Must be an even integer. Valid range is [320, 1920].
encryptions
Type: UNORDERED_LIST_STRUCT
Provider name: encryptions
Description: Encryption configurations for this channel. Each configuration has an ID which is referred to by each MuxStream to indicate which configuration is used for that output.
aes128
Type: STRUCT
Provider name: aes128
Description: Configuration for HLS AES-128 encryption.
drm_systems
Type: STRUCT
Provider name: drmSystems
Description: Required. Configuration for DRM systems.
clearkey
Type: STRUCT
Provider name: clearkey
Description: Clearkey configuration.
fairplay
Type: STRUCT
Provider name: fairplay
Description: Fairplay configuration.
playready
Type: STRUCT
Provider name: playready
Description: Playready configuration.
widevine
Type: STRUCT
Provider name: widevine
Description: Widevine configuration.
id
Type: STRING
Provider name: id
Description: Required. Identifier for this set of encryption options. The ID must be 1-63 characters in length. The ID must begin and end with a letter (regardless of case) or a number, but can contain dashes or underscores in between.
mpeg_cenc
Type: STRUCT
Provider name: mpegCenc
Description: Configuration for MPEG-Dash Common Encryption (MPEG-CENC).
scheme
Type: STRING
Provider name: scheme
Description: Required. Specify the encryption scheme, supported schemes: - cenc
- AES-CTR subsample - cbcs
- AES-CBC subsample pattern
sample_aes
Type: STRUCT
Provider name: sampleAes
Description: Configuration for HLS SAMPLE-AES encryption.
secret_manager_key_source
Type: STRUCT
Provider name: secretManagerKeySource
Description: For keys stored in Google Secret Manager.
secret_version
Type: STRING
Provider name: secretVersion
Description: Required. The name of the Secret Version containing the encryption key. projects/{project}/secrets/{secret_id}/versions/{version_number}
Type: UNORDERED_LIST_STRUCT
Provider name: inputAttachments
Description: A list of input attachments that this channel uses. One channel can have multiple inputs as the input sources. Only one input can be selected as the input source at one time.
automatic_failover
Type: STRUCT
Provider name: automaticFailover
Description: Automatic failover configurations.
input_keys
Type: UNORDERED_LIST_STRING
Provider name: inputKeys
Description: The InputAttachment.keys of inputs to failover to when this input is disconnected. Currently, only up to one backup input is supported.
input
Type: STRING
Provider name: input
Description: The resource name of an existing input, in the form of: projects/{project}/locations/{location}/inputs/{inputId}
.
key
Type: STRING
Provider name: key
Description: A unique key for this input attachment. The key must be 1-63 characters in length. The key must begin and end with a letter (regardless of case) or a number, but can contain dashes or underscores in between.
Type: STRUCT
Provider name: inputConfig
Description: The configuration for input sources defined in input_attachments.
input_switch_mode
Type: STRING
Provider name: inputSwitchMode
Description: Input switch mode. Default mode is FAILOVER_PREFER_PRIMARY
.
Possible values:
INPUT_SWITCH_MODE_UNSPECIFIED
- The input switch mode is not specified.
FAILOVER_PREFER_PRIMARY
- Automatic failover is enabled. The primary input stream is always preferred over its backup input streams configured using the AutomaticFailover field.
MANUAL
- Automatic failover is disabled. You must use the inputSwitch event to switch the active input source for the channel to stream from. When this mode is chosen, the AutomaticFailover field is ignored.
labels
Type: UNORDERED_LIST_STRING
log_config
Type: STRUCT
Provider name: logConfig
Description: Configuration of platform logs for this channel.
log_severity
Type: STRING
Provider name: logSeverity
Description: The severity level of platform logging for this resource.
Possible values:
LOG_SEVERITY_UNSPECIFIED
- Log severity is not specified. This is the same as log severity is OFF.
OFF
- Log is turned off.
DEBUG
- Log with severity higher than or equal to DEBUG are logged.
INFO
- Logs with severity higher than or equal to INFO are logged.
WARNING
- Logs with severity higher than or equal to WARNING are logged.
ERROR
- Logs with severity higher than or equal to ERROR are logged.
manifests
Type: UNORDERED_LIST_STRUCT
Provider name: manifests
Description: List of output manifests.
file_name
Type: STRING
Provider name: fileName
Description: The name of the generated file. The default is manifest
with the extension suffix corresponding to the Manifest
type. If multiple manifests are added to the channel, each must have a unique file name.
key
Type: STRING
Provider name: key
Description: Optional. A unique key for this manifest.
max_segment_count
Type: INT32
Provider name: maxSegmentCount
Description: Maximum number of segments that this manifest holds. Once the manifest reaches this maximum number of segments, whenever a new segment is added to the manifest, the oldest segment will be removed from the manifest. The minimum value is 3 and the default value is 5.
mux_streams
Type: UNORDERED_LIST_STRING
Provider name: muxStreams
Description: Required. List of MuxStream
keys that should appear in this manifest. - For HLS, either fmp4
or ts
mux streams can be specified but not mixed. - For DASH, only fmp4
mux streams can be specified.
segment_keep_duration
Type: STRING
Provider name: segmentKeepDuration
Description: How long to keep a segment on the output Google Cloud Storage bucket after it is removed from the manifest. This field should be large enough to cover the manifest propagation delay. Otherwise, a player could receive 404 errors while accessing segments which are listed in the manifest that the player has, but were already deleted from the output Google Cloud Storage bucket. Default value is 60s
. If both segment_keep_duration and RetentionConfig.retention_window_duration are set, RetentionConfig.retention_window_duration is used and segment_keep_duration is ignored.
type
Type: STRING
Provider name: type
Description: Required. Type of the manifest, can be HLS
or DASH
.
Possible values:
MANIFEST_TYPE_UNSPECIFIED
- The manifest type is not specified.
HLS
- Create an HLS
manifest. The corresponding file extension is .m3u8
.
DASH
- Create a DASH
manifest. The corresponding file extension is .mpd
.
use_timecode_as_timeline
Type: BOOLEAN
Provider name: useTimecodeAsTimeline
Description: Whether to use the timecode, as specified in timecode config, when setting: - availabilityStartTime
attribute in DASH manifests. - #EXT-X-PROGRAM-DATE-TIME
tag in HLS manifests. If false, ignore the input timecode and use the time from system clock when the manifest is first generated. This is the default behavior.
mux_streams
Type: UNORDERED_LIST_STRUCT
Provider name: muxStreams
Description: List of multiplexing settings for output streams.
container
Type: STRING
Provider name: container
Description: The container format. The default is fmp4
. Supported container formats: - fmp4
- the corresponding file extension is .m4s
- ts
- the corresponding file extension is .ts
elementary_streams
Type: UNORDERED_LIST_STRING
Provider name: elementaryStreams
Description: List of ElementaryStream
keys multiplexed in this stream. - For fmp4
container, must contain either one video or one audio stream. - For ts
container, must contain exactly one audio stream and up to one video stream.
encryption_id
Type: STRING
Provider name: encryptionId
Description: Identifier of the encryption configuration to use. If omitted, output will be unencrypted.
key
Type: STRING
Provider name: key
Description: A unique key for this multiplexed stream. The key must be 1-63 characters in length. The key must begin and end with a letter (regardless of case) or a number, but can contain dashes or underscores in between.
segment_settings
Type: STRUCT
Provider name: segmentSettings
Description: Segment settings for fmp4
and ts
.
segment_duration
Type: STRING
Provider name: segmentDuration
Description: Duration of the segments in seconds. The default is 6s
. Note that segmentDuration
must be greater than or equal to gop_duration, and segmentDuration
must be divisible by gop_duration. Valid range is [2s, 20s]. All mux_streams in the same manifest must have the same segment duration.
name
Type: STRING
Provider name: name
Description: The resource name of the channel, in the form of: projects/{project}/locations/{location}/channels/{channelId}
.
organization_id
Type: STRING
output
Type: STRUCT
Provider name: output
Description: Required. Information about the output (that is, the Cloud Storage bucket to store the generated live stream).
uri
Type: STRING
Provider name: uri
Description: URI for the output file(s). For example, gs://my-bucket/outputs/
.
parent
Type: STRING
project_id
Type: STRING
project_number
Type: STRING
resource_name
Type: STRING
retention_config
Type: STRUCT
Provider name: retentionConfig
Description: Optional. Configuration for retention of output files for this channel.
retention_window_duration
Type: STRING
Provider name: retentionWindowDuration
Description: The minimum duration for which the output files from the channel will remain in the output bucket. After this duration, output files are deleted asynchronously. When the channel is deleted, all output files are deleted from the output bucket asynchronously. If omitted or set to zero, output files will remain in the output bucket based on Manifest.segment_keep_duration, which defaults to 60s. If both retention_window_duration and Manifest.segment_keep_duration are set, retention_window_duration is used and Manifest.segment_keep_duration is ignored.
sprite_sheets
Type: UNORDERED_LIST_STRUCT
Provider name: spriteSheets
Description: List of output sprite sheets.
column_count
Type: INT32
Provider name: columnCount
Description: The maximum number of sprites per row in a sprite sheet. Valid range is [1, 10] and the default value is 1.
file_prefix
Type: STRING
Provider name: filePrefix
Description: Required. File name prefix for the generated sprite sheets. If multiple sprite sheets are added to the channel, each must have a unique file prefix. Each sprite sheet has an incremental 10-digit zero-padded suffix starting from 0 before the extension, such as sprite_sheet0000000123.jpeg
.
format
Type: STRING
Provider name: format
Description: Format type. The default is jpeg
. Supported formats: - jpeg
interval
Type: STRING
Provider name: interval
Description: Create sprites at regular intervals. Valid range is [1 second, 1 hour] and the default value is 10s
.
quality
Type: INT32
Provider name: quality
Description: The quality of the generated sprite sheet. Enter a value between 1 and 100, where 1 is the lowest quality and 100 is the highest quality. The default is 100. A high quality value corresponds to a low image data compression ratio.
row_count
Type: INT32
Provider name: rowCount
Description: The maximum number of rows per sprite sheet. When the sprite sheet is full, a new sprite sheet is created. Valid range is [1, 10] and the default value is 1.
sprite_height_pixels
Type: INT32
Provider name: spriteHeightPixels
Description: Required. The height of the sprite in pixels. Must be an even integer.
sprite_width_pixels
Type: INT32
Provider name: spriteWidthPixels
Description: Required. The width of the sprite in pixels. Must be an even integer.
static_overlays
Type: UNORDERED_LIST_STRUCT
Provider name: staticOverlays
Description: Optional. List of static overlay images. Those images display over the output content for the whole duration of the live stream.
asset
Type: STRING
Provider name: asset
Description: Required. Asset to use for the overlaid image. The asset must be represented in the form of: projects/{project}/locations/{location}/assets/{assetId}
. The asset’s resource type must be image.
opacity
Type: DOUBLE
Provider name: opacity
Description: Optional. Target image opacity. Valid values are from 1.0
(solid, default) to 0.0
(transparent), exclusive. Set this to a value greater than 0.0
.
position
Type: STRUCT
Provider name: position
Description: Optional. Position of the image in terms of normalized coordinates of the upper-left corner of the image, based on output video resolution. For example, use the x and y coordinates {0, 0} to position the top-left corner of the overlay animation in the top-left corner of the output video.
x
Type: DOUBLE
Provider name: x
Description: Optional. Normalized x coordinate. Valid range is [0.0, 1.0]. Default is 0.
y
Type: DOUBLE
Provider name: y
Description: Optional. Normalized y coordinate. Valid range is [0.0, 1.0]. Default is 0.
resolution
Type: STRUCT
Provider name: resolution
Description: Optional. Normalized image resolution, based on output video resolution. Valid values are [0.0, 1.0]. To respect the original image aspect ratio, set either w
or h
to 0. To use the original image resolution, set both w
and h
to 0. The default is {0, 0}.
h
Type: DOUBLE
Provider name: h
Description: Optional. Normalized height. Valid range is [0.0, 1.0]. Default is 0.
w
Type: DOUBLE
Provider name: w
Description: Optional. Normalized width. Valid range is [0.0, 1.0]. Default is 0.
streaming_error
Type: STRUCT
Provider name: streamingError
Description: Output only. A description of the reason for the streaming error. This property is always present when streaming_state is STREAMING_ERROR.
code
Type: INT32
Provider name: code
Description: The status code, which should be an enum value of google.rpc.Code.
message
Type: STRING
Provider name: message
Description: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
streaming_state
Type: STRING
Provider name: streamingState
Description: Output only. State of the streaming operation.
Possible values:
STREAMING_STATE_UNSPECIFIED
- Streaming state is not specified.
STREAMING
- Channel is getting the input stream, generating the live streams to the specified output location.
AWAITING_INPUT
- Channel is waiting for the input stream through the input.
STREAMING_ERROR
- Channel is running, but has trouble publishing the live streams onto the specified output location (for example, the specified Cloud Storage bucket is not writable).
STREAMING_NO_INPUT
- Channel is generating live streams with no input stream. Live streams are filled out with black screen, while input stream is missing. Not supported yet.
STOPPED
- Channel is stopped, finishing live streams.
STARTING
- Channel is starting.
STOPPING
- Channel is stopping.
Type: UNORDERED_LIST_STRING
timecode_config
Type: STRUCT
Provider name: timecodeConfig
Description: Configuration of timecode for this channel.
gcp_source
Type: STRING
Provider name: source
Description: The source of the timecode that will later be used in outputs/manifests. It determines the initial timecode/timestamp (first frame) of output streams.
Possible values:
TIMECODE_SOURCE_UNSPECIFIED
- The timecode source is not specified.
MEDIA_TIMESTAMP
- Use input media timestamp.
EMBEDDED_TIMECODE
- Use input embedded timecode e.g. picture timing SEI message.
time_zone
Type: STRUCT
Provider name: timeZone
Description: Time zone e.g. “America/Los_Angeles”.
id
Type: STRING
Provider name: id
Description: IANA Time Zone Database time zone. For example “America/New_York”.
version
Type: STRING
Provider name: version
Description: Optional. IANA Time Zone Database version number. For example “2019a”.
utc_offset
Type: STRING
Provider name: utcOffset
Description: UTC offset. Must be whole seconds, between -18 hours and +18 hours.
update_time
Type: TIMESTAMP
Provider name: updateTime
Description: Output only. The update time.