feat: added support for specifying HEVC codec tag

feat: added support for converting the input video to a supported high dynamic range (HDR) formats
feat: added support for DROP_DUPLICATE frame rate conversion strategy to achieve the exact frame rate on the output video
feat: added support for fill_content_gaps field to allow processing inputs with significant number of missing frames
docs: improve comment formatting, add links, add references

PiperOrigin-RevId: 784316559
This commit is contained in:
Google APIs 2025-07-17 14:26:11 -07:00 committed by Copybara-Service
parent fecd7d35f4
commit 142ec419af
3 changed files with 225 additions and 76 deletions

View file

@ -48,8 +48,8 @@ message Job {
// The job has been completed successfully.
SUCCEEDED = 3;
// 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).
FAILED = 4;
}
@ -99,7 +99,7 @@ message Job {
// formats](https://cloud.google.com/transcoder/docs/concepts/supported-input-and-output-formats).
string output_uri = 3 [(google.api.field_behavior) = INPUT_ONLY];
// Specify the `job_config` for the transcoding job. If you don't specify the
// Specify the config for the transcoding job. If you don't specify the
// `job_config`, the API selects `templateId`; this template ID is set to
// `preset/web-hd` by default. When you use a `template_id` to create a job,
// the `Job.config` is populated by the `JobTemplate.config`.<br>
@ -139,7 +139,9 @@ message Job {
map<string, string> labels = 16;
// Output only. An error object that describes the reason for the failure.
// This property is always present when `state` is `FAILED`.
// This property is always present when
// [ProcessingState][google.cloud.video.transcoder.v1.Job.ProcessingState] is
// `FAILED`.
google.rpc.Status error = 17 [(google.api.field_behavior) = OUTPUT_ONLY];
// The processing mode of the job.
@ -156,6 +158,10 @@ message Job {
// `AUTODETECT`.
OptimizationStrategy optimization = 22
[(google.api.field_behavior) = OPTIONAL];
// Optional. Insert silence and duplicate frames when timestamp gaps are
// detected in a given stream.
bool fill_content_gaps = 25 [(google.api.field_behavior) = OPTIONAL];
}
// Transcoding job template resource.
@ -183,7 +189,7 @@ message JobConfig {
// List of input assets stored in Cloud Storage.
repeated Input inputs = 1;
// List of `Edit atom`s. Defines the ultimate timeline of the resulting
// List of edit atoms. Defines the ultimate timeline of the resulting
// file or manifest.
repeated EditAtom edit_list = 2;
@ -228,7 +234,8 @@ message Input {
// 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
// If empty, the value is populated from
// [Job.input_uri][google.cloud.video.transcoder.v1.Job.input_uri]. See
// [Supported input and output
// formats](https://cloud.google.com/transcoder/docs/concepts/supported-input-and-output-formats).
string uri = 2;
@ -239,8 +246,9 @@ message Input {
// Location of output file(s) in a Cloud Storage bucket.
message Output {
// URI for the output file(s). For example, `gs://my-bucket/outputs/`.
// If empty, the value is populated from `Job.output_uri`. See
// URI for the output file(s). For example, `gs://my-bucket/outputs/`. Must be
// a directory and not a top-level bucket. If empty, the value is populated
// from [Job.output_uri][google.cloud.video.transcoder.v1.Job.output_uri]. See
// [Supported input and output
// formats](https://cloud.google.com/transcoder/docs/concepts/supported-input-and-output-formats).
string uri = 1;
@ -252,8 +260,9 @@ message EditAtom {
// mapping.
string key = 1;
// List of `Input.key`s identifying files that should be used in this atom.
// The listed `inputs` must have the same timeline.
// List of [Input.key][google.cloud.video.transcoder.v1.Input.key] values
// identifying files that should be used in this atom. The listed `inputs`
// must have the same timeline.
repeated string inputs = 2;
// End time in seconds for the atom, relative to the input file timeline.
@ -295,12 +304,25 @@ message ElementaryStream {
// Multiplexing settings for output stream.
message MuxStream {
// A unique key for this multiplexed stream. HLS media manifests will be
// named `MuxStream.key` with the `.m3u8` extension suffix.
// `fmp4` container configuration.
message Fmp4Config {
// 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`
string codec_tag = 1 [(google.api.field_behavior) = OPTIONAL];
}
// A unique key for this multiplexed stream.
string key = 1;
// The name of the generated file. The default is `MuxStream.key` with the
// extension suffix corresponding to the `MuxStream.container`.
// The name of the generated file. The default is
// [MuxStream.key][google.cloud.video.transcoder.v1.MuxStream.key] with the
// extension suffix corresponding to the
// [MuxStream.container][google.cloud.video.transcoder.v1.MuxStream.container].
//
// Individual segments also have an incremental 10-digit zero-padded suffix
// starting from 0 before the extension, such as `mux_stream0000000123.ts`.
@ -308,11 +330,16 @@ message MuxStream {
// The container format. The default is `mp4`
//
// Supported container formats:
// Supported streaming formats:
//
// - `ts`
// - `fmp4`- the corresponding file extension is `.m4s`
//
// Supported standalone file formats:
//
// - `mp4`
// - `mp3`
// - `ogg`
// - `vtt`
//
// See also:
@ -320,7 +347,9 @@ message MuxStream {
// formats](https://cloud.google.com/transcoder/docs/concepts/supported-input-and-output-formats)
string container = 3;
// List of `ElementaryStream.key`s multiplexed in this stream.
// List of
// [ElementaryStream.key][google.cloud.video.transcoder.v1.ElementaryStream.key]
// values multiplexed in this stream.
repeated string elementary_streams = 4;
// Segment settings for `ts`, `fmp4` and `vtt`.
@ -329,6 +358,12 @@ message MuxStream {
// Identifier of the encryption configuration to use. If omitted, output will
// be unencrypted.
string encryption_id = 7;
// Specifies the container configuration.
oneof container_config {
// Optional. `fmp4` container configuration.
Fmp4Config fmp4 = 8 [(google.api.field_behavior) = OPTIONAL];
}
}
// Manifest configuration.
@ -352,10 +387,31 @@ message Manifest {
// The segment reference scheme is not specified.
SEGMENT_REFERENCE_SCHEME_UNSPECIFIED = 0;
// Lists the URLs of media files for each segment.
// Explicitly lists the URLs of media files for each segment. For example,
// if
// [SegmentSettings.individual_segments][google.cloud.video.transcoder.v1.SegmentSettings.individual_segments]
// is `true`, then the manifest contains fields similar to the following:
// ```xml
// <Initialization sourceURL="my-hd-stream-init.m4s"/>
// <SegmentList presentationTimeOffset="0" duration="1000"
// timescale="10000">
// <SegmentURL media="hd-stream0000000000.m4s"/>
// <SegmentURL media="hd-stream0000000001.m4s"/>
// ...
// ```
SEGMENT_LIST = 1;
// Lists each segment from a template with $Number$ variable.
// [SegmentSettings.individual_segments][google.cloud.video.transcoder.v1.SegmentSettings.individual_segments]
// must be set to `true` to use this segment reference scheme. Uses the
// DASH specification
// `<SegmentTemplate>` tag to determine the URLs of media files for each
// segment. For example:
// ```xml
// <SegmentTemplate presentationTimeOffset="0" timescale="10000"
// initialization="my-hd-stream-init.m4s"
// media="hd-stream$Number%010d$.m4s" startNumber="0">
// ...
// ```
SEGMENT_TEMPLATE_NUMBER = 2;
}
@ -365,18 +421,21 @@ message Manifest {
}
// The name of the generated file. The default is `manifest` with the
// extension suffix corresponding to the `Manifest.type`.
// extension suffix corresponding to the
// [Manifest.type][google.cloud.video.transcoder.v1.Manifest.type].
string file_name = 1;
// Required. Type of the manifest.
ManifestType type = 2 [(google.api.field_behavior) = REQUIRED];
// Required. List of user given `MuxStream.key`s that should appear in this
// manifest.
// Required. List of user supplied
// [MuxStream.key][google.cloud.video.transcoder.v1.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 of the
// `Manifest.mux_streams`.
// When [Manifest.type][google.cloud.video.transcoder.v1.Manifest.type] is
// `HLS`, a media manifest with name
// [MuxStream.key][google.cloud.video.transcoder.v1.MuxStream.key] and `.m3u8`
// extension is generated for each element in this list.
repeated string mux_streams = 3 [(google.api.field_behavior) = REQUIRED];
// Specifies the manifest configuration.
@ -546,7 +605,7 @@ message Overlay {
google.protobuf.Duration end_time_offset = 4;
}
// End previous overlay animation from the video. Without AnimationEnd, the
// 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.
message AnimationEnd {
@ -572,7 +631,7 @@ message Overlay {
// Image overlay.
Image image = 1;
// List of Animations. The list should be chronological, without any time
// List of animations. The list should be chronological, without any time
// overlap.
repeated Animation animations = 2;
}
@ -775,6 +834,31 @@ message PreprocessingConfig {
// Video stream resource.
message VideoStream {
// The conversion strategy for desired frame rate.
enum FrameRateConversionStrategy {
// Unspecified frame rate conversion strategy.
FRAME_RATE_CONVERSION_STRATEGY_UNSPECIFIED = 0;
// 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).
DOWNSAMPLE = 1;
// Drop or duplicate frames to match the specified frame rate.
DROP_DUPLICATE = 2;
}
// Convert the input video to a Standard Dynamic Range (SDR) video.
message H264ColorFormatSDR {}
// Convert the input video to a Hybrid Log Gamma (HLG) video.
message H264ColorFormatHLG {}
// H264 codec settings.
message H264CodecSettings {
// The width of the video in pixels. Must be an even integer.
@ -798,14 +882,14 @@ message VideoStream {
int32 height_pixels = 2;
// 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.
// less than or equal to 120.
double frame_rate = 3 [(google.api.field_behavior) = REQUIRED];
// Optional. Frame rate conversion strategy for desired frame rate. The
// default is `DOWNSAMPLE`.
FrameRateConversionStrategy frame_rate_conversion_strategy = 23
[(google.api.field_behavior) = OPTIONAL];
// Required. The video bitrate in bits per second. The minimum value is
// 1,000. The maximum value is 800,000,000.
int32 bitrate_bps = 4 [(google.api.field_behavior) = REQUIRED];
@ -825,7 +909,7 @@ message VideoStream {
// - `yuv444p12` 12-bit HDR pixel format
string pixel_format = 5;
// Specify the `rate_control_mode`. The default is `vbr`.
// Specify the mode. The default is `vbr`.
//
// Supported rate control modes:
//
@ -856,16 +940,18 @@ message VideoStream {
}
// Use two-pass encoding strategy to achieve better video quality.
// `VideoStream.rate_control_mode` must be `vbr`. The default is `false`.
// [H264CodecSettings.rate_control_mode][google.cloud.video.transcoder.v1.VideoStream.H264CodecSettings.rate_control_mode]
// must be `vbr`. The default is `false`.
bool enable_two_pass = 11;
// Size of the Video Buffering Verifier (VBV) buffer in bits. Must be
// greater than zero. The default is equal to `VideoStream.bitrate_bps`.
// greater than zero. The default is equal to
// [H264CodecSettings.bitrate_bps][google.cloud.video.transcoder.v1.VideoStream.H264CodecSettings.bitrate_bps].
int32 vbv_size_bits = 12;
// 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`.
// [H264CodecSettings.vbv_size_bits][google.cloud.video.transcoder.v1.VideoStream.H264CodecSettings.vbv_size_bits].
int32 vbv_fullness_bits = 13;
// The entropy coder to use. The default is `cabac`.
@ -881,8 +967,9 @@ message VideoStream {
bool b_pyramid = 15;
// 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.
// zero. Must be less than
// [H264CodecSettings.gop_frame_count][google.cloud.video.transcoder.v1.VideoStream.H264CodecSettings.gop_frame_count]
// if set. The default is 0.
int32 b_frame_count = 16;
// Specify the intensity of the adaptive quantizer (AQ). Must be between 0
@ -918,8 +1005,26 @@ message VideoStream {
// transcoder to override other fields you set in the `H264CodecSettings`
// message.
string preset = 20;
// Color format can be sdr or hlg.
oneof color_format {
// Optional. SDR color format setting for H264.
H264ColorFormatSDR sdr = 21 [(google.api.field_behavior) = OPTIONAL];
// Optional. HLG color format setting for H264.
H264ColorFormatHLG hlg = 22 [(google.api.field_behavior) = OPTIONAL];
}
}
// Convert the input video to a Standard Dynamic Range (SDR) video.
message H265ColorFormatSDR {}
// Convert the input video to a Hybrid Log Gamma (HLG) video.
message H265ColorFormatHLG {}
// Convert the input video to a High Dynamic Range 10 (HDR10) video.
message H265ColorFormatHDR10 {}
// H265 codec settings.
message H265CodecSettings {
// The width of the video in pixels. Must be an even integer.
@ -943,14 +1048,14 @@ message VideoStream {
int32 height_pixels = 2;
// 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.
// less than or equal to 120.
double frame_rate = 3 [(google.api.field_behavior) = REQUIRED];
// Optional. Frame rate conversion strategy for desired frame rate. The
// default is `DOWNSAMPLE`.
FrameRateConversionStrategy frame_rate_conversion_strategy = 23
[(google.api.field_behavior) = OPTIONAL];
// Required. The video bitrate in bits per second. The minimum value is
// 1,000. The maximum value is 800,000,000.
int32 bitrate_bps = 4 [(google.api.field_behavior) = REQUIRED];
@ -970,7 +1075,7 @@ message VideoStream {
// - `yuv444p12` 12-bit HDR pixel format
string pixel_format = 5;
// Specify the `rate_control_mode`. The default is `vbr`.
// Specify the mode. The default is `vbr`.
//
// Supported rate control modes:
//
@ -1001,7 +1106,8 @@ message VideoStream {
}
// Use two-pass encoding strategy to achieve better video quality.
// `VideoStream.rate_control_mode` must be `vbr`. The default is `false`.
// [H265CodecSettings.rate_control_mode][google.cloud.video.transcoder.v1.VideoStream.H265CodecSettings.rate_control_mode]
// must be `vbr`. The default is `false`.
bool enable_two_pass = 11;
// Size of the Video Buffering Verifier (VBV) buffer in bits. Must be
@ -1010,7 +1116,7 @@ message VideoStream {
// 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`.
// [H265CodecSettings.vbv_size_bits][google.cloud.video.transcoder.v1.VideoStream.H265CodecSettings.vbv_size_bits].
int32 vbv_fullness_bits = 13;
// Allow B-pyramid for reference frame selection. This may not be supported
@ -1018,8 +1124,9 @@ message VideoStream {
bool b_pyramid = 14;
// 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.
// zero. Must be less than
// [H265CodecSettings.gop_frame_count][google.cloud.video.transcoder.v1.VideoStream.H265CodecSettings.gop_frame_count]
// if set. The default is 0.
int32 b_frame_count = 15;
// Specify the intensity of the adaptive quantizer (AQ). Must be between 0
@ -1070,8 +1177,26 @@ message VideoStream {
// transcoder to override other fields you set in the `H265CodecSettings`
// message.
string preset = 19;
// Color format can be sdr, hlg, hdr10.
oneof color_format {
// Optional. SDR color format setting for H265.
H265ColorFormatSDR sdr = 20 [(google.api.field_behavior) = OPTIONAL];
// Optional. HLG color format setting for H265.
H265ColorFormatHLG hlg = 21 [(google.api.field_behavior) = OPTIONAL];
// Optional. HDR10 color format setting for H265.
H265ColorFormatHDR10 hdr10 = 22 [(google.api.field_behavior) = OPTIONAL];
}
}
// Convert the input video to a Standard Dynamic Range (SDR) video.
message Vp9ColorFormatSDR {}
// Convert the input video to a Hybrid Log Gamma (HLG) video.
message Vp9ColorFormatHLG {}
// VP9 codec settings.
message Vp9CodecSettings {
// The width of the video in pixels. Must be an even integer.
@ -1095,14 +1220,14 @@ message VideoStream {
int32 height_pixels = 2;
// 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.
// less than or equal to 120.
double frame_rate = 3 [(google.api.field_behavior) = REQUIRED];
// Optional. Frame rate conversion strategy for desired frame rate. The
// default is `DOWNSAMPLE`.
FrameRateConversionStrategy frame_rate_conversion_strategy = 13
[(google.api.field_behavior) = OPTIONAL];
// Required. The video bitrate in bits per second. The minimum value is
// 1,000. The maximum value is 480,000,000.
int32 bitrate_bps = 4 [(google.api.field_behavior) = REQUIRED];
@ -1122,7 +1247,7 @@ message VideoStream {
// - `yuv444p12` 12-bit HDR pixel format
string pixel_format = 5;
// Specify the `rate_control_mode`. The default is `vbr`.
// Specify the mode. The default is `vbr`.
//
// Supported rate control modes:
//
@ -1163,6 +1288,15 @@ message VideoStream {
// transcoder to override other fields you set in the `Vp9CodecSettings`
// message.
string profile = 10;
// Color format can be sdr or hlg.
oneof color_format {
// Optional. SDR color format setting for VP9.
Vp9ColorFormatSDR sdr = 11 [(google.api.field_behavior) = OPTIONAL];
// Optional. HLG color format setting for VP9.
Vp9ColorFormatHLG hlg = 12 [(google.api.field_behavior) = OPTIONAL];
}
}
// Codec settings can be h264, h265, or vp9.
@ -1180,13 +1314,19 @@ message VideoStream {
// Audio stream resource.
message AudioStream {
// The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.
// The mapping for the
// [JobConfig.edit_list][google.cloud.video.transcoder.v1.JobConfig.edit_list]
// atoms with audio
// [EditAtom.inputs][google.cloud.video.transcoder.v1.EditAtom.inputs].
message AudioMapping {
// Required. The `EditAtom.key` that references the atom with audio inputs
// in the `Job.edit_list`.
// Required. The
// [EditAtom.key][google.cloud.video.transcoder.v1.EditAtom.key] that
// references the atom with audio inputs in the
// [JobConfig.edit_list][google.cloud.video.transcoder.v1.JobConfig.edit_list].
string atom_key = 1 [(google.api.field_behavior) = REQUIRED];
// Required. The `Input.key` that identifies the input file.
// Required. The [Input.key][google.cloud.video.transcoder.v1.Input.key]
// that identifies the input file.
string input_key = 2 [(google.api.field_behavior) = REQUIRED];
// Required. The zero-based index of the track in the input file.
@ -1213,6 +1353,7 @@ message AudioStream {
// - `mp3`
// - `ac3`
// - `eac3`
// - `vorbis`
string codec = 1;
// Required. Audio bitrate in bits per second. Must be between 1 and
@ -1236,7 +1377,10 @@ message AudioStream {
// - `lfe` - Low frequency
repeated string channel_layout = 4;
// The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.
// The mapping for the
// [JobConfig.edit_list][google.cloud.video.transcoder.v1.JobConfig.edit_list]
// atoms with audio
// [EditAtom.inputs][google.cloud.video.transcoder.v1.EditAtom.inputs].
repeated AudioMapping mapping = 5;
// The audio sample rate in Hertz. The default is 48000 Hertz.
@ -1255,13 +1399,19 @@ message AudioStream {
// Encoding of a text stream. For example, closed captions or subtitles.
message TextStream {
// The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.
// The mapping for the
// [JobConfig.edit_list][google.cloud.video.transcoder.v1.JobConfig.edit_list]
// atoms with text
// [EditAtom.inputs][google.cloud.video.transcoder.v1.EditAtom.inputs].
message TextMapping {
// Required. The `EditAtom.key` that references atom with text inputs in the
// `Job.edit_list`.
// Required. The
// [EditAtom.key][google.cloud.video.transcoder.v1.EditAtom.key] that
// references atom with text inputs in the
// [JobConfig.edit_list][google.cloud.video.transcoder.v1.JobConfig.edit_list].
string atom_key = 1 [(google.api.field_behavior) = REQUIRED];
// Required. The `Input.key` that identifies the input file.
// Required. The [Input.key][google.cloud.video.transcoder.v1.Input.key]
// that identifies the input file.
string input_key = 2 [(google.api.field_behavior) = REQUIRED];
// Required. The zero-based index of the track in the input file.
@ -1285,7 +1435,10 @@ message TextStream {
// supported in MP4 files.
string language_code = 2;
// The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.
// The mapping for the
// [JobConfig.edit_list][google.cloud.video.transcoder.v1.JobConfig.edit_list]
// atoms with text
// [EditAtom.inputs][google.cloud.video.transcoder.v1.EditAtom.inputs].
repeated TextMapping mapping = 3;
// The name for this particular text stream that

View file

@ -1,6 +1,11 @@
{
"methodConfig": [{
"name": [{ "service": "google.cloud.video.transcoder.v1.TranscoderService" }],
"name": [
{ "service": "google.cloud.video.transcoder.v1.TranscoderService", "method": "ListJobs" },
{ "service": "google.cloud.video.transcoder.v1.TranscoderService", "method": "GetJob" },
{ "service": "google.cloud.video.transcoder.v1.TranscoderService", "method": "ListJobTemplates" },
{ "service": "google.cloud.video.transcoder.v1.TranscoderService", "method": "GetJobTemplate" }
],
"timeout": "60s",
"retryPolicy": {
"maxAttempts": 5,
@ -13,12 +18,8 @@
{
"name": [
{ "service": "google.cloud.video.transcoder.v1.TranscoderService", "method": "CreateJob" },
{ "service": "google.cloud.video.transcoder.v1.TranscoderService", "method": "ListJobs" },
{ "service": "google.cloud.video.transcoder.v1.TranscoderService", "method": "GetJob" },
{ "service": "google.cloud.video.transcoder.v1.TranscoderService", "method": "DeleteJob" },
{ "service": "google.cloud.video.transcoder.v1.TranscoderService", "method": "CreateJobTemplate" },
{ "service": "google.cloud.video.transcoder.v1.TranscoderService", "method": "ListJobTemplates" },
{ "service": "google.cloud.video.transcoder.v1.TranscoderService", "method": "GetJobTemplate" },
{ "service": "google.cloud.video.transcoder.v1.TranscoderService", "method": "DeleteJobTemplate" }
],
"timeout": "60s"

View file

@ -13,11 +13,6 @@ documentation:
href="https://cloud.google.com/transcoder/docs/concepts/overview">Transcoder
API overview</a>.
backend:
rules:
- selector: 'google.cloud.video.transcoder.v1.TranscoderService.*'
deadline: 30.0
authentication:
rules:
- selector: 'google.cloud.video.transcoder.v1.TranscoderService.*'