- Resource: Channel
- InputAttachment
- AutomaticFailover
- Output
- ElementaryStream
- VideoStream
- H264CodecSettings
- H265CodecSettings
- AudioStream
- AudioMapping
- TextStream
- TextMapping
- MuxStream
- SegmentSettings
- Manifest
- ManifestType
- DistributionStream
- Distribution
- State
- SrtPushOutputEndpoint
- RtmpPushOutputEndpoint
- SpriteSheet
- StreamingState
- LogConfig
- LogSeverity
- TimecodeConfig
- TimecodeSource
- TimeZone
- Encryption
- SecretManagerSource
- DrmSystems
- Widevine
- Fairplay
- Playready
- Clearkey
- Aes128Encryption
- SampleAesEncryption
- MpegCommonEncryption
- InputConfig
- InputSwitchMode
- RetentionConfig
- StaticOverlay
- NormalizedResolution
- NormalizedCoordinate
- AutoTranscriptionConfig
- DisplayTiming
- QualityPreset
- Methods
Resource: 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.
JSON representation |
---|
{ "name" : string , "createTime" : string , "updateTime" : string , "labels" : { string : string , ... } , "inputAttachments" : [ { object ( |
Fields | |
---|---|
name
|
The resource name of the channel, in the form of: |
createTime
|
Output only. The creation time. Uses RFC 3339, where generated output will always be Z-normalized and uses 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
updateTime
|
Output only. The update time. Uses RFC 3339, where generated output will always be Z-normalized and uses 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
labels
|
User-defined key/value metadata. An object containing a list of |
inputAttachments[]
|
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. |
activeInput
|
Output only. The |
output
|
Required. Information about the output (that is, the Cloud Storage bucket to store the generated live stream). |
elementaryStreams[]
|
List of elementary streams. |
muxStreams[]
|
List of multiplexing settings for output streams. |
manifests[]
|
List of output manifests. |
distributionStreams[]
|
Optional. List of multiplexing settings of streams for distributions. |
distributions[]
|
Optional. List of distributions. |
spriteSheets[]
|
List of output sprite sheets. |
streamingState
|
Output only. State of the streaming operation. |
streamingError
|
Output only. A description of the reason for the streaming error. This property is always present when |
logConfig
|
Configuration of platform logs for this channel. |
timecodeConfig
|
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. |
inputConfig
|
The configuration for input sources defined in |
retentionConfig
|
Optional. Configuration for retention of output files for this channel. |
staticOverlays[]
|
Optional. List of static overlay images. Those images display over the output content for the whole duration of the live stream. |
autoTranscriptionConfig
|
Optional. Advanced configurations for auto-generated text streams. |
InputAttachment
A group of information for attaching an input resource to this channel.
JSON representation |
---|
{
"key"
:
string
,
"input"
:
string
,
"automaticFailover"
:
{
object (
|
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: |
automaticFailover
|
Automatic failover configurations. |
AutomaticFailover
Configurations to follow when automatic failover happens.
JSON representation |
---|
{ "inputKeys" : [ string ] } |
Fields | |
---|---|
inputKeys[]
|
The |
Output
Location of output file(s) in a Google Cloud Storage bucket.
JSON representation |
---|
{ "uri" : string } |
Fields | |
---|---|
uri
|
URI for the output file(s). For example, |
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.
JSON representation |
---|
{ "key" : string , // Union field |
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:videoStream
object (
VideoStream
)
Encoding of a video stream.
audioStream
object (
AudioStream
)
Encoding of an audio stream.
textStream
object (
TextStream
)
Encoding of a text stream. For example, closed captions or subtitles.
VideoStream
Video stream resource.
JSON representation |
---|
{ // Union field |
codec_settings
. Codec settings. codec_settings
can be only one of the following:h264
object (
H264CodecSettings
)
H264 codec settings.
h265
object (
H265CodecSettings
)
H265 codec settings.
H264CodecSettings
H264 codec settings.
JSON representation |
---|
{ "widthPixels" : integer , "heightPixels" : integer , "frameRate" : number , "bitrateBps" : integer , "allowOpenGop" : boolean , "vbvSizeBits" : integer , "vbvFullnessBits" : integer , "entropyCoder" : string , "bPyramid" : boolean , "bFrameCount" : integer , "aqStrength" : number , "profile" : string , "tune" : string , // Union field |
widthPixels
integer
Required. The width of the video in pixels. Must be an even integer. Valid range is [320, 4096].
heightPixels
integer
Required. The height of the video in pixels. Must be an even integer. Valid range is [180, 2160].
frameRate
number
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.
bitrateBps
integer
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).
allowOpenGop
boolean
Specifies whether an open Group of Pictures (GOP) structure should be allowed or not. The default is false
.
vbvSizeBits
integer
Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to bitrateBps
.
vbvFullnessBits
integer
Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of vbvSizeBits
.
entropyCoder
string
The entropy coder to use. The default is cabac
.
Supported entropy coders:
-
cavlc
-
cabac
bPyramid
boolean
Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is false
.
bFrameCount
integer
The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than gopFrameCount
if set. The default is 0.
aqStrength
number
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:gopFrameCount
integer
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].
gopDuration
string (
Duration
format)
Select the GOP size based on the specified duration. The default is 2s
. Note that gopDuration
must be less than or equal to segmentDuration
, and segmentDuration
must be divisible by gopDuration
. Valid range is [2s, 20s].
All video streams in the same channel must have the same GOP size.
A duration in seconds with up to nine fractional digits, ending with ' s
'. Example: "3.5s"
.
H265CodecSettings
H265 codec settings.
JSON representation |
---|
{ "widthPixels" : integer , "heightPixels" : integer , "frameRate" : number , "bitrateBps" : integer , "vbvSizeBits" : integer , "vbvFullnessBits" : integer , "bPyramid" : boolean , "bFrameCount" : integer , "aqStrength" : number , // Union field |
widthPixels
integer
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].
heightPixels
integer
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].
frameRate
number
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.
bitrateBps
integer
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).
vbvSizeBits
integer
Optional. Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to bitrateBps
.
vbvFullnessBits
integer
Optional. Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of vbvSizeBits
.
bPyramid
boolean
Optional. Allow B-pyramid for reference frame selection. This may not be supported on all decoders. The default is false
.
bFrameCount
integer
Optional. The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than gopFrameCount
if set. The default is 0.
aqStrength
number
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:gopFrameCount
integer
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].
gopDuration
string (
Duration
format)
Optional. Select the GOP size based on the specified duration. The default is 2s
. Note that gopDuration
must be less than or equal to segmentDuration
, and segmentDuration
must be divisible by gopDuration
. Valid range is [2s, 20s].
All video streams in the same channel must have the same GOP size.
A duration in seconds with up to nine fractional digits, ending with ' s
'. Example: "3.5s"
.
AudioStream
Audio stream resource.
JSON representation |
---|
{
"transmux"
:
boolean
,
"codec"
:
string
,
"bitrateBps"
:
integer
,
"channelCount"
:
integer
,
"channelLayout"
:
[
string
]
,
"mapping"
:
[
{
object (
|
transmux
boolean
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
bitrateBps
integer
Required. Audio bitrate in bits per second. Must be between 1 and 10,000,000.
channelCount
integer
Number of audio channels. Must be between 1 and 6. The default is 2.
channelLayout[]
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[]
object (
AudioMapping
)
The mapping for the input streams and audio channels.
sampleRateHertz
integer
The audio sample rate in Hertz. The default is 48000 Hertz.
AudioMapping
The mapping for the input streams and audio channels.
JSON representation |
---|
{ "inputKey" : string , "inputTrack" : integer , "inputChannel" : integer , "outputChannel" : integer , "gainDb" : number } |
Fields | |
---|---|
inputKey
|
Required. The |
inputTrack
|
Required. The zero-based index of the track in the input stream. All |
inputChannel
|
Required. The zero-based index of the channel in the input stream. |
outputChannel
|
Required. The zero-based index of the channel in the output audio stream. Must be consistent with the |
gainDb
|
Audio volume control in dB. Negative values decrease volume, positive values increase. The default is 0. |
TextStream
Encoding of a text stream. For example, closed captions or subtitles.
JSON representation |
---|
{
"codec"
:
string
,
"languageCode"
:
string
,
"displayName"
:
string
,
"outputCeaChannel"
:
string
,
"mapping"
:
[
{
object (
|
codec
string
Required. The codec for this text stream.
Supported text codecs:
-
cea608
-
cea708
-
webvtt
languageCode
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
.
displayName
string
Optional. The name for this particular text stream that will be added to the HLS/DASH manifest.
outputCeaChannel
mapping[]
object (
TextMapping
)
Optional. The mapping for the input streams and text tracks.
TextMapping
The mapping for the input streams and text tracks.
JSON representation |
---|
{ "inputKey" : string , "inputTrack" : integer , "inputCeaChannel" : string , "fromLanguageCode" : string } |
Fields | |
---|---|
inputKey
|
Optional. The |
inputTrack
|
Optional. The zero-based index of the track in the input stream. |
inputCeaChannel
|
Optional. The channel of the closed caption in the input stream. If this field is set, the output |
fromLanguageCode
|
Optional. The BCP-47 source language code, such as |
MuxStream
Multiplexing settings for output stream.
JSON representation |
---|
{
"key"
:
string
,
"container"
:
string
,
"elementaryStreams"
:
[
string
]
,
"segmentSettings"
:
{
object (
|
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
elementaryStreams[]
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.
segmentSettings
object (
SegmentSettings
)
Segment settings for fmp4
and ts
.
encryptionId
string
Identifier of the encryption configuration to use. If omitted, output will be unencrypted.
SegmentSettings
Segment settings for fmp4
and ts
.
JSON representation |
---|
{ "segmentDuration" : string } |
Fields | |
---|---|
segmentDuration
|
Duration of the segments in seconds. The default is All A duration in seconds with up to nine fractional digits, ending with ' |
Manifest
Manifest configuration.
JSON representation |
---|
{
"fileName"
:
string
,
"type"
:
enum (
|
fileName
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
enum (
ManifestType
)
Required. Type of the manifest, can be HLS
or DASH
.
muxStreams[]
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.
maxSegmentCount
integer
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.
segmentKeepDuration
string (
Duration
format)
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 segmentKeepDuration and RetentionConfig.retention_window_duration
are set, RetentionConfig.retention_window_duration
is used and segmentKeepDuration is ignored.
A duration in seconds with up to nine fractional digits, ending with ' s
'. Example: "3.5s"
.
useTimecodeAsTimeline
boolean
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
. |
DistributionStream
Multiplexing settings for output streams used in Distribution
.
JSON representation |
---|
{ "key" : string , "container" : string , "elementaryStreams" : [ string ] } |
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.
elementaryStreams[]
string
Required. List of ElementaryStream
key
s multiplexed in this stream. Must contain at least one audio stream and up to one video stream.
Distribution
Distribution configuration.
JSON representation |
---|
{ "key" : string , "distributionStream" : string , "state" : enum ( |
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.
distributionStream
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
enum (
State
)
Output only. State of the distribution.
error
object (
Status
)
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:srtPush
object (
SrtPushOutputEndpoint
)
Output endpoint using SRT_PUSH.
rtmpPush
object (
RtmpPushOutputEndpoint
)
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. |
SrtPushOutputEndpoint
Configurations for an output endpoint using SRT_PUSH as the streaming protocol.
JSON representation |
---|
{ "uri" : string , // Union field |
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:passphraseSecretVersion
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}
.
RtmpPushOutputEndpoint
Configurations for an output endpoint using RTMP_PUSH as the streaming protocol.
JSON representation |
---|
{ "uri" : string , "streamKey" : string } |
Fields | |
---|---|
uri
|
Required. The full URI of the remote RTMP server. For example: |
streamKey
|
Required. Stream key for RTMP protocol. |
SpriteSheet
Sprite sheet configuration.
JSON representation |
---|
{ "format" : string , "filePrefix" : string , "spriteWidthPixels" : integer , "spriteHeightPixels" : integer , "columnCount" : integer , "rowCount" : integer , "interval" : string , "quality" : integer } |
format
string
Format type. The default is jpeg
.
Supported formats:
-
jpeg
filePrefix
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
.
spriteWidthPixels
integer
Required. The width of the sprite in pixels. Must be an even integer.
spriteHeightPixels
integer
Required. The height of the sprite in pixels. Must be an even integer.
columnCount
integer
The maximum number of sprites per row in a sprite sheet. Valid range is [1, 10] and the default value is 1.
rowCount
integer
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
string (
Duration
format)
Create sprites at regular intervals. Valid range is [1 second, 1 hour] and the default value is 10s
.
A duration in seconds with up to nine fractional digits, ending with ' s
'. Example: "3.5s"
.
quality
integer
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.
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. |
LogConfig
Configuration of platform logs. See Using and managing platform logs for more information about how to view platform logs through Cloud Logging.
JSON representation |
---|
{
"logSeverity"
:
enum (
|
Fields | |
---|---|
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. |
TimecodeConfig
Timecode configuration.
JSON representation |
---|
{ "source" : enum ( |
source
enum (
TimecodeSource
)
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:utcOffset
string (
Duration
format)
UTC offset. Must be whole seconds, between -18 hours and +18 hours.
A duration in seconds with up to nine fractional digits, ending with ' s
'. Example: "3.5s"
.
timeZone
object (
TimeZone
)
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. |
TimeZone
Represents a time zone from the IANA Time Zone Database .
JSON representation |
---|
{ "id" : string , "version" : string } |
Fields | |
---|---|
id
|
IANA Time Zone Database time zone. For example "America/New_York". |
version
|
Optional. IANA Time Zone Database version number. For example "2019a". |
Encryption
Encryption settings.
JSON representation |
---|
{ "id" : string , "drmSystems" : { object ( |
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.
drmSystems
object (
DrmSystems
)
Required. Configuration for DRM systems.
secret_source
. Defines where content keys are stored. secret_source
can be only one of the following:secretManagerKeySource
object (
SecretManagerSource
)
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
object (
Aes128Encryption
)
Configuration for HLS AES-128 encryption.
sampleAes
object (
SampleAesEncryption
)
Configuration for HLS SAMPLE-AES encryption.
mpegCenc
object (
MpegCommonEncryption
)
Configuration for MPEG-Dash Common Encryption (MPEG-CENC).
SecretManagerSource
Configuration for secrets stored in Google Secret Manager.
JSON representation |
---|
{ "secretVersion" : string } |
Fields | |
---|---|
secretVersion
|
Required. The name of the Secret Version containing the encryption key. |
DrmSystems
Defines configuration for DRM systems in use. If a field is omitted, that DRM system will be considered to be disabled.
JSON representation |
---|
{ "widevine" : { object ( |
Fields | |
---|---|
widevine
|
Optional. Widevine configuration. |
fairplay
|
Optional. Fairplay configuration. |
playready
|
Optional. Playready configuration. |
clearkey
|
Optional. Clearkey configuration. |
Widevine
This type has no fields.
Widevine configuration.
Fairplay
This type has no fields.
Fairplay configuration.
Playready
This type has no fields.
Playready configuration.
Clearkey
This type has no fields.
Clearkey configuration.
Aes128Encryption
This type has no fields.
Configuration for HLS AES-128 encryption.
SampleAesEncryption
This type has no fields.
Configuration for HLS SAMPLE-AES encryption.
MpegCommonEncryption
Configuration for MPEG-Dash Common Encryption (MPEG-CENC).
JSON representation |
---|
{ "scheme" : string } |
Fields | |
---|---|
scheme
|
Required. Specify the encryption scheme, supported schemes: - |
InputConfig
Configuration for the input sources of a channel.
JSON representation |
---|
{
"inputSwitchMode"
:
enum (
|
Fields | |
---|---|
inputSwitchMode
|
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. |
RetentionConfig
Configuration for retention of output files.
JSON representation |
---|
{ "retentionWindowDuration" : string } |
Fields | |
---|---|
retentionWindowDuration
|
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 retentionWindowDuration and A duration in seconds with up to nine fractional digits, ending with ' |
StaticOverlay
Configuration for the static overlay.
JSON representation |
---|
{ "asset" : string , "resolution" : { object ( |
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 |
NormalizedResolution
Normalized resolution.
JSON representation |
---|
{ "w" : number , "h" : number } |
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. |
NormalizedCoordinate
2D normalized coordinates.
JSON representation |
---|
{ "x" : number , "y" : number } |
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. |
AutoTranscriptionConfig
Advanced configurations for auto-generated text streams.
JSON representation |
---|
{ "displayTiming" : enum ( |
Fields | |
---|---|
displayTiming
|
Optional. Whether auto-generated text streams are displayed synchronously or asynchronously with the original audio. |
qualityPreset
|
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. |
Methods |
|
---|---|
|
Creates a channel with the provided unique ID in the specified region. |
|
Deletes the specified channel. |
|
Returns the specified channel. |
|
Returns a list of all channels in the specified region. |
|
Updates the specified channel. |
|
Starts the specified channel. |
|
Stops the specified channel. |