Package google.cloud.video.livestream.v1

Stay organized with collections Save and categorize content based on your preferences.

Index

LivestreamService

Using Live Stream API, you can generate live streams in the various renditions and streaming formats. The streaming format include HTTP Live Streaming (HLS) and Dynamic Adaptive Streaming over HTTP (DASH). You can send a source stream in the various ways, including Real-Time Messaging Protocol (RTMP) and Secure Reliable Transport (SRT).

CreateChannel

rpc CreateChannel(CreateChannelRequest) returns (Operation)

Creates a channel with the provided unique ID in the specified region.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • livestream.channels.create

For more information, see the IAM documentation.

CreateEvent

rpc CreateEvent(CreateEventRequest) returns (Event)

Creates an event with the provided unique ID in the specified channel.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • livestream.events.create

For more information, see the IAM documentation.

CreateInput

rpc CreateInput(CreateInputRequest) returns (Operation)

Creates an input with the provided unique ID in the specified region.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • livestream.inputs.create

For more information, see the IAM documentation.

DeleteChannel

rpc DeleteChannel(DeleteChannelRequest) returns (Operation)

Deletes the specified channel.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • livestream.channels.delete

For more information, see the IAM documentation.

DeleteEvent

rpc DeleteEvent(DeleteEventRequest) returns (Empty)

Deletes the specified event.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • livestream.events.delete

For more information, see the IAM documentation.

DeleteInput

rpc DeleteInput(DeleteInputRequest) returns (Operation)

Deletes the specified input.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • livestream.inputs.delete

For more information, see the IAM documentation.

GetChannel

rpc GetChannel(GetChannelRequest) returns (Channel)

Returns the specified channel.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • livestream.channels.get

For more information, see the IAM documentation.

GetEvent

rpc GetEvent(GetEventRequest) returns (Event)

Returns the specified event.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • livestream.events.get

For more information, see the IAM documentation.

GetInput

rpc GetInput(GetInputRequest) returns (Input)

Returns the specified input.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • livestream.inputs.get

For more information, see the IAM documentation.

ListChannels

rpc ListChannels(ListChannelsRequest) returns (ListChannelsResponse)

Returns a list of all channels in the specified region.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • livestream.channels.list

For more information, see the IAM documentation.

ListEvents

rpc ListEvents(ListEventsRequest) returns (ListEventsResponse)

Returns a list of all events in the specified channel.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • livestream.events.list

For more information, see the IAM documentation.

ListInputs

rpc ListInputs(ListInputsRequest) returns (ListInputsResponse)

Returns a list of all inputs in the specified region.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • livestream.inputs.list

For more information, see the IAM documentation.

StartChannel

rpc StartChannel(StartChannelRequest) returns (Operation)

Starts the specified channel. Part of the video pipeline will be created only when the StartChannel request is received by the server.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • livestream.channels.start

For more information, see the IAM documentation.

StopChannel

rpc StopChannel(StopChannelRequest) returns (Operation)

Stops the specified channel. Part of the video pipeline will be released when the StopChannel request is received by the server.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • livestream.channels.stop

For more information, see the IAM documentation.

UpdateChannel

rpc UpdateChannel(UpdateChannelRequest) returns (Operation)

Updates the specified channel.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • livestream.channels.update

For more information, see the IAM documentation.

UpdateInput

rpc UpdateInput(UpdateInputRequest) returns (Operation)

Updates the specified input.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • livestream.inputs.update

For more information, see the IAM documentation.

AudioFormat

Properties of the audio format.

Fields
codec

string

Audio codec used in this audio stream.

channel_count

int32

The number of audio channels.

channel_layout[]

string

A list of channel names specifying the layout of the audio channels.

AudioStream

Audio stream resource.

Fields
transmux

bool

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.

codec

string

The codec for this audio stream. The default is aac.

Supported audio codecs:

  • aac
bitrate_bps

int32

Required. Audio bitrate in bits per second. Must be between 1 and 10,000,000.

channel_count

int32

Number of audio channels. Must be between 1 and 6. The default is 2.

channel_layout[]

string

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
mapping[]

AudioMapping

The mapping for the input streams and audio channels.

sample_rate_hertz

int32

The audio sample rate in Hertz. The default is 48000 Hertz.

AudioMapping

The mapping for the input streams and audio channels.

Fields
input_key

string

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

int32

Required. The zero-based index of the track in the input stream. All mappings in the same AudioStream must have the same input track.

input_channel

int32

Required. The zero-based index of the channel in the input stream.

output_channel

int32

Required. The zero-based index of the channel in the output audio stream. Must be consistent with the input_channel.

AudioStreamProperty

Properties of the audio stream.

Fields
index

int32

Index of this audio stream.

audio_format

AudioFormat

Properties of the audio format.

Channel

Channel resource represents the processor that does a user-defined "streaming" operation, which includes getting an input stream through an input, transcoding it to multiple renditions, and publishing output live streams in certain formats (for example, HLS or DASH) to the specified location.

Fields
name

string

The resource name of the channel, in the form of: projects/{project}/locations/{location}/channels/{channelId}.

create_time

Timestamp

Output only. The creation time.

update_time

Timestamp

Output only. The update time.

labels

map<string, string>

User-defined key/value metadata.

input_attachments[]

InputAttachment

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.

active_input

string

Output only. The InputAttachment.key that serves as the current input source. The first input in the input_attachments is the initial input source.

output

Output

Required. Information about the output (that is, the Cloud Storage bucket to store the generated live stream).

elementary_streams[]

ElementaryStream

List of elementary streams.

mux_streams[]

MuxStream

List of multiplexing settings for output streams.

manifests[]

Manifest

List of output manifests.

sprite_sheets[]

SpriteSheet

List of output sprite sheets.

streaming_state

StreamingState

Output only. State of the streaming operation.

streaming_error

Status

Output only. A description of the reason for the streaming error. This property is always present when streaming_state is STREAMING_ERROR.

log_config

LogConfig

Configuration of platform logs for this channel.

Output

Location of output file(s) in a Google Cloud Storage bucket.

Fields
uri

string

URI for the output file(s). For example, gs://my-bucket/outputs/.

StreamingState

State of streaming operation that the channel is running.

Enums
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.

ChannelOperationResponse

Response message for Start/Stop Channel long-running operations.

CreateChannelRequest

Request message for "LivestreamService.CreateChannel".

Fields
parent

string

Required. The parent location for the resource, in the form of: projects/{project}/locations/{location}.

channel

Channel

Required. The channel resource to be created.

channel_id

string

Required. The ID of the channel resource to be created. This value must be 1-63 characters, begin and end with [a-z0-9], could contain dashes (-) in between.

request_id

string

A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request.

For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

CreateEventRequest

Request message for "LivestreamService.CreateEvent".

Fields
parent

string

Required. The parent channel for the resource, in the form of: projects/{project}/locations/{location}/channels/{channelId}.

event

Event

Required. The event resource to be created.

event_id

string

Required. The ID of the event resource to be created. This value must be 1-63 characters, begin and end with [a-z0-9], could contain dashes (-) in between.

request_id

string

A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request.

For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

CreateInputRequest

Request message for "LivestreamService.CreateInput".

Fields
parent

string

Required. The parent location for the resource, in the form of: projects/{project}/locations/{location}.

input

Input

Required. The input resource to be created.

input_id

string

Required. The ID of the input resource to be created. This value must be 1-63 characters, begin and end with [a-z0-9], could contain dashes (-) in between.

request_id

string

A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request.

For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

DeleteChannelRequest

Request message for "LivestreamService.DeleteChannel".

Fields
name

string

Required. The name of the channel resource, in the form of: projects/{project}/locations/{location}/channels/{channelId}.

request_id

string

A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request.

For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

force

bool

If the force field is set to the default value of false, you must delete all of a channel's events before you can delete the channel itself. If the field is set to true, requests to delete a channel also delete associated channel events.

DeleteEventRequest

Request message for "LivestreamService.DeleteEvent".

Fields
name

string

Required. The name of the event resource, in the form of: projects/{project}/locations/{location}/channels/{channelId}/events/{eventId}.

request_id

string

A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request.

For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

DeleteInputRequest

Request message for "LivestreamService.DeleteInput".

Fields
name

string

Required. The name of the input resource, in the form of: projects/{project}/locations/{location}/inputs/{inputId}.

request_id

string

A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request.

For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

ElementaryStream

Encoding of an input element such as an audio, video, or text track. Elementary streams must be packaged before mapping and sharing between different output formats.

Fields
key

string

A unique key for this elementary stream.

Union field elementary_stream. Required. Encoding of an audio, video, or text track. elementary_stream can be only one of the following:
video_stream

VideoStream

Encoding of a video stream.

audio_stream

AudioStream

Encoding of an audio stream.

text_stream

TextStream

Encoding of a text stream. For example, closed captions or subtitles.

Event

Event is a sub-resource of a channel, which can be scheduled by the user to execute operations on a channel resource without having to stop the channel.

Fields
name

string

The resource name of the event, in the form of: projects/{project}/locations/{location}/channels/{channelId}/events/{eventId}.

create_time

Timestamp

Output only. The creation time.

update_time

Timestamp

Output only. The update time.

labels

map<string, string>

User-defined key/value metadata.

execute_now

bool

When this field is set to true, the event will be executed at the earliest time that the server can schedule the event and execution_time will be populated with the time that the server actually schedules the event.

execution_time

Timestamp

The time when the event should be executed. When execute_now is set to true, this field should not be set in CreateEvent request and will be populated with the time that the server schedules the event.

state

State

Output only. The state of the event.

error

Status

Output only. An error object that describes the reason for the failure. This property is always present when state is FAILED.

ad_break

AdBreakTask

Required. Inserts a new ad opportunity.

AdBreakTask

Inserts a new ad opportunity.

Fields
duration

Duration

Duration of an ad opportunity. Must be greater than 0.

State

State of the event

Enums
STATE_UNSPECIFIED Event state is not specified.
SCHEDULED Event is scheduled but not executed yet.
RUNNING Event is being executed.
SUCCEEDED Event has been successfully executed.
FAILED Event fails to be executed.
PENDING Event has been created but not scheduled yet.
STOPPED Event was stopped before running for its full duration.

GetChannelRequest

Request message for "LivestreamService.GetChannel".

Fields
name

string

Required. The name of the channel resource, in the form of: projects/{project}/locations/{location}/channels/{channelId}.

GetEventRequest

Request message for "LivestreamService.GetEvent".

Fields
name

string

Required. The name of the event resource, in the form of: projects/{project}/locations/{location}/channels/{channelId}/events/{eventId}.

GetInputRequest

Request message for "LivestreamService.GetInput".

Fields
name

string

Required. The name of the input resource, in the form of: projects/{project}/locations/{location}/inputs/{inputId}.

Input

Input resource represents the endpoint from which the channel ingests the input stream.

Fields
name

string

The resource name of the input, in the form of: projects/{project}/locations/{location}/inputs/{inputId}.

create_time

Timestamp

Output only. The creation time.

update_time

Timestamp

Output only. The update time.

labels

map<string, string>

User-defined key/value metadata.

type

Type

Source type.

tier

Tier

Tier defines the maximum input specification that is accepted by the video pipeline. The billing is charged based on the tier specified here. See Pricing for more detail. The default is HD.

uri

string

Output only. URI to push the input stream to. Its format depends on the input type, for example:

  • RTMP_PUSH: rtmp://1.2.3.4/live/{STREAM-ID}
  • SRT_PUSH: srt://1.2.3.4:4201?streamid={STREAM-ID}
preprocessing_config

PreprocessingConfig

Preprocessing configurations.

security_rules

SecurityRule

Security rule for access control.

input_stream_property

InputStreamProperty

Output only. The information for the input stream. This field will be present only when this input receives the input stream.

SecurityRule

Security rules for access control. Each field represents one security rule. Only when the source of the input stream satisfies all the fields, this input stream can be accepted.

Fields
ip_ranges[]

string

At least one ip range must match unless none specified. The IP range is defined by CIDR block: for example, 192.0.1.0/24 for a range and 192.0.1.0/32 for a single IP address.

Tier

Tier of the input specification.

Enums
TIER_UNSPECIFIED Tier is not specified.
SD Resolution < 1280x720. Bitrate <= 6 Mbps. FPS <= 60.
HD Resolution <= 1920x1080. Bitrate <= 25 Mbps. FPS <= 60.
UHD Resolution <= 4096x2160. Not supported yet.

Type

The type of the input.

Enums
TYPE_UNSPECIFIED Input type is not specified.
RTMP_PUSH Input will take an rtmp input stream.
SRT_PUSH Input will take an srt (Secure Reliable Transport) input stream.

InputAttachment

A group of information for attaching an input resource to this channel.

Fields
key

string

A unique key for this input attachment.

input

string

The resource name of an existing input, in the form of: projects/{project}/locations/{location}/inputs/{inputId}.

automatic_failover

AutomaticFailover

Automatic failover configurations.

AutomaticFailover

Configurations to follow when automatic failover happens.

Fields
input_keys[]

string

The InputAttachment.keys of inputs to failover to when this input is disconnected. Currently, only up to one backup input is supported.

InputStreamProperty

Properties of the input stream.

Fields
last_establish_time

Timestamp

The time that the current input stream is accepted and the connection is established.

video_streams[]

VideoStreamProperty

Properties of the video streams.

audio_streams[]

AudioStreamProperty

Properties of the audio streams.

ListChannelsRequest

Request message for "LivestreamService.ListChannels".

Fields
parent

string

Required. The parent location for the resource, in the form of: projects/{project}/locations/{location}.

page_size

int32

The maximum number of items to return. If unspecified, server will pick an appropriate default. Server may return fewer items than requested. A caller should only rely on response's next_page_token to determine if there are more items left to be queried.

page_token

string

The next_page_token value returned from a previous List request, if any.

filter

string

The filter to apply to list results.

order_by

string

Specifies the ordering of results following syntax at https://cloud.google.com/apis/design/design_patterns#sorting_order.

ListChannelsResponse

Response message for "LivestreamService.ListChannels".

Fields
channels[]

Channel

A list of channels.

next_page_token

string

Token to retrieve the next page of results, or empty if there are no more results in the list.

unreachable[]

string

Locations that could not be reached.

ListEventsRequest

Request message for "LivestreamService.ListEvents".

Fields
parent

string

Required. The parent channel for the resource, in the form of: projects/{project}/locations/{location}/channels/{channelId}.

page_size

int32

The maximum number of items to return. If unspecified, server will pick an appropriate default. Server may return fewer items than requested. A caller should only rely on response's next_page_token to determine if there are more items left to be queried.

page_token

string

The next_page_token value returned from a previous List request, if any.

filter

string

The filter to apply to list results.

order_by

string

Specifies the ordering of results following syntax at https://cloud.google.com/apis/design/design_patterns#sorting_order.

ListEventsResponse

Response message for "LivestreamService.ListEvents".

Fields
events[]

Event

A list of events.

next_page_token

string

Token to retrieve the next page of results, or empty if there are no more results in the list.

unreachable[]

string

Locations that could not be reached.

ListInputsRequest

Request message for "LivestreamService.ListInputs".

Fields
parent

string

Required. The parent location for the resource, in the form of: projects/{project}/locations/{location}.

page_size

int32

The maximum number of items to return. If unspecified, server will pick an appropriate default. Server may return fewer items than requested. A caller should only rely on response's next_page_token to determine if there are more items left to be queried.

page_token

string

The next_page_token value returned from a previous List request, if any.

filter

string

The filter to apply to list results.

order_by

string

Specifies the ordering of results following syntax at Sorting Order.

ListInputsResponse

Response message for "LivestreamService.ListInputs".

Fields
inputs[]

Input

A list of inputs.

next_page_token

string

Token to retrieve the next page of results, or empty if there are no more results in the list.

unreachable[]

string

Locations that could not be reached.

LogConfig

Configuration of platform logs. See Using and managing platform logs for more information about how to view platform logs through Cloud Logging.

Fields
log_severity

LogSeverity

The severity level of platform logging for this resource.

LogSeverity

The severity level of platform logging for this channel. Logs with a severity level higher than or equal to the chosen severity level will be logged and can be viewed through Cloud Logging. The severity level of a log is ranked as followed from low to high: DEBUG < INFO < NOTICE < WARNING < ERROR < CRITICAL < ALERT < EMERGENCY. See LogSeverity for more information.

Enums
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.

Manifest

Manifest configuration.

Fields
file_name

string

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.

type

ManifestType

Required. Type of the manifest, can be HLS or DASH.

mux_streams[]

string

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.
max_segment_count

int32

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.

segment_keep_duration

Duration

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.

ManifestType

The manifest type can be either HLS or DASH.

Enums
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.

MuxStream

Multiplexing settings for output stream.

Fields
key

string

A unique key for this multiplexed stream.

container

string

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[]

string

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.
segment_settings

SegmentSettings

Segment settings for fmp4 and ts.

OperationMetadata

Represents the metadata of the long-running operation.

Fields
create_time

Timestamp

Output only. The time the operation was created.

end_time

Timestamp

Output only. The time the operation finished running.

target

string

Output only. Server-defined resource path for the target of the operation.

verb

string

Output only. Name of the verb executed by the operation.

requested_cancellation

bool

Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have [Operation.error][] value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.

api_version

string

Output only. API version used to start the operation.

PreprocessingConfig

Preprocessing configurations.

Fields
crop

Crop

Specify the video cropping configuration.

pad

Pad

Specify the video pad filter configuration.

Crop

Video cropping configuration for the input video. The cropped input video is scaled to match the output resolution.

Fields
top_pixels

int32

The number of pixels to crop from the top. The default is 0.

bottom_pixels

int32

The number of pixels to crop from the bottom. The default is 0.

left_pixels

int32

The number of pixels to crop from the left. The default is 0.

right_pixels

int32

The number of pixels to crop from the right. The default is 0.

Pad

Pad filter configuration for the input video. The padded input video is scaled after padding with black to match the output resolution.

Fields
top_pixels

int32

The number of pixels to add to the top. The default is 0.

bottom_pixels

int32

The number of pixels to add to the bottom. The default is 0.

left_pixels

int32

The number of pixels to add to the left. The default is 0.

right_pixels

int32

The number of pixels to add to the right. The default is 0.

SegmentSettings

Segment settings for fmp4 and ts.

Fields
segment_duration

Duration

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.

SpriteSheet

Sprite sheet configuration.

Fields
format

string

Format type. The default is jpeg.

Supported formats:

  • jpeg
file_prefix

string

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.

sprite_width_pixels

int32

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

sprite_height_pixels

int32

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

column_count

int32

The maximum number of sprites per row in a sprite sheet. Valid range is [1, 10] and the default value is 1.

row_count

int32

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.

interval

Duration

Create sprites at regular intervals. Valid range is [1 second, 1 hour] and the default value is 10s.

quality

int32

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.

StartChannelRequest

Request message for "LivestreamService.StartChannel".

Fields
name

string

Required. The name of the channel resource, in the form of: projects/{project}/locations/{location}/channels/{channelId}.

request_id

string

A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request.

For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

StopChannelRequest

Request message for "LivestreamService.StopChannel".

Fields
name

string

Required. The name of the channel resource, in the form of: projects/{project}/locations/{location}/channels/{channelId}.

request_id

string

A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request.

For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

TextStream

Encoding of a text stream. For example, closed captions or subtitles.

Fields
codec

string

Required. The codec for this text stream.

Supported text codecs:

  • cea608
  • cea708

UpdateChannelRequest

Request message for "LivestreamService.UpdateChannel".

Fields
update_mask

FieldMask

Field mask is used to specify the fields to be overwritten in the Channel resource by the update. You can only update the following fields:

The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask.

channel

Channel

Required. The channel resource to be updated.

request_id

string

A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request.

For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

UpdateInputRequest

Request message for "LivestreamService.UpdateInput".

Fields
update_mask

FieldMask

Field mask is used to specify the fields to be overwritten in the Input resource by the update. You can only update the following fields:

The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask.

input

Input

Required. The input resource to be updated.

request_id

string

A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request.

For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

VideoFormat

Properties of the video format.

Fields
codec

string

Video codec used in this video stream.

width_pixels

int32

The width of the video stream in pixels.

height_pixels

int32

The height of the video stream in pixels.

frame_rate

double

The frame rate of the input video stream.

VideoStream

Video stream resource.

Fields
h264

H264CodecSettings

H264 codec settings.

H264CodecSettings

H264 codec settings.

Fields
width_pixels

int32

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

height_pixels

int32

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

frame_rate

double

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

int32

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.

vbv_size_bits

int32

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

int32

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

int32

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

double

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.

Union field gop_mode. GOP mode can be either by frame count or duration. gop_mode can be only one of the following:
gop_frame_count

int32

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

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.

VideoStreamProperty

Properties of the video stream.

Fields
index

int32

Index of this video stream.

video_format

VideoFormat

Properties of the video format.