update all APIs

Like documented in the README

```
rm -f .api.deps .cli.deps && FETCH_APIS=1 make update-json -j8
```
This commit is contained in:
Sebastian Thiel
2024-03-05 18:54:36 +01:00
parent 8a12e9d47e
commit ca974aa0a5
347 changed files with 202580 additions and 50157 deletions

View File

@@ -385,7 +385,7 @@
}
}
},
"revision": "20230105",
"revision": "20240221",
"rootUrl": "https://transcoder.googleapis.com/",
"schemas": {
"AdBreak": {
@@ -400,6 +400,12 @@
},
"type": "object"
},
"Aes128Encryption": {
"description": "Configuration for AES-128 encryption.",
"id": "Aes128Encryption",
"properties": {},
"type": "object"
},
"Animation": {
"description": "Animation types.",
"id": "Animation",
@@ -420,7 +426,7 @@
"type": "object"
},
"AnimationEnd": {
"description": "End previous overlay animation from the video. Without AnimationEnd, the overlay object will keep the state of previous animation until the end of the video.",
"description": "End previous overlay animation from the video. Without `AnimationEnd`, the overlay object will keep the state of previous animation until the end of the video.",
"id": "AnimationEnd",
"properties": {
"startTimeOffset": {
@@ -503,11 +509,11 @@
"type": "object"
},
"AudioMapping": {
"description": "The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.",
"description": "The mapping for the JobConfig.edit_list atoms with audio EditAtom.inputs.",
"id": "AudioMapping",
"properties": {
"atomKey": {
"description": "Required. The `EditAtom.key` that references the atom with audio inputs in the `Job.edit_list`.",
"description": "Required. The EditAtom.key that references the atom with audio inputs in the JobConfig.edit_list.",
"type": "string"
},
"gainDb": {
@@ -521,7 +527,7 @@
"type": "integer"
},
"inputKey": {
"description": "Required. The `Input.key` that identifies the input file.",
"description": "Required. The Input.key that identifies the input file.",
"type": "string"
},
"inputTrack": {
@@ -562,8 +568,16 @@
"description": "The codec for this audio stream. The default is `aac`. Supported audio codecs: - `aac` - `aac-he` - `aac-he-v2` - `mp3` - `ac3` - `eac3`",
"type": "string"
},
"displayName": {
"description": "The name for this particular audio stream that will be added to the HLS/DASH manifest. Not supported in MP4 files.",
"type": "string"
},
"languageCode": {
"description": "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. Not supported in MP4 files.",
"type": "string"
},
"mapping": {
"description": "The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.",
"description": "The mapping for the JobConfig.edit_list atoms with audio EditAtom.inputs.",
"items": {
"$ref": "AudioMapping"
},
@@ -596,6 +610,12 @@
},
"type": "object"
},
"Clearkey": {
"description": "Clearkey configuration.",
"id": "Clearkey",
"properties": {},
"type": "object"
},
"Color": {
"description": "Color preprocessing configuration. **Note:** This configuration is not supported.",
"id": "Color",
@@ -645,6 +665,27 @@
},
"type": "object"
},
"DashConfig": {
"description": "`DASH` manifest configuration.",
"id": "DashConfig",
"properties": {
"segmentReferenceScheme": {
"description": "The segment reference scheme for a `DASH` manifest. The default is `SEGMENT_LIST`.",
"enum": [
"SEGMENT_REFERENCE_SCHEME_UNSPECIFIED",
"SEGMENT_LIST",
"SEGMENT_TEMPLATE_NUMBER"
],
"enumDescriptions": [
"The segment reference scheme is not specified.",
"Explicitly lists the URLs of media files for each segment. For example, if SegmentSettings.individual_segments is `true`, then the manifest contains fields similar to the following: ```xml ... ```",
"SegmentSettings.individual_segments must be set to `true` to use this segment reference scheme. Uses the DASH specification `` tag to determine the URLs of media files for each segment. For example: ```xml ... ```"
],
"type": "string"
}
},
"type": "object"
},
"Deblock": {
"description": "Deblock preprocessing configuration. **Note:** This configuration is not supported.",
"id": "Deblock",
@@ -692,6 +733,29 @@
},
"type": "object"
},
"DrmSystems": {
"description": "Defines configuration for DRM systems in use.",
"id": "DrmSystems",
"properties": {
"clearkey": {
"$ref": "Clearkey",
"description": "Clearkey configuration."
},
"fairplay": {
"$ref": "Fairplay",
"description": "Fairplay configuration."
},
"playready": {
"$ref": "Playready",
"description": "Playready configuration."
},
"widevine": {
"$ref": "Widevine",
"description": "Widevine configuration."
}
},
"type": "object"
},
"EditAtom": {
"description": "Edit atom.",
"id": "EditAtom",
@@ -702,7 +766,7 @@
"type": "string"
},
"inputs": {
"description": "List of `Input.key`s identifying files that should be used in this atom. The listed `inputs` must have the same timeline.",
"description": "List of Input.key values identifying files that should be used in this atom. The listed `inputs` must have the same timeline.",
"items": {
"type": "string"
},
@@ -749,6 +813,54 @@
"properties": {},
"type": "object"
},
"Encryption": {
"description": "Encryption settings.",
"id": "Encryption",
"properties": {
"aes128": {
"$ref": "Aes128Encryption",
"description": "Configuration for AES-128 encryption."
},
"drmSystems": {
"$ref": "DrmSystems",
"description": "Required. DRM system(s) to use; at least one must be specified. If a DRM system is omitted, it is considered disabled."
},
"id": {
"description": "Required. Identifier for this set of encryption options.",
"type": "string"
},
"mpegCenc": {
"$ref": "MpegCommonEncryption",
"description": "Configuration for MPEG Common Encryption (MPEG-CENC)."
},
"sampleAes": {
"$ref": "SampleAesEncryption",
"description": "Configuration for SAMPLE-AES encryption."
},
"secretManagerKeySource": {
"$ref": "SecretManagerSource",
"description": "Keys are stored in Google Secret Manager."
}
},
"type": "object"
},
"Fairplay": {
"description": "Fairplay configuration.",
"id": "Fairplay",
"properties": {},
"type": "object"
},
"Fmp4Config": {
"description": "`fmp4` container configuration.",
"id": "Fmp4Config",
"properties": {
"codecTag": {
"description": "Optional. Specify the codec tag string that will be used in the media bitstream. When not specified, the codec appropriate value is used. Supported H265 codec tags: - `hvc1` (default) - `hev1`",
"type": "string"
}
},
"type": "object"
},
"H264CodecSettings": {
"description": "H264 codec settings.",
"id": "H264CodecSettings",
@@ -763,7 +875,7 @@
"type": "number"
},
"bFrameCount": {
"description": "The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than `VideoStream.gop_frame_count` if set. The default is 0.",
"description": "The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than H264CodecSettings.gop_frame_count if set. The default is 0.",
"format": "int32",
"type": "integer"
},
@@ -782,7 +894,7 @@
"type": "integer"
},
"enableTwoPass": {
"description": "Use two-pass encoding strategy to achieve better video quality. `VideoStream.rate_control_mode` must be `vbr`. The default is `false`.",
"description": "Use two-pass encoding strategy to achieve better video quality. H264CodecSettings.rate_control_mode must be `vbr`. The default is `false`.",
"type": "boolean"
},
"entropyCoder": {
@@ -790,10 +902,24 @@
"type": "string"
},
"frameRate": {
"description": "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](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.",
"description": "Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120.",
"format": "double",
"type": "number"
},
"frameRateConversionStrategy": {
"description": "Optional. Frame rate conversion strategy for desired frame rate. The default is `DOWNSAMPLE`.",
"enum": [
"FRAME_RATE_CONVERSION_STRATEGY_UNSPECIFIED",
"DOWNSAMPLE",
"DROP_DUPLICATE"
],
"enumDescriptions": [
"Unspecified frame rate conversion strategy.",
"Selectively retain frames to reduce the output frame rate. Every _n_ th frame is kept, where `n = ceil(input frame rate / target frame rate)`. When _n_ = 1 (that is, the target frame rate is greater than the input frame rate), the output frame rate matches the input frame rate. When _n_ > 1, frames are dropped and the output frame rate is equal to `(input frame rate / n)`. For more information, see [Calculate frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate).",
"Drop or duplicate frames to match the specified frame rate."
],
"type": "string"
},
"gopDuration": {
"description": "Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.",
"format": "google-duration",
@@ -809,6 +935,10 @@
"format": "int32",
"type": "integer"
},
"hlg": {
"$ref": "H264ColorFormatHLG",
"description": "Optional. HLG color format setting for H264."
},
"pixelFormat": {
"description": "Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format",
"type": "string"
@@ -822,20 +952,24 @@
"type": "string"
},
"rateControlMode": {
"description": "Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor",
"description": "Specify the mode. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor",
"type": "string"
},
"sdr": {
"$ref": "H264ColorFormatSDR",
"description": "Optional. SDR color format setting for H264."
},
"tune": {
"description": "Enforces the specified codec tune. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune). Note that certain values for this field may cause the transcoder to override other fields you set in the `H264CodecSettings` message.",
"type": "string"
},
"vbvFullnessBits": {
"description": "Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of `VideoStream.vbv_size_bits`.",
"description": "Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of H264CodecSettings.vbv_size_bits.",
"format": "int32",
"type": "integer"
},
"vbvSizeBits": {
"description": "Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to `VideoStream.bitrate_bps`.",
"description": "Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to H264CodecSettings.bitrate_bps.",
"format": "int32",
"type": "integer"
},
@@ -847,6 +981,18 @@
},
"type": "object"
},
"H264ColorFormatHLG": {
"description": "Convert the input video to a Hybrid Log Gamma (HLG) video.",
"id": "H264ColorFormatHLG",
"properties": {},
"type": "object"
},
"H264ColorFormatSDR": {
"description": "Convert the input video to a Standard Dynamic Range (SDR) video.",
"id": "H264ColorFormatSDR",
"properties": {},
"type": "object"
},
"H265CodecSettings": {
"description": "H265 codec settings.",
"id": "H265CodecSettings",
@@ -861,7 +1007,7 @@
"type": "number"
},
"bFrameCount": {
"description": "The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than `VideoStream.gop_frame_count` if set. The default is 0.",
"description": "The number of consecutive B-frames. Must be greater than or equal to zero. Must be less than H265CodecSettings.gop_frame_count if set. The default is 0.",
"format": "int32",
"type": "integer"
},
@@ -880,14 +1026,28 @@
"type": "integer"
},
"enableTwoPass": {
"description": "Use two-pass encoding strategy to achieve better video quality. `VideoStream.rate_control_mode` must be `vbr`. The default is `false`.",
"description": "Use two-pass encoding strategy to achieve better video quality. H265CodecSettings.rate_control_mode must be `vbr`. The default is `false`.",
"type": "boolean"
},
"frameRate": {
"description": "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](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.",
"description": "Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120.",
"format": "double",
"type": "number"
},
"frameRateConversionStrategy": {
"description": "Optional. Frame rate conversion strategy for desired frame rate. The default is `DOWNSAMPLE`.",
"enum": [
"FRAME_RATE_CONVERSION_STRATEGY_UNSPECIFIED",
"DOWNSAMPLE",
"DROP_DUPLICATE"
],
"enumDescriptions": [
"Unspecified frame rate conversion strategy.",
"Selectively retain frames to reduce the output frame rate. Every _n_ th frame is kept, where `n = ceil(input frame rate / target frame rate)`. When _n_ = 1 (that is, the target frame rate is greater than the input frame rate), the output frame rate matches the input frame rate. When _n_ > 1, frames are dropped and the output frame rate is equal to `(input frame rate / n)`. For more information, see [Calculate frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate).",
"Drop or duplicate frames to match the specified frame rate."
],
"type": "string"
},
"gopDuration": {
"description": "Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.",
"format": "google-duration",
@@ -898,11 +1058,19 @@
"format": "int32",
"type": "integer"
},
"hdr10": {
"$ref": "H265ColorFormatHDR10",
"description": "Optional. HDR10 color format setting for H265."
},
"heightPixels": {
"description": "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. For portrait videos that contain horizontal ASR and rotation metadata, provide the height, in pixels, per the horizontal ASR. The API calculates the width per the horizontal ASR. The API detects any rotation metadata and swaps the requested height and width for the output.",
"format": "int32",
"type": "integer"
},
"hlg": {
"$ref": "H265ColorFormatHLG",
"description": "Optional. HLG color format setting for H265."
},
"pixelFormat": {
"description": "Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format",
"type": "string"
@@ -916,15 +1084,19 @@
"type": "string"
},
"rateControlMode": {
"description": "Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor",
"description": "Specify the mode. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate - `crf` - constant rate factor",
"type": "string"
},
"sdr": {
"$ref": "H265ColorFormatSDR",
"description": "Optional. SDR color format setting for H265."
},
"tune": {
"description": "Enforces the specified codec tune. The available options are [FFmpeg-compatible](https://trac.ffmpeg.org/wiki/Encode/H.265). Note that certain values for this field may cause the transcoder to override other fields you set in the `H265CodecSettings` message.",
"type": "string"
},
"vbvFullnessBits": {
"description": "Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of `VideoStream.vbv_size_bits`.",
"description": "Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be greater than zero. The default is equal to 90% of H265CodecSettings.vbv_size_bits.",
"format": "int32",
"type": "integer"
},
@@ -941,8 +1113,26 @@
},
"type": "object"
},
"H265ColorFormatHDR10": {
"description": "Convert the input video to a High Dynamic Range 10 (HDR10) video.",
"id": "H265ColorFormatHDR10",
"properties": {},
"type": "object"
},
"H265ColorFormatHLG": {
"description": "Convert the input video to a Hybrid Log Gamma (HLG) video.",
"id": "H265ColorFormatHLG",
"properties": {},
"type": "object"
},
"H265ColorFormatSDR": {
"description": "Convert the input video to a Standard Dynamic Range (SDR) video.",
"id": "H265ColorFormatSDR",
"properties": {},
"type": "object"
},
"Image": {
"description": "Overlaid jpeg image.",
"description": "Overlaid image.",
"id": "Image",
"properties": {
"alpha": {
@@ -955,7 +1145,7 @@
"description": "Normalized image resolution, based on output video resolution. Valid values: `0.0`\u2013`1.0`. To respect the original image aspect ratio, set either `x` or `y` to `0.0`. To use the original image resolution, set both `x` and `y` to `0.0`."
},
"uri": {
"description": "Required. URI of the JPEG image in Cloud Storage. For example, `gs://bucket/inputs/image.jpeg`. JPEG is the only supported image type.",
"description": "Required. URI of the image in Cloud Storage. For example, `gs://bucket/inputs/image.png`. Only PNG and JPEG images are supported.",
"type": "string"
}
},
@@ -974,7 +1164,7 @@
"description": "Preprocessing configurations."
},
"uri": {
"description": "URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, `gs://bucket/inputs/file.mp4`). If empty, the value is populated from `Job.input_uri`. See [Supported input and output formats](https://cloud.google.com/transcoder/docs/concepts/supported-input-and-output-formats).",
"description": "URI of the media. Input files must be at least 5 seconds in duration and stored in Cloud Storage (for example, `gs://bucket/inputs/file.mp4`). If empty, the value is populated from Job.input_uri. See [Supported input and output formats](https://cloud.google.com/transcoder/docs/concepts/supported-input-and-output-formats).",
"type": "string"
}
},
@@ -984,6 +1174,11 @@
"description": "Transcoding job resource.",
"id": "Job",
"properties": {
"batchModePriority": {
"description": "The processing priority of a batch job. This field can only be set for batch mode jobs. The default value is 0. This value cannot be negative. Higher values correspond to higher priorities for the job.",
"format": "int32",
"type": "integer"
},
"config": {
"$ref": "JobConfig",
"description": "The configuration for this job."
@@ -1002,7 +1197,7 @@
},
"error": {
"$ref": "Status",
"description": "Output only. An error object that describes the reason for the failure. This property is always present when `state` is `FAILED`.",
"description": "Output only. An error object that describes the reason for the failure. This property is always present when ProcessingState is `FAILED`.",
"readOnly": true
},
"inputUri": {
@@ -1016,10 +1211,38 @@
"description": "The labels associated with this job. You can use these to organize and group your jobs.",
"type": "object"
},
"mode": {
"description": "The processing mode of the job. The default is `PROCESSING_MODE_INTERACTIVE`.",
"enum": [
"PROCESSING_MODE_UNSPECIFIED",
"PROCESSING_MODE_INTERACTIVE",
"PROCESSING_MODE_BATCH"
],
"enumDescriptions": [
"The job processing mode is not specified.",
"The job processing mode is interactive mode. Interactive job will either be ran or rejected if quota does not allow for it.",
"The job processing mode is batch mode. Batch mode allows queuing of jobs."
],
"type": "string"
},
"name": {
"description": "The resource name of the job. Format: `projects/{project_number}/locations/{location}/jobs/{job}`",
"type": "string"
},
"optimization": {
"description": "Optional. The optimization strategy of the job. The default is `AUTODETECT`.",
"enum": [
"OPTIMIZATION_STRATEGY_UNSPECIFIED",
"AUTODETECT",
"DISABLED"
],
"enumDescriptions": [
"The optimization strategy is not specified.",
"Prioritize job processing speed.",
"Disable all optimizations."
],
"type": "string"
},
"outputUri": {
"description": "Input only. Specify the `output_uri` to populate an empty `Job.config.output.uri` or `JobTemplate.config.output.uri` when using template. URI for the output file(s). For example, `gs://my-bucket/outputs/`. See [Supported input and output formats](https://cloud.google.com/transcoder/docs/concepts/supported-input-and-output-formats).",
"type": "string"
@@ -1044,13 +1267,13 @@
"The job is enqueued and will be picked up for processing soon.",
"The job is being processed.",
"The job has been completed successfully.",
"The job has failed. For additional information, see `failure_reason` and `failure_details`"
"The job has failed. For additional information, see [Troubleshooting](https://cloud.google.com/transcoder/docs/troubleshooting)."
],
"readOnly": true,
"type": "string"
},
"templateId": {
"description": "Input only. Specify the `template_id` to use for populating `Job.config`. The default is `preset/web-hd`. Preset Transcoder templates: - `preset/{preset_id}` - User defined JobTemplate: `{job_template_id}`",
"description": "Input only. Specify the `template_id` to use for populating `Job.config`. The default is `preset/web-hd`, which is the only supported preset. User defined JobTemplate: `{job_template_id}`",
"type": "string"
},
"ttlAfterCompletionDays": {
@@ -1073,7 +1296,7 @@
"type": "array"
},
"editList": {
"description": "List of `Edit atom`s. Defines the ultimate timeline of the resulting file or manifest.",
"description": "List of edit atoms. Defines the ultimate timeline of the resulting file or manifest.",
"items": {
"$ref": "EditAtom"
},
@@ -1086,6 +1309,13 @@
},
"type": "array"
},
"encryptions": {
"description": "List of encryption configurations for the content. Each configuration has an ID. Specify this ID in the MuxStream.encryption_id field to indicate the configuration to use for that `MuxStream` output.",
"items": {
"$ref": "Encryption"
},
"type": "array"
},
"inputs": {
"description": "List of input assets stored in Cloud Storage.",
"items": {
@@ -1208,19 +1438,23 @@
"description": "Manifest configuration.",
"id": "Manifest",
"properties": {
"dash": {
"$ref": "DashConfig",
"description": "`DASH` manifest configuration."
},
"fileName": {
"description": "The name of the generated file. The default is `manifest` with the extension suffix corresponding to the `Manifest.type`.",
"description": "The name of the generated file. The default is `manifest` with the extension suffix corresponding to the Manifest.type.",
"type": "string"
},
"muxStreams": {
"description": "Required. List of user given `MuxStream.key`s that should appear in this manifest. When `Manifest.type` is `HLS`, a media manifest with name `MuxStream.key` and `.m3u8` extension is generated for each element of the `Manifest.mux_streams`.",
"description": "Required. List of user supplied MuxStream.key values that should appear in this manifest. When Manifest.type is `HLS`, a media manifest with name MuxStream.key and `.m3u8` extension is generated for each element in this list.",
"items": {
"type": "string"
},
"type": "array"
},
"type": {
"description": "Required. Type of the manifest, can be `HLS` or `DASH`.",
"description": "Required. Type of the manifest.",
"enum": [
"MANIFEST_TYPE_UNSPECIFIED",
"HLS",
@@ -1228,14 +1462,25 @@
],
"enumDescriptions": [
"The manifest type is not specified.",
"Create `HLS` manifest. The corresponding file extension is `.m3u8`.",
"Create `DASH` manifest. The corresponding file extension is `.mpd`."
"Create an HLS manifest. The corresponding file extension is `.m3u8`.",
"Create an MPEG-DASH manifest. The corresponding file extension is `.mpd`."
],
"type": "string"
}
},
"type": "object"
},
"MpegCommonEncryption": {
"description": "Configuration for MPEG Common Encryption (MPEG-CENC).",
"id": "MpegCommonEncryption",
"properties": {
"scheme": {
"description": "Required. Specify the encryption scheme. Supported encryption schemes: - `cenc` - `cbcs`",
"type": "string"
}
},
"type": "object"
},
"MuxStream": {
"description": "Multiplexing settings for output stream.",
"id": "MuxStream",
@@ -1245,18 +1490,26 @@
"type": "string"
},
"elementaryStreams": {
"description": "List of `ElementaryStream.key`s multiplexed in this stream.",
"description": "List of ElementaryStream.key values multiplexed in this stream.",
"items": {
"type": "string"
},
"type": "array"
},
"fileName": {
"description": "The name of the generated file. The default is `MuxStream.key` with the extension suffix corresponding to the `MuxStream.container`. Individual segments also have an incremental 10-digit zero-padded suffix starting from 0 before the extension, such as `mux_stream0000000123.ts`.",
"encryptionId": {
"description": "Identifier of the encryption configuration to use. If omitted, output will be unencrypted.",
"type": "string"
},
"fileName": {
"description": "The name of the generated file. The default is MuxStream.key with the extension suffix corresponding to the MuxStream.container. Individual segments also have an incremental 10-digit zero-padded suffix starting from 0 before the extension, such as `mux_stream0000000123.ts`.",
"type": "string"
},
"fmp4": {
"$ref": "Fmp4Config",
"description": "Optional. `fmp4` container configuration."
},
"key": {
"description": "A unique key for this multiplexed stream. HLS media manifests will be named `MuxStream.key` with the `.m3u8` extension suffix.",
"description": "A unique key for this multiplexed stream.",
"type": "string"
},
"segmentSettings": {
@@ -1288,7 +1541,7 @@
"id": "Output",
"properties": {
"uri": {
"description": "URI for the output file(s). For example, `gs://my-bucket/outputs/`. If empty, the value is populated from `Job.output_uri`. See [Supported input and output formats](https://cloud.google.com/transcoder/docs/concepts/supported-input-and-output-formats).",
"description": "URI for the output file(s). For example, `gs://my-bucket/outputs/`. If empty, the value is populated from Job.output_uri. See [Supported input and output formats](https://cloud.google.com/transcoder/docs/concepts/supported-input-and-output-formats).",
"type": "string"
}
},
@@ -1299,7 +1552,7 @@
"id": "Overlay",
"properties": {
"animations": {
"description": "List of Animations. The list should be chronological, without any time overlap.",
"description": "List of animations. The list should be chronological, without any time overlap.",
"items": {
"$ref": "Animation"
},
@@ -1339,6 +1592,12 @@
},
"type": "object"
},
"Playready": {
"description": "Playready configuration.",
"id": "Playready",
"properties": {},
"type": "object"
},
"PreprocessingConfig": {
"description": "Preprocessing configurations.",
"id": "PreprocessingConfig",
@@ -1385,6 +1644,23 @@
},
"type": "object"
},
"SampleAesEncryption": {
"description": "Configuration for SAMPLE-AES encryption.",
"id": "SampleAesEncryption",
"properties": {},
"type": "object"
},
"SecretManagerSource": {
"description": "Configuration for secrets stored in Google Secret Manager.",
"id": "SecretManagerSource",
"properties": {
"secretVersion": {
"description": "Required. The name of the Secret Version containing the encryption key in the following format: `projects/{project}/secrets/{secret_id}/versions/{version_number}` Note that only numbered versions are supported. Aliases like \"latest\" are not supported.",
"type": "string"
}
},
"type": "object"
},
"SegmentSettings": {
"description": "Segment settings for `ts`, `fmp4` and `vtt`.",
"id": "SegmentSettings",
@@ -1489,15 +1765,15 @@
"type": "object"
},
"TextMapping": {
"description": "The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.",
"description": "The mapping for the JobConfig.edit_list atoms with text EditAtom.inputs.",
"id": "TextMapping",
"properties": {
"atomKey": {
"description": "Required. The `EditAtom.key` that references atom with text inputs in the `Job.edit_list`.",
"description": "Required. The EditAtom.key that references atom with text inputs in the JobConfig.edit_list.",
"type": "string"
},
"inputKey": {
"description": "Required. The `Input.key` that identifies the input file.",
"description": "Required. The Input.key that identifies the input file.",
"type": "string"
},
"inputTrack": {
@@ -1516,8 +1792,16 @@
"description": "The codec for this text stream. The default is `webvtt`. Supported text codecs: - `srt` - `ttml` - `cea608` - `cea708` - `webvtt`",
"type": "string"
},
"displayName": {
"description": "The name for this particular text stream that will be added to the HLS/DASH manifest. Not supported in MP4 files.",
"type": "string"
},
"languageCode": {
"description": "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. Not supported in MP4 files.",
"type": "string"
},
"mapping": {
"description": "The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.",
"description": "The mapping for the JobConfig.edit_list atoms with text EditAtom.inputs.",
"items": {
"$ref": "TextMapping"
},
@@ -1560,10 +1844,24 @@
"type": "integer"
},
"frameRate": {
"description": "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](https://cloud.google.com/transcoder/docs/concepts/frame-rate) for more information.",
"description": "Required. The target video frame rate in frames per second (FPS). Must be less than or equal to 120.",
"format": "double",
"type": "number"
},
"frameRateConversionStrategy": {
"description": "Optional. Frame rate conversion strategy for desired frame rate. The default is `DOWNSAMPLE`.",
"enum": [
"FRAME_RATE_CONVERSION_STRATEGY_UNSPECIFIED",
"DOWNSAMPLE",
"DROP_DUPLICATE"
],
"enumDescriptions": [
"Unspecified frame rate conversion strategy.",
"Selectively retain frames to reduce the output frame rate. Every _n_ th frame is kept, where `n = ceil(input frame rate / target frame rate)`. When _n_ = 1 (that is, the target frame rate is greater than the input frame rate), the output frame rate matches the input frame rate. When _n_ > 1, frames are dropped and the output frame rate is equal to `(input frame rate / n)`. For more information, see [Calculate frame rate](https://cloud.google.com/transcoder/docs/concepts/frame-rate).",
"Drop or duplicate frames to match the specified frame rate."
],
"type": "string"
},
"gopDuration": {
"description": "Select the GOP size based on the specified duration. The default is `3s`. Note that `gopDuration` must be less than or equal to [`segmentDuration`](#SegmentSettings), and [`segmentDuration`](#SegmentSettings) must be divisible by `gopDuration`.",
"format": "google-duration",
@@ -1579,6 +1877,10 @@
"format": "int32",
"type": "integer"
},
"hlg": {
"$ref": "Vp9ColorFormatHLG",
"description": "Optional. HLG color format setting for VP9."
},
"pixelFormat": {
"description": "Pixel format to use. The default is `yuv420p`. Supported pixel formats: - `yuv420p` pixel format - `yuv422p` pixel format - `yuv444p` pixel format - `yuv420p10` 10-bit HDR pixel format - `yuv422p10` 10-bit HDR pixel format - `yuv444p10` 10-bit HDR pixel format - `yuv420p12` 12-bit HDR pixel format - `yuv422p12` 12-bit HDR pixel format - `yuv444p12` 12-bit HDR pixel format",
"type": "string"
@@ -1588,9 +1890,13 @@
"type": "string"
},
"rateControlMode": {
"description": "Specify the `rate_control_mode`. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate",
"description": "Specify the mode. The default is `vbr`. Supported rate control modes: - `vbr` - variable bitrate",
"type": "string"
},
"sdr": {
"$ref": "Vp9ColorFormatSDR",
"description": "Optional. SDR color format setting for VP9."
},
"widthPixels": {
"description": "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. For portrait videos that contain horizontal ASR and rotation metadata, provide the width, in pixels, per the horizontal ASR. The API calculates the height per the horizontal ASR. The API detects any rotation metadata and swaps the requested height and width for the output.",
"format": "int32",
@@ -1599,6 +1905,24 @@
},
"type": "object"
},
"Vp9ColorFormatHLG": {
"description": "Convert the input video to a Hybrid Log Gamma (HLG) video.",
"id": "Vp9ColorFormatHLG",
"properties": {},
"type": "object"
},
"Vp9ColorFormatSDR": {
"description": "Convert the input video to a Standard Dynamic Range (SDR) video.",
"id": "Vp9ColorFormatSDR",
"properties": {},
"type": "object"
},
"Widevine": {
"description": "Widevine configuration.",
"id": "Widevine",
"properties": {},
"type": "object"
},
"YadifConfig": {
"description": "Yet Another Deinterlacing Filter Configuration.",
"id": "YadifConfig",