Index
-
LivestreamService
(interface) -
Asset
(message) -
Asset.ImageAsset
(message) -
Asset.State
(enum) -
Asset.VideoAsset
(message) -
AudioFormat
(message) -
AudioStream
(message) -
AudioStream.AudioMapping
(message) -
AudioStreamProperty
(message) -
AutoTranscriptionConfig
(message) -
AutoTranscriptionConfig.DisplayTiming
(enum) -
AutoTranscriptionConfig.QualityPreset
(enum) -
Channel
(message) -
Channel.Output
(message) -
Channel.StreamingState
(enum) -
ChannelOperationResponse
(message) -
Clip
(message) -
Clip.ClipManifest
(message) -
Clip.OutputType
(enum) -
Clip.Slice
(message) -
Clip.State
(enum) -
Clip.TimeSlice
(message) -
CreateAssetRequest
(message) -
CreateChannelRequest
(message) -
CreateClipRequest
(message) -
CreateDvrSessionRequest
(message) -
CreateEventRequest
(message) -
CreateInputRequest
(message) -
DeleteAssetRequest
(message) -
DeleteChannelRequest
(message) -
DeleteClipRequest
(message) -
DeleteDvrSessionRequest
(message) -
DeleteEventRequest
(message) -
DeleteInputRequest
(message) -
Distribution
(message) -
Distribution.State
(enum) -
DistributionStream
(message) -
DvrSession
(message) -
DvrSession.DvrManifest
(message) -
DvrSession.DvrWindow
(message) -
DvrSession.State
(enum) -
ElementaryStream
(message) -
Encryption
(message) -
Encryption.Aes128Encryption
(message) -
Encryption.Clearkey
(message) -
Encryption.DrmSystems
(message) -
Encryption.Fairplay
(message) -
Encryption.MpegCommonEncryption
(message) -
Encryption.Playready
(message) -
Encryption.SampleAesEncryption
(message) -
Encryption.SecretManagerSource
(message) -
Encryption.Widevine
(message) -
Event
(message) -
Event.AdBreakTask
(message) -
Event.InputSwitchTask
(message) -
Event.MuteTask
(message) -
Event.ReturnToProgramTask
(message) -
Event.SlateTask
(message) -
Event.State
(enum) -
Event.UnmuteTask
(message) -
GetAssetRequest
(message) -
GetChannelRequest
(message) -
GetClipRequest
(message) -
GetDvrSessionRequest
(message) -
GetEventRequest
(message) -
GetInputRequest
(message) -
GetPoolRequest
(message) -
Input
(message) -
Input.SecurityRule
(message) -
Input.Tier
(enum) -
Input.Type
(enum) -
InputAttachment
(message) -
InputAttachment.AutomaticFailover
(message) -
InputConfig
(message) -
InputConfig.InputSwitchMode
(enum) -
InputStreamProperty
(message) -
ListAssetsRequest
(message) -
ListAssetsResponse
(message) -
ListChannelsRequest
(message) -
ListChannelsResponse
(message) -
ListClipsRequest
(message) -
ListClipsResponse
(message) -
ListDvrSessionsRequest
(message) -
ListDvrSessionsResponse
(message) -
ListEventsRequest
(message) -
ListEventsResponse
(message) -
ListInputsRequest
(message) -
ListInputsResponse
(message) -
LogConfig
(message) -
LogConfig.LogSeverity
(enum) -
Manifest
(message) -
Manifest.ManifestType
(enum) -
MuxStream
(message) -
NormalizedCoordinate
(message) -
NormalizedResolution
(message) -
OperationMetadata
(message) -
Pool
(message) -
Pool.NetworkConfig
(message) -
PreprocessingConfig
(message) -
PreprocessingConfig.Audio
(message) -
PreprocessingConfig.Crop
(message) -
PreprocessingConfig.Pad
(message) -
RetentionConfig
(message) -
RtmpPushOutputEndpoint
(message) -
SegmentSettings
(message) -
SpriteSheet
(message) -
SrtPushOutputEndpoint
(message) -
StartChannelRequest
(message) -
StaticOverlay
(message) -
StopChannelRequest
(message) -
TextStream
(message) -
TextStream.TextMapping
(message) -
TimeInterval
(message) -
TimecodeConfig
(message) -
TimecodeConfig.TimecodeSource
(enum) -
UpdateChannelRequest
(message) -
UpdateDvrSessionRequest
(message) -
UpdateInputRequest
(message) -
UpdatePoolRequest
(message) -
VideoFormat
(message) -
VideoStream
(message) -
VideoStream.H264CodecSettings
(message) -
VideoStream.H265CodecSettings
(message) -
VideoStreamProperty
(message)
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).
rpc CreateAsset(
CreateAssetRequest
) returns ( Operation
)
Creates a Asset 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.assets.create
For more information, see the IAM documentation .
-
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 .
-
rpc CreateClip(
CreateClipRequest
) returns ( Operation
)
Creates a clip with the provided clip 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.clips.create
For more information, see the IAM documentation .
-
rpc CreateDvrSession(
CreateDvrSessionRequest
) returns ( Operation
)
Creates a DVR session 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.dvrSessions.create
For more information, see the IAM documentation .
-
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 .
-
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 .
-
rpc DeleteAsset(
DeleteAssetRequest
) returns ( Operation
)
Deletes the specified asset if it is not used.
- 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.assets.delete
For more information, see the IAM documentation .
-
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 .
-
rpc DeleteClip(
DeleteClipRequest
) returns ( Operation
)
Deletes the specified clip job resource. This method only deletes the clip job and does not delete the VOD clip stored in Cloud Storage.
- 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.clips.delete
For more information, see the IAM documentation .
-
rpc DeleteDvrSession(
DeleteDvrSessionRequest
) returns ( Operation
)
Deletes the specified DVR session.
- 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.dvrSessions.delete
For more information, see the IAM documentation .
-
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 .
-
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 .
-
rpc GetAsset(
GetAssetRequest
) returns ( Asset
)
Returns the specified asset.
- 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.assets.get
For more information, see the IAM documentation .
-
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 .
-
rpc GetClip(
GetClipRequest
) returns ( Clip
)
Returns the specified clip.
- 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.clips.get
For more information, see the IAM documentation .
-
rpc GetDvrSession(
GetDvrSessionRequest
) returns ( DvrSession
)
Returns the specified DVR session.
- 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.dvrSessions.get
For more information, see the IAM documentation .
-
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 .
-
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 .
-
rpc GetPool(
GetPoolRequest
) returns ( Pool
)
Returns the specified pool.
- 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.pools.get
For more information, see the IAM documentation .
-
rpc ListAssets(
ListAssetsRequest
) returns ( ListAssetsResponse
)
Returns a list of all assets 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.assets.list
For more information, see the IAM documentation .
-
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 .
-
rpc ListClips(
ListClipsRequest
) returns ( ListClipsResponse
)
Returns a list of all clips 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.clips.list
For more information, see the IAM documentation .
-
rpc ListDvrSessions(
ListDvrSessionsRequest
) returns ( ListDvrSessionsResponse
)
Returns a list of all DVR sessions 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.dvrSessions.list
For more information, see the IAM documentation .
-
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 .
-
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 .
-
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 .
-
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 .
-
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 .
-
rpc UpdateDvrSession(
UpdateDvrSessionRequest
) returns ( Operation
)
Updates the specified DVR session.
- 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.dvrSessions.update
For more information, see the IAM documentation .
-
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 .
-
rpc UpdatePool(
UpdatePoolRequest
) returns ( Operation
)
Updates the specified pool.
- 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.pools.update
For more information, see the IAM documentation .
-
Asset
An asset represents a video or an image.
name
string
The resource name of the asset, in the form of: projects/{project}/locations/{location}/assets/{assetId}
.
create_time
Output only. The creation time.
update_time
Output only. The update time.
labels
map<string, string>
User-defined key/value metadata.
crc32c
string
Based64-encoded CRC32c checksum of the asset file. For more information, see the crc32c checksum of the Cloud Storage Objects resource
. If crc32c is omitted or left empty when the asset is created, this field is filled by the crc32c checksum of the Cloud Storage object indicated by VideoAsset.uri
or ImageAsset.uri
. If crc32c is set, the asset can't be created if the crc32c value does not match with the crc32c checksum of the Cloud Storage object indicated by VideoAsset.uri
or ImageAsset.uri
.
state
Output only. The state of the asset resource.
error
Output only. Only present when state
is ERROR
. The reason for the error state of the asset.
resource
. The reference to the asset. The maximum size of the resource is 250 MB. resource
can be only one of the following:video
VideoAsset represents a video.
image
ImageAsset represents an image.
ImageAsset
Image represents an image. The supported formats are JPEG, PNG.
Fields | |
---|---|
uri
|
Cloud Storage URI of the image. The format is |
State
State of the asset resource.
Enums | |
---|---|
STATE_UNSPECIFIED
|
State is not specified. |
CREATING
|
The asset is being created. |
ACTIVE
|
The asset is ready for use. |
DELETING
|
The asset is being deleted. |
ERROR
|
The asset has an error. |
VideoAsset
VideoAsset represents a video. The supported formats are MP4, MPEG-TS, and FLV. The supported video codec is H264. The supported audio codecs are AAC, AC3, MP2, and MP3.
Fields | |
---|---|
uri
|
Cloud Storage URI of the video. The format is |
AudioFormat
Properties of the audio format.
Fields | |
---|---|
codec
|
Audio codec used in this audio stream. |
channel_count
|
The number of audio channels. |
channel_layout[]
|
A list of channel names specifying the layout of the audio channels. |
AudioStream
Audio stream resource.
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[]
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
|
Required. The |
input_track
|
Required. The zero-based index of the track in the input stream. All |
input_channel
|
Required. The zero-based index of the channel in the input stream. |
output_channel
|
Required. The zero-based index of the channel in the output audio stream. Must be consistent with the |
gain_db
|
Audio volume control in dB. Negative values decrease volume, positive values increase. The default is 0. |
AudioStreamProperty
Properties of the audio stream.
Fields | |
---|---|
index
|
Index of this audio stream. |
audio_format
|
Properties of the audio format. |
AutoTranscriptionConfig
Advanced configurations for auto-generated text streams.
Fields | |
---|---|
display_timing
|
Optional. Whether auto-generated text streams are displayed synchronously or asynchronously with the original audio. |
quality_preset
|
Optional. Tunes the latency and quality of auto-generated captions. |
DisplayTiming
Whether auto-generated text streams are displayed synchronously or asynchronously with the original audio.
Enums | |
---|---|
DISPLAY_TIMING_UNSPECIFIED
|
Display timing is not specified. Caption display will be asynchronous by default. |
ASYNC
|
Caption will be displayed asynchronous with audio. |
SYNC
|
Caption will be displayed synchronous with audio. This option increases overall media output latency, and reduces viewing latency between audio and auto-generated captions. |
QualityPreset
Presets to tune the latency and quality of auto-generated captions.
Enums | |
---|---|
QUALITY_PRESET_UNSPECIFIED
|
Quality Preset is not specified. By default, BALANCED_QUALITY will be used. |
LOW_LATENCY
|
Reduce the latency of auto-generated captions. This may reduce the quality of the captions. |
BALANCED_QUALITY
|
Default behavior when QualityPreset is not specified. |
IMPROVED_QUALITY
|
Increases the quality of the auto-generated captions at the cost of higher latency. |
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
|
The resource name of the channel, in the form of: |
create_time
|
Output only. The creation time. |
update_time
|
Output only. The update time. |
labels
|
User-defined key/value metadata. |
input_attachments[]
|
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
|
Output only. The |
output
|
Required. Information about the output (that is, the Cloud Storage bucket to store the generated live stream). |
elementary_streams[]
|
List of elementary streams. |
mux_streams[]
|
List of multiplexing settings for output streams. |
manifests[]
|
List of output manifests. |
distribution_streams[]
|
Optional. List of multiplexing settings of streams for distributions. |
distributions[]
|
Optional. List of distributions. |
sprite_sheets[]
|
List of output sprite sheets. |
streaming_state
|
Output only. State of the streaming operation. |
streaming_error
|
Output only. A description of the reason for the streaming error. This property is always present when |
log_config
|
Configuration of platform logs for this channel. |
timecode_config
|
Configuration of timecode for this channel. |
encryptions[]
|
Optional. 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. |
input_config
|
The configuration for input sources defined in |
retention_config
|
Optional. Configuration for retention of output files for this channel. |
static_overlays[]
|
Optional. List of static overlay images. Those images display over the output content for the whole duration of the live stream. |
auto_transcription_config
|
Optional. Advanced configurations for auto-generated text streams. |
Output
Location of output file(s) in a Google Cloud Storage bucket.
Fields | |
---|---|
uri
|
URI for the output file(s). For example, |
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
This type has no fields.
Response message for Start/Stop Channel long-running operations.
Clip
Clip is a sub-resource under channel. Each clip represents a clipping operation that generates a VOD playlist from its channel given a set of timestamp ranges.
name
string
The resource name of the clip, in the following format: projects/{project}/locations/{location}/channels/{channelId}/clips/{clipId}
. {clipId}
is a user-specified resource id that conforms to the following criteria:
- 1 character minimum, 63 characters maximum
- Only contains letters, digits, underscores, and hyphens
create_time
Output only. The creation timestamp of the clip resource.
start_time
Output only. The timestamp when the clip request starts to be processed.
update_time
Output only. The update timestamp of the clip resource.
labels
map<string, string>
The labels associated with this resource. Each label is a key-value pair.
state
Output only. The state of the clip.
output_uri
string
Specify the output_uri
to determine where to place the clip segments and clip manifest files in Cloud Storage. The manifests specified in clip_manifests
fields will be placed under this URI. The exact URI of the generated manifests will be provided in clip_manifests.output_uri
for each manifest. Example: "output_uri": "gs://my-bucket/clip-outputs" "clip_manifests.output_uri": "gs://my-bucket/clip-outputs/main.m3u8"
error
Output only. An error object that describes the reason for the failure. This property only presents when state
is FAILED
.
slices[]
The specified ranges of segments to generate a clip.
clip_manifests[]
Required. A list of clip manifests. Currently only one clip manifest is allowed.
output_type
Optional. OutputType of the clip. If not specified, the default value is MANIFEST.
ClipManifest
ClipManifest identifies a source manifest for the generated clip manifest.
Fields | |
---|---|
manifest_key
|
Required. A unique key that identifies a manifest config in the parent channel. This key is the same as |
output_uri
|
Output only. The output URI of the generated clip manifest. This field will be populated when the CreateClip request is accepted. Current output format is provided below but may change in the future. Please read this field to get the uri to the generated clip manifest. Format: {clip.output_uri}/{channel.manifest.fileName} Example: gs://my-bucket/clip-outputs/main.m3u8 |
OutputType
OutputType represents the output type of the clip.
Enums | |
---|---|
OUTPUT_TYPE_UNSPECIFIED
|
OutputType is not specified. |
MANIFEST
|
OutputType is a VOD manifest. This is the default value. |
MP4
|
OutputType is an MP4 file. |
Slice
Slice represents a slice of the requested clip.
kind
. The allowlist forms of a slice. kind
can be only one of the following:time_slice
A slice in form of a tuple of Unix epoch time.
State
State of clipping operation.
Enums | |
---|---|
STATE_UNSPECIFIED
|
State is not specified. |
PENDING
|
The operation is pending to be picked up by the server. |
CREATING
|
The server admitted this create clip request, and outputs are under processing. |
SUCCEEDED
|
Outputs are available in the specified Cloud Storage bucket. For additional information, see the outputs
field. |
FAILED
|
The operation has failed. For additional information, see the error
field. |
TimeSlice
TimeSlice represents a tuple of Unix epoch timestamps that specifies a time range.
Fields | |
---|---|
markin_time
|
The mark-in Unix epoch time in the original live stream manifest. |
markout_time
|
The mark-out Unix epoch time in the original live stream manifest. |
CreateAssetRequest
Request message for "LivestreamService.CreateAsset".
Fields | |
---|---|
parent
|
Required. The parent location for the resource, in the form of: |
asset
|
Required. The asset resource to be created. |
asset_id
|
Required. The ID of the asset resource to be created. This value must be 1-63 characters, begin and end with |
request_id
|
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 |
CreateChannelRequest
Request message for "LivestreamService.CreateChannel".
Fields | |
---|---|
parent
|
Required. The parent location for the resource, in the form of: |
channel
|
Required. The channel resource to be created. |
channel_id
|
Required. The ID of the channel resource to be created. This value must be 1-63 characters, begin and end with |
request_id
|
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 |
CreateClipRequest
Request message for "LivestreamService.CreateClip".
parent
string
Required. The parent resource name, in the following form: projects/{project}/locations/{location}/channels/{channel}
.
clip_id
string
Required. Id of the requesting object in the following form:
- 1 character minimum, 63 characters maximum
- Only contains letters, digits, underscores, and hyphens
clip
Required. The resource being created
request_id
string
Optional. An optional 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).
CreateDvrSessionRequest
Request message for "LivestreamService.CreateDvrSession".
parent
string
Required. The parent resource name, in the following form: projects/{project}/locations/{location}/channels/{channelId}
.
dvr_session_id
string
Required. Id of the requesting object in the following form:
- 1 character minimum, 63 characters maximum
- Only contains letters, digits, underscores, and hyphens
dvr_session
Required. The resource being created
request_id
string
Optional. An optional 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
|
Required. The parent channel for the resource, in the form of: |
event
|
Required. The event resource to be created. |
event_id
|
Required. The ID of the event resource to be created. This value must be 1-63 characters, begin and end with |
request_id
|
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 |
CreateInputRequest
Request message for "LivestreamService.CreateInput".
Fields | |
---|---|
parent
|
Required. The parent location for the resource, in the form of: |
input
|
Required. The input resource to be created. |
input_id
|
Required. The ID of the input resource to be created. This value must be 1-63 characters, begin and end with |
request_id
|
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 |
DeleteAssetRequest
Request message for "LivestreamService.DeleteAsset".
Fields | |
---|---|
name
|
Required. The name of the asset resource, in the form of: |
request_id
|
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 |
DeleteChannelRequest
Request message for "LivestreamService.DeleteChannel".
Fields | |
---|---|
name
|
Required. The name of the channel resource, in the form of: |
request_id
|
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 |
force
|
If the |
DeleteClipRequest
Request message for "LivestreamService.DeleteClip".
Fields | |
---|---|
name
|
Required. The name of the clip resource, in the form of: |
request_id
|
Optional. 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 |
DeleteDvrSessionRequest
Request message for "LivestreamService.DeleteDvrSession".
Fields | |
---|---|
name
|
Required. The name of the event resource, in the form of: |
request_id
|
Optional. 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 |
DeleteEventRequest
Request message for "LivestreamService.DeleteEvent".
Fields | |
---|---|
name
|
Required. The name of the event resource, in the form of: |
request_id
|
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 |
DeleteInputRequest
Request message for "LivestreamService.DeleteInput".
Fields | |
---|---|
name
|
Required. The name of the input resource, in the form of: |
request_id
|
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 |
Distribution
Distribution configuration.
key
string
Required. A unique key for this distribution. 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.
distribution_stream
string
Required. DistributionStream
key
s that should appear in this distribution output.
- For SRT protocol, only
ts
distribution streams can be specified. - For RTMP protocol, only
flv
distribution streams can be specified.
state
Output only. State of the distribution.
error
Output only. Only present when the state
is ERROR
. The reason for the error state of the distribution.
endpoint
. Configurations for the output endpoint by streaming protocols. endpoint
can be only one of the following:srt_push
Output endpoint using SRT_PUSH.
rtmp_push
Output endpoint using RTMP_PUSH.
State
State of this distribution.
Enums | |
---|---|
STATE_UNSPECIFIED
|
State is not specified. |
STOPPED
|
Distribution is stopped. |
STARTING
|
Distribution is being started. |
RUNNING
|
Distribution has been started and is producing and publishing the output when the active input stream is connected. |
STOPPING
|
Distribution is being stopped. |
ERROR
|
Distribution has trouble to produce or deliver the output. |
NOT_READY
|
Distribution is not ready to be started. |
READY
|
Distribution is ready to be started. |
AWAITING_INPUT
|
Distribution is already started and is waiting for input. |
DISTRIBUTING
|
Distribution is already started and is generating output. |
DistributionStream
Multiplexing settings for output streams used in Distribution
.
key
string
Required. A unique key for this distribution 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.
container
string
Required. The container format.
Supported container formats:
-
ts
, must contain exactly one audio stream and up to one video stream. -
flv
, must contain at most one audio stream and at most one video stream.
elementary_streams[]
string
Required. List of ElementaryStream
key
s multiplexed in this stream. Must contain at least one audio stream and up to one video stream.
DvrSession
DvrSession is a sub-resource under channel. Each DvrSession represents a DVR recording of the live stream for a specific time range.
name
string
Identifier. The resource name of the DVR session, in the following format: projects/{project}/locations/{location}/channels/{channelId}/dvrSessions/{dvrSessionId}
. {dvrSessionId}
is a user-specified resource id that conforms to the following criteria:
- 1 character minimum, 63 characters maximum
- Only contains letters, digits, underscores, and hyphens
create_time
Output only. The creation time.
update_time
Output only. The update time.
labels
map<string, string>
Optional. User-defined key/value metadata.
state
Output only. The state of the clip.
error
Output only. An error object that describes the reason for the failure. This property only presents when state
is FAILED
.
dvr_manifests[]
Required. A list of DVR manifests. Currently only one DVR manifest is allowed.
dvr_windows[]
Required. The specified ranges of segments to generate a DVR recording.
DvrManifest
DvrManifest identifies a source manifest and specifies a file name for the generated DVR manifest.
Fields | |
---|---|
manifest_key
|
Required. A unique key that identifies a manifest config in the parent channel. This key is the same as |
output_uri
|
Output only. The output URI of the DVR manifest. The DVR output will be placed in a directory named |
DvrWindow
DvrWindow represents a DVR window.
kind
. The allowlist forms of a DVR window. kind
can be only one of the following:time_interval
A time interval in the form of a tuple of Unix epoch time.
State
State of the DVR session.
Enums | |
---|---|
STATE_UNSPECIFIED
|
State is not specified. |
PENDING
|
The operation is pending to be picked up by the server. |
UPDATING
|
The session is being updated. |
SCHEDULED
|
The session is scheduled and waiting for the start time. |
LIVE
|
The session is currently in progress and the outputs are available in the specified Cloud Storage bucket. For additional information, see the dvr_manifests.output_uri
field. |
FINISHED
|
Outputs are available in the specified Cloud Storage bucket. For additional information, see the dvr_manifests.output_uri
field. |
FAILED
|
The operation has failed. For additional information, see the error
field. |
DELETING
|
The session is being deleted. |
POST_PROCESSING
|
The session is being post processed. |
COOLDOWN
|
The session is in cooldown. The cooldown period lasts for 60 seconds. When the DVR session is updated by the user to have a new end time that is likely already in the past, the DVR manifest will end as soon as possible and the DVR session will move to this state. This is done to prevent the players to receive a manifest update that removes a segment that has already been played. After the cooldown period ends, a new manifest is generated that honors the new end time. |
STOPPING
|
The session is being stopped. The session will move to STOPPING state, if the parent channel is updated. |
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.
key
string
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.
elementary_stream
. Required. Encoding of an audio, video, or text track. elementary_stream
can be only one of the following:video_stream
Encoding of a video stream.
audio_stream
Encoding of an audio stream.
text_stream
Encoding of a text stream. For example, closed captions or subtitles.
Encryption
Encryption settings.
id
string
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.
drm_systems
Required. Configuration for DRM systems.
secret_source
. Defines where content keys are stored. secret_source
can be only one of the following:secret_manager_key_source
For keys stored in Google Secret Manager.
encryption_mode
. Encryption modes for HLS and MPEG-Dash. encryption_mode
can be only one of the following:aes128
Configuration for HLS AES-128 encryption.
sample_aes
Configuration for HLS SAMPLE-AES encryption.
mpeg_cenc
Configuration for MPEG-Dash Common Encryption (MPEG-CENC).
Aes128Encryption
This type has no fields.
Configuration for HLS AES-128 encryption.
Clearkey
This type has no fields.
Clearkey configuration.
DrmSystems
Defines configuration for DRM systems in use. If a field is omitted, that DRM system will be considered to be disabled.
Fields | |
---|---|
widevine
|
Optional. Widevine configuration. |
fairplay
|
Optional. Fairplay configuration. |
playready
|
Optional. Playready configuration. |
clearkey
|
Optional. Clearkey configuration. |
Fairplay
This type has no fields.
Fairplay configuration.
MpegCommonEncryption
Configuration for MPEG-Dash Common Encryption (MPEG-CENC).
Fields | |
---|---|
scheme
|
Required. Specify the encryption scheme, supported schemes: - |
Playready
This type has no fields.
Playready configuration.
SampleAesEncryption
This type has no fields.
Configuration for HLS SAMPLE-AES encryption.
SecretManagerSource
Configuration for secrets stored in Google Secret Manager.
Fields | |
---|---|
secret_version
|
Required. The name of the Secret Version containing the encryption key. |
Widevine
This type has no fields.
Widevine configuration.
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.
name
string
The resource name of the event, in the form of: projects/{project}/locations/{location}/channels/{channelId}/events/{eventId}
.
create_time
Output only. The creation time.
update_time
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
The time to execute the event. If you set execute_now
to true
, then do not set this field in the CreateEvent
request. In this case, the server schedules the event and populates this field. If you set execute_now
to false
, then you must set this field to at least 10 seconds in the future or else the event can't be created.
state
Output only. The state of the event.
error
Output only. An error object that describes the reason for the failure. This property is always present when state
is FAILED
.
task
. Required. Operation to be executed by this event. task
can be only one of the following:input_switch
Switches to another input stream.
ad_break
Inserts a new ad opportunity.
return_to_program
Stops any running ad break.
slate
Inserts a slate.
mute
Mutes the stream.
unmute
Unmutes the stream.
AdBreakTask
Inserts a new ad opportunity.
Fields | |
---|---|
duration
|
Duration of an ad opportunity. Must be greater than 0. |
InputSwitchTask
Switches to another input stream. Automatic failover is then disabled.
Fields | |
---|---|
input_key
|
The |
MuteTask
Mutes the stream.
Fields | |
---|---|
duration
|
Duration for which the stream should be muted. If omitted, the stream will be muted until an UnmuteTask event is sent. |
ReturnToProgramTask
This type has no fields.
Stops any events which are currently running. This only applies to events with a duration.
SlateTask
Inserts a slate.
Fields | |
---|---|
duration
|
Optional. Duration of the slate. Must be greater than 0 if specified. Omit this field for a long running slate. |
asset
|
Slate asset to use for the duration. If its duration is less than the duration of the SlateTask, then the slate loops. The slate must be represented in the form of: |
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. |
UnmuteTask
This type has no fields.
Unmutes the stream. The task fails if the stream is not currently muted.
GetAssetRequest
Request message for "LivestreamService.GetAsset".
Fields | |
---|---|
name
|
Required. Name of the resource, in the following form: |
GetChannelRequest
Request message for "LivestreamService.GetChannel".
Fields | |
---|---|
name
|
Required. The name of the channel resource, in the form of: |
GetClipRequest
Request message for "LivestreamService.GetClip".
Fields | |
---|---|
name
|
Required. Name of the resource, in the following form: |
GetDvrSessionRequest
Request message for "LivestreamService.GetDvrSession".
Fields | |
---|---|
name
|
Required. Name of the resource, in the following form: |
GetEventRequest
Request message for "LivestreamService.GetEvent".
Fields | |
---|---|
name
|
Required. The name of the event resource, in the form of: |
GetInputRequest
Request message for "LivestreamService.GetInput".
Fields | |
---|---|
name
|
Required. The name of the input resource, in the form of: |
GetPoolRequest
Request message for "LivestreamService.GetPool".
Fields | |
---|---|
name
|
Required. The name of the pool resource, in the form of: |
Input
Input resource represents the endpoint from which the channel ingests the input stream.
name
string
The resource name of the input, in the form of: projects/{project}/locations/{location}/inputs/{inputId}
.
create_time
Output only. The creation time.
update_time
Output only. The update time.
labels
map<string, string>
User-defined key/value metadata.
type
Source type.
tier
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
Preprocessing configurations.
security_rules
Security rule for access control.
input_stream_property
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[]
|
At least one ip range must match unless none specified. The IP range is defined by CIDR block: for example, |
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. Bitrate <= 50 Mbps. FPS <= 60. |
SD_H265
|
Resolution <= 1280x720. Bitrate <= 6 Mbps. FPS <= 60. H265 codec. |
HD_H265
|
Resolution <= 1920x1080. Bitrate <= 25 Mbps. FPS <= 60. H265 codec. |
UHD_H265
|
Resolution <= 4096x2160. Bitrate <= 50 Mbps. FPS <= 60. H265 codec. |
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. |
FILE
|
Input from a file. |
InputAttachment
A group of information for attaching an input resource to this channel.
Fields | |
---|---|
key
|
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. |
input
|
The resource name of an existing input, in the form of: |
automatic_failover
|
Automatic failover configurations. |
AutomaticFailover
Configurations to follow when automatic failover happens.
Fields | |
---|---|
input_keys[]
|
The |
InputConfig
Configuration for the input sources of a channel.
Fields | |
---|---|
input_switch_mode
|
Input switch mode. Default mode is |
InputSwitchMode
Input switch mode.
Enums | |
---|---|
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. |
InputStreamProperty
Properties of the input stream.
Fields | |
---|---|
last_establish_time
|
The time that the current input stream is accepted and the connection is established. |
video_streams[]
|
Properties of the video streams. |
audio_streams[]
|
Properties of the audio streams. |
ListAssetsRequest
Request message for "LivestreamService.ListAssets".
Fields | |
---|---|
parent
|
Required. The parent location for the resource, in the form of: |
page_size
|
Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. |
page_token
|
A token identifying a page of results the server should return. |
filter
|
Filtering results |
order_by
|
Hint for how to order the results |
ListAssetsResponse
Response message for "LivestreamService.ListAssets".
Fields | |
---|---|
assets[]
|
The list of Assets |
next_page_token
|
The next_page_token value returned from a previous List request, if any. |
unreachable[]
|
Locations that could not be reached. |
ListChannelsRequest
Request message for "LivestreamService.ListChannels".
Fields | |
---|---|
parent
|
Required. The parent location for the resource, in the form of: |
page_size
|
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 |
page_token
|
The next_page_token value returned from a previous List request, if any. |
filter
|
The filter to apply to list results. |
order_by
|
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[]
|
A list of channels. |
next_page_token
|
Token to retrieve the next page of results, or empty if there are no more results in the list. |
unreachable[]
|
Locations that could not be reached. |
ListClipsRequest
Request message for "LivestreamService.ListClips".
Fields | |
---|---|
parent
|
Required. Parent value for ListClipsRequest |
page_size
|
Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. |
page_token
|
A token identifying a page of results the server should return. |
filter
|
Filtering results |
order_by
|
Hint for how to order the results |
ListClipsResponse
Response message for "LivestreamService.ListClips".
Fields | |
---|---|
clips[]
|
The list of Clip |
next_page_token
|
A token identifying a page of results the server should return. |
unreachable[]
|
Locations that could not be reached. |
ListDvrSessionsRequest
Request message for "LivestreamService.ListDvrSessions".
Fields | |
---|---|
parent
|
Required. Parent value for ListDvrSessionsRequest |
page_size
|
Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. |
page_token
|
Optional. A token identifying a page of results the server should return. |
filter
|
Optional. Filtering results |
order_by
|
Optional. Hint for how to order the results |
ListDvrSessionsResponse
Response message for "LivestreamService.ListDvrSessions".
Fields | |
---|---|
dvr_sessions[]
|
The list of DVR sessions |
next_page_token
|
A token identifying a page of results the server should return. |
unreachable[]
|
Locations that could not be reached. |
ListEventsRequest
Request message for "LivestreamService.ListEvents".
Fields | |
---|---|
parent
|
Required. The parent channel for the resource, in the form of: |
page_size
|
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 |
page_token
|
The next_page_token value returned from a previous List request, if any. |
filter
|
The filter to apply to list results. |
order_by
|
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[]
|
A list of events. |
next_page_token
|
Token to retrieve the next page of results, or empty if there are no more results in the list. |
unreachable[]
|
Locations that could not be reached. |
ListInputsRequest
Request message for "LivestreamService.ListInputs".
Fields | |
---|---|
parent
|
Required. The parent location for the resource, in the form of: |
page_size
|
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 |
page_token
|
The next_page_token value returned from a previous List request, if any. |
filter
|
The filter to apply to list results. |
order_by
|
Specifies the ordering of results following syntax at Sorting Order . |
ListInputsResponse
Response message for "LivestreamService.ListInputs".
Fields | |
---|---|
inputs[]
|
A list of inputs. |
next_page_token
|
Token to retrieve the next page of results, or empty if there are no more results in the list. |
unreachable[]
|
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
|
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.
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
Required. Type of the manifest, can be HLS
or DASH
.
mux_streams[]
string
Required. List of MuxStream
key
s that should appear in this manifest.
- For HLS, either
fmp4
orts
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
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.
use_timecode_as_timeline
bool
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.
key
string
Optional. A unique key for this manifest.
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.
key
string
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.
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
key
s 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
Segment settings for fmp4
and ts
.
encryption_id
string
Identifier of the encryption configuration to use. If omitted, output will be unencrypted.
NormalizedCoordinate
2D normalized coordinates.
Fields | |
---|---|
x
|
Optional. Normalized x coordinate. Valid range is [0.0, 1.0]. Default is 0. |
y
|
Optional. Normalized y coordinate. Valid range is [0.0, 1.0]. Default is 0. |
NormalizedResolution
Normalized resolution.
Fields | |
---|---|
w
|
Optional. Normalized width. Valid range is [0.0, 1.0]. Default is 0. |
h
|
Optional. Normalized height. Valid range is [0.0, 1.0]. Default is 0. |
OperationMetadata
Represents the metadata of the long-running operation.
Fields | |
---|---|
create_time
|
Output only. The time the operation was created. |
end_time
|
Output only. The time the operation finished running. |
target
|
Output only. Server-defined resource path for the target of the operation. |
verb
|
Output only. Name of the verb executed by the operation. |
requested_cancellation
|
Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have |
api_version
|
Output only. API version used to start the operation. |
Pool
Pool resource defines the configuration of Live Stream pools for a specific location. Currently we support only one pool resource per project per location. After the creation of the first input, a default pool is created automatically at "projects/{project}/locations/{location}/pools/default".
Fields | |
---|---|
name
|
The resource name of the pool, in the form of: |
create_time
|
Output only. The creation time. |
update_time
|
Output only. The update time. |
labels
|
User-defined key/value metadata. |
network_config
|
Network configuration for the pool. |
NetworkConfig
Defines the network configuration for the pool.
Fields | |
---|---|
peered_network
|
peered_network is the network resource URL of the network that is peered to the service provider network. Must be of the format projects/NETWORK_PROJECT_NUMBER/global/networks/NETWORK_NAME, where NETWORK_PROJECT_NUMBER is the project number of the Cloud project that holds your VPC network and NETWORK_NAME is the name of your VPC network. If peered_network is omitted or empty, the pool will use endpoints that are publicly available. |
PreprocessingConfig
Preprocessing configurations.
Fields | |
---|---|
audio
|
Audio preprocessing configuration. |
crop
|
Specify the video cropping configuration. |
pad
|
Specify the video pad filter configuration. |
Audio
Audio preprocessing configuration.
lufs
double
Specify audio loudness normalization in loudness units relative to full scale (LUFS). Enter a value between -24 and 0 according to the following:
- -24 is the Advanced Television Systems Committee (ATSC A/85)
- -23 is the EU R128 broadcast standard
- -19 is the prior standard for online mono audio
- -18 is the ReplayGain standard
- -16 is the prior standard for stereo audio
- -14 is the new online audio standard recommended by Spotify, as well as Amazon Echo
- 0 disables normalization. The default is 0.
Crop
Video cropping configuration for the input video. The cropped input video is scaled to match the output resolution.
Fields | |
---|---|
top_pixels
|
The number of pixels to crop from the top. The default is 0. |
bottom_pixels
|
The number of pixels to crop from the bottom. The default is 0. |
left_pixels
|
The number of pixels to crop from the left. The default is 0. |
right_pixels
|
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
|
The number of pixels to add to the top. The default is 0. |
bottom_pixels
|
The number of pixels to add to the bottom. The default is 0. |
left_pixels
|
The number of pixels to add to the left. The default is 0. |
right_pixels
|
The number of pixels to add to the right. The default is 0. |
RetentionConfig
Configuration for retention of output files.
Fields | |
---|---|
retention_window_duration
|
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 If both retention_window_duration and |
RtmpPushOutputEndpoint
Configurations for an output endpoint using RTMP_PUSH as the streaming protocol.
Fields | |
---|---|
uri
|
Required. The full URI of the remote RTMP server. For example: |
stream_key
|
Required. Stream key for RTMP protocol. |
SegmentSettings
Segment settings for fmp4
and ts
.
Fields | |
---|---|
segment_duration
|
Duration of the segments in seconds. The default is All |
SpriteSheet
Sprite sheet configuration.
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
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.
SrtPushOutputEndpoint
Configurations for an output endpoint using SRT_PUSH as the streaming protocol.
uri
string
Required. The full URI of the remote SRT server.
passphrase_source
. Defines where SRT encryption passphrase are stored. passphrase_source
can be only one of the following:passphrase_secret_version
string
The name of the Secret Version containing the SRT encryption passphrase, which is stored in Google Secret Manager. It should be in the format of projects/{project}/secrets/{secret_id}/versions/{version_number}
.
StartChannelRequest
Request message for "LivestreamService.StartChannel".
Fields | |
---|---|
name
|
Required. The name of the channel resource, in the form of: |
request_id
|
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 |
StaticOverlay
Configuration for the static overlay.
Fields | |
---|---|
asset
|
Required. Asset to use for the overlaid image. The asset must be represented in the form of: |
resolution
|
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 |
position
|
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. |
opacity
|
Optional. Target image opacity. Valid values are from |
StopChannelRequest
Request message for "LivestreamService.StopChannel".
Fields | |
---|---|
name
|
Required. The name of the channel resource, in the form of: |
request_id
|
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 |
TextStream
Encoding of a text stream. For example, closed captions or subtitles.
codec
string
Required. The codec for this text stream.
Supported text codecs:
-
cea608
-
cea708
-
webvtt
language_code
string
Optional. The BCP-47 language code, such as en-US
or sr-Latn
. For more information, see https://www.unicode.org/reports/tr35/#Unicode_locale_identifier
.
display_name
string
Optional. The name for this particular text stream that will be added to the HLS/DASH manifest.
output_cea_channel
mapping[]
Optional. The mapping for the input streams and text tracks.
TextMapping
The mapping for the input streams and text tracks.
Fields | |
---|---|
input_key
|
Optional. The |
input_track
|
Optional. The zero-based index of the track in the input stream. |
input_cea_channel
|
Optional. The channel of the closed caption in the input stream. If this field is set, the output |
from_language_code
|
Optional. The BCP-47 source language code, such as |
TimeInterval
TimeInterval represents a time interval.
Fields | |
---|---|
start_time
|
Optional. The start time of the interval. |
end_time
|
Optional. The end time of the interval. |
TimecodeConfig
Timecode configuration.
source
The source of the timecode that will later be used in outputs/manifests. It determines the initial timecode/timestamp (first frame) of output streams.
time_offset
. For EMBEDDED_TIMECODE source only. Used to interpret the embedded timecode (which contains only the time part and no date). We assume all inputs are live. time_offset
can be only one of the following:utc_offset
UTC offset. Must be whole seconds, between -18 hours and +18 hours.
time_zone
Time zone e.g. "America/Los_Angeles".
TimecodeSource
The source of timecode.
Enums | |
---|---|
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. |
UpdateChannelRequest
Request message for "LivestreamService.UpdateChannel".
update_mask
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:
-
inputAttachments
-
inputConfig
-
output
-
elementaryStreams
-
muxStreams
-
manifests
-
spriteSheets
-
logConfig
-
timecodeConfig
-
encryptions
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.
If the mask is not present, then each field from the list above is updated if the field appears in the request payload. To unset a field, add the field to the update mask and remove it from the request payload.
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)
.
UpdateDvrSessionRequest
Request message for "LivestreamService.UpdateDvrSession".
update_mask
Required. Field mask is used to specify the fields to be overwritten in the DvrSession resource by the update. You can only update the following fields:
-
dvrWindows
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.
dvr_session
Required. The DVR session resource to be updated.
request_id
string
Optional. 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".
update_mask
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.
If the mask is not present, then each field from the list above is updated if the field appears in the request payload. To unset a field, add the field to the update mask and remove it from the request payload.
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)
.
UpdatePoolRequest
Request message for "LivestreamService.UpdatePool".
update_mask
Field mask is used to specify the fields to be overwritten in the Pool resource by the update. You can only update the following fields:
-
networkConfig
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.
pool
Required. The pool 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
|
Video codec used in this video stream. |
width_pixels
|
The width of the video stream in pixels. |
height_pixels
|
The height of the video stream in pixels. |
frame_rate
|
The frame rate of the input video stream. |
VideoStream
Video stream resource.
codec_settings
. Codec settings. codec_settings
can be only one of the following:h264
H264 codec settings.
h265
H265 codec settings.
H264CodecSettings
H264 codec settings.
width_pixels
int32
Required. The width of the video in pixels. Must be an even integer. Valid range is [320, 4096].
height_pixels
int32
Required. The height of the video in pixels. Must be an even integer. Valid range is [180, 2160].
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).
- For UHD resolution (<= 2160p), must be <= 25,000,000 (25 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.
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
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.
H265CodecSettings
H265 codec settings.
width_pixels
int32
Optional. The width of the video in pixels. Must be an even integer. When not specified, the width is adjusted to match the specified height and input aspect ratio. If both are omitted, the input width is used. Valid range is [320, 4096].
height_pixels
int32
Optional. The height of the video in pixels. Must be an even integer. When not specified, the height is adjusted to match the specified width and input aspect ratio. If both are omitted, the input height is used. Valid range is [180, 2160].
frame_rate
double
Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120. 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).
- For UHD resolution (<= 2160p), must be <= 25,000,000 (25 Mbps).
vbv_size_bits
int32
Optional. 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
Optional. 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
.
b_pyramid
bool
Optional. Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is false
.
b_frame_count
int32
Optional. 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
Optional. 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.
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
Optional. 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
Optional. 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
|
Index of this video stream. |
video_format
|
Properties of the video format. |