google-cloud-video-transcoder-v1beta1 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,966 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Video
23
+ module Transcoder
24
+ module V1beta1
25
+ # Transcoding job resource.
26
+ # @!attribute [rw] name
27
+ # @return [::String]
28
+ # The resource name of the job.
29
+ # Format: `projects/{project}/locations/{location}/jobs/{job}`
30
+ # @!attribute [rw] input_uri
31
+ # @return [::String]
32
+ # Input only. Specify the `input_uri` to populate empty `uri` fields in each element of
33
+ # `Job.config.inputs` or `JobTemplate.config.inputs` when using template.
34
+ # URI of the media. It must be stored in Cloud Storage. For example,
35
+ # `gs://bucket/inputs/file.mp4`.
36
+ # @!attribute [rw] output_uri
37
+ # @return [::String]
38
+ # Input only. Specify the `output_uri` to populate an empty `Job.config.output.uri` or
39
+ # `JobTemplate.config.output.uri` when using template.
40
+ # URI for the output file(s). For example, `gs://my-bucket/outputs/`.
41
+ # @!attribute [rw] template_id
42
+ # @return [::String]
43
+ # Input only. Specify the `template_id` to use for populating `Job.config`. The default
44
+ # is `preset/web-hd`.
45
+ #
46
+ # Preset Transcoder templates:
47
+ # - `preset/{preset_id}`
48
+ #
49
+ # - User defined JobTemplate:
50
+ # `{job_template_id}`
51
+ # @!attribute [rw] config
52
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::JobConfig]
53
+ # The configuration for this job.
54
+ # @!attribute [rw] priority
55
+ # @return [::Integer]
56
+ # Specify the priority of the job. Enter a value between 0 and 100, where 0
57
+ # is the lowest priority and 100 is the highest priority. The default is 0.
58
+ # @!attribute [r] origin_uri
59
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::Job::OriginUri]
60
+ # Output only. The origin URI.
61
+ # @!attribute [r] state
62
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::Job::ProcessingState]
63
+ # Output only. The current state of the job.
64
+ # @!attribute [r] progress
65
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::Progress]
66
+ # Output only. Estimated fractional progress, from `0` to `1` for each
67
+ # step.
68
+ # @!attribute [r] failure_reason
69
+ # @return [::String]
70
+ # Output only. A description of the reason for the failure. This property is
71
+ # always present when `state` is `FAILED`.
72
+ # @!attribute [r] failure_details
73
+ # @return [::Array<::Google::Cloud::Video::Transcoder::V1beta1::FailureDetail>]
74
+ # Output only. List of failure details. This property may contain additional
75
+ # information about the failure when `failure_reason` is present.
76
+ # @!attribute [r] create_time
77
+ # @return [::Google::Protobuf::Timestamp]
78
+ # Output only. The time the job was created.
79
+ # @!attribute [r] start_time
80
+ # @return [::Google::Protobuf::Timestamp]
81
+ # Output only. The time the transcoding started.
82
+ # @!attribute [r] end_time
83
+ # @return [::Google::Protobuf::Timestamp]
84
+ # Output only. The time the transcoding finished.
85
+ class Job
86
+ include ::Google::Protobuf::MessageExts
87
+ extend ::Google::Protobuf::MessageExts::ClassMethods
88
+
89
+ # The origin URI.
90
+ # @!attribute [rw] hls
91
+ # @return [::String]
92
+ # HLS master manifest URI. If multiple HLS master manifests are created
93
+ # only first one is listed.
94
+ # @!attribute [rw] dash
95
+ # @return [::String]
96
+ # Dash manifest URI. If multiple Dash manifests are created, only the first
97
+ # one is listed.
98
+ class OriginUri
99
+ include ::Google::Protobuf::MessageExts
100
+ extend ::Google::Protobuf::MessageExts::ClassMethods
101
+ end
102
+
103
+ # The current state of the job.
104
+ module ProcessingState
105
+ # The processing state is not specified.
106
+ PROCESSING_STATE_UNSPECIFIED = 0
107
+
108
+ # The job is enqueued and will be picked up for processing soon.
109
+ PENDING = 1
110
+
111
+ # The job is being processed.
112
+ RUNNING = 2
113
+
114
+ # The job has been completed successfully.
115
+ SUCCEEDED = 3
116
+
117
+ # The job has failed. For additional information, see `failure_reason` and
118
+ # `failure_details`
119
+ FAILED = 4
120
+ end
121
+ end
122
+
123
+ # Transcoding job template resource.
124
+ # @!attribute [rw] name
125
+ # @return [::String]
126
+ # The resource name of the job template.
127
+ # Format:
128
+ # `projects/{project}/locations/{location}/jobTemplates/{job_template}`
129
+ # @!attribute [rw] config
130
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::JobConfig]
131
+ # The configuration for this template.
132
+ class JobTemplate
133
+ include ::Google::Protobuf::MessageExts
134
+ extend ::Google::Protobuf::MessageExts::ClassMethods
135
+ end
136
+
137
+ # Job configuration
138
+ # @!attribute [rw] inputs
139
+ # @return [::Array<::Google::Cloud::Video::Transcoder::V1beta1::Input>]
140
+ # List of input assets stored in Cloud Storage.
141
+ # @!attribute [rw] edit_list
142
+ # @return [::Array<::Google::Cloud::Video::Transcoder::V1beta1::EditAtom>]
143
+ # List of `Edit atom`s. Defines the ultimate timeline of the resulting
144
+ # file or manifest.
145
+ # @!attribute [rw] elementary_streams
146
+ # @return [::Array<::Google::Cloud::Video::Transcoder::V1beta1::ElementaryStream>]
147
+ # List of elementary streams.
148
+ # @!attribute [rw] mux_streams
149
+ # @return [::Array<::Google::Cloud::Video::Transcoder::V1beta1::MuxStream>]
150
+ # List of multiplexing settings for output streams.
151
+ # @!attribute [rw] manifests
152
+ # @return [::Array<::Google::Cloud::Video::Transcoder::V1beta1::Manifest>]
153
+ # List of output manifests.
154
+ # @!attribute [rw] output
155
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::Output]
156
+ # Output configuration.
157
+ # @!attribute [rw] ad_breaks
158
+ # @return [::Array<::Google::Cloud::Video::Transcoder::V1beta1::AdBreak>]
159
+ # List of ad breaks. Specifies where to insert ad break tags in the output
160
+ # manifests.
161
+ # @!attribute [rw] pubsub_destination
162
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::PubsubDestination]
163
+ # Destination on Pub/Sub.
164
+ # @!attribute [rw] sprite_sheets
165
+ # @return [::Array<::Google::Cloud::Video::Transcoder::V1beta1::SpriteSheet>]
166
+ # List of output sprite sheets.
167
+ # @!attribute [rw] overlays
168
+ # @return [::Array<::Google::Cloud::Video::Transcoder::V1beta1::Overlay>]
169
+ # List of overlays on the output video, in descending Z-order.
170
+ class JobConfig
171
+ include ::Google::Protobuf::MessageExts
172
+ extend ::Google::Protobuf::MessageExts::ClassMethods
173
+ end
174
+
175
+ # Input asset.
176
+ # @!attribute [rw] key
177
+ # @return [::String]
178
+ # A unique key for this input. Must be specified when using advanced
179
+ # mapping and edit lists.
180
+ # @!attribute [rw] uri
181
+ # @return [::String]
182
+ # URI of the media. It must be stored in Cloud Storage. Example
183
+ # `gs://bucket/inputs/file.mp4`.
184
+ # If empty the value will be populated from `Job.input_uri`.
185
+ # @!attribute [rw] preprocessing_config
186
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::PreprocessingConfig]
187
+ # Preprocessing configurations.
188
+ class Input
189
+ include ::Google::Protobuf::MessageExts
190
+ extend ::Google::Protobuf::MessageExts::ClassMethods
191
+ end
192
+
193
+ # Location of output file(s) in a Cloud Storage bucket.
194
+ # @!attribute [rw] uri
195
+ # @return [::String]
196
+ # URI for the output file(s). For example, `gs://my-bucket/outputs/`.
197
+ # If empty the value is populated from `Job.output_uri`.
198
+ class Output
199
+ include ::Google::Protobuf::MessageExts
200
+ extend ::Google::Protobuf::MessageExts::ClassMethods
201
+ end
202
+
203
+ # Edit atom.
204
+ # @!attribute [rw] key
205
+ # @return [::String]
206
+ # A unique key for this atom. Must be specified when using advanced
207
+ # mapping.
208
+ # @!attribute [rw] inputs
209
+ # @return [::Array<::String>]
210
+ # List of `Input.key`s identifying files that should be used in this atom.
211
+ # The listed `inputs` must have the same timeline.
212
+ # @!attribute [rw] end_time_offset
213
+ # @return [::Google::Protobuf::Duration]
214
+ # End time in seconds for the atom, relative to the input file timeline.
215
+ # When `end_time_offset` is not specified, the `inputs` are used until
216
+ # the end of the atom.
217
+ # @!attribute [rw] start_time_offset
218
+ # @return [::Google::Protobuf::Duration]
219
+ # Start time in seconds for the atom, relative to the input file timeline.
220
+ # The default is `0s`.
221
+ class EditAtom
222
+ include ::Google::Protobuf::MessageExts
223
+ extend ::Google::Protobuf::MessageExts::ClassMethods
224
+ end
225
+
226
+ # Ad break.
227
+ # @!attribute [rw] start_time_offset
228
+ # @return [::Google::Protobuf::Duration]
229
+ # Start time in seconds for the ad break, relative to the output file
230
+ # timeline. The default is `0s`.
231
+ class AdBreak
232
+ include ::Google::Protobuf::MessageExts
233
+ extend ::Google::Protobuf::MessageExts::ClassMethods
234
+ end
235
+
236
+ # Encoding of an input file such as an audio, video, or text track.
237
+ # Elementary streams must be packaged before
238
+ # mapping and sharing between different output formats.
239
+ # @!attribute [rw] key
240
+ # @return [::String]
241
+ # A unique key for this elementary stream.
242
+ # @!attribute [rw] video_stream
243
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::VideoStream]
244
+ # Encoding of a video stream.
245
+ # @!attribute [rw] audio_stream
246
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::AudioStream]
247
+ # Encoding of an audio stream.
248
+ # @!attribute [rw] text_stream
249
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::TextStream]
250
+ # Encoding of a text stream. For example, closed captions or subtitles.
251
+ class ElementaryStream
252
+ include ::Google::Protobuf::MessageExts
253
+ extend ::Google::Protobuf::MessageExts::ClassMethods
254
+ end
255
+
256
+ # Multiplexing settings for output stream.
257
+ # @!attribute [rw] key
258
+ # @return [::String]
259
+ # A unique key for this multiplexed stream. HLS media manifests will be
260
+ # named `MuxStream.key` with the `".m3u8"` extension suffix.
261
+ # @!attribute [rw] file_name
262
+ # @return [::String]
263
+ # The name of the generated file. The default is `MuxStream.key` with the
264
+ # extension suffix corresponding to the `MuxStream.container`.
265
+ #
266
+ # Individual segments also have an incremental 10-digit zero-padded suffix
267
+ # starting from 0 before the extension, such as `"mux_stream0000000123.ts"`.
268
+ # @!attribute [rw] container
269
+ # @return [::String]
270
+ # The container format. The default is `"mp4"`
271
+ #
272
+ # Supported container formats:
273
+ # - 'ts'
274
+ # - 'fmp4'- the corresponding file extension is `".m4s"`
275
+ # - 'mp4'
276
+ # - 'vtt'
277
+ # @!attribute [rw] elementary_streams
278
+ # @return [::Array<::String>]
279
+ # List of `ElementaryStream.key`s multiplexed in this stream.
280
+ # @!attribute [rw] segment_settings
281
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::SegmentSettings]
282
+ # Segment settings for `"ts"`, `"fmp4"` and `"vtt"`.
283
+ # @!attribute [rw] encryption
284
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::Encryption]
285
+ # Encryption settings.
286
+ class MuxStream
287
+ include ::Google::Protobuf::MessageExts
288
+ extend ::Google::Protobuf::MessageExts::ClassMethods
289
+ end
290
+
291
+ # Manifest configuration.
292
+ # @!attribute [rw] file_name
293
+ # @return [::String]
294
+ # The name of the generated file. The default is `"manifest"` with the
295
+ # extension suffix corresponding to the `Manifest.type`.
296
+ # @!attribute [rw] type
297
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::Manifest::ManifestType]
298
+ # Required. Type of the manifest, can be "HLS" or "DASH".
299
+ # @!attribute [rw] mux_streams
300
+ # @return [::Array<::String>]
301
+ # Required. List of user given `MuxStream.key`s that should appear in this manifest.
302
+ #
303
+ # When `Manifest.type` is `HLS`, a media manifest with name `MuxStream.key`
304
+ # and `.m3u8` extension is generated for each element of the
305
+ # `Manifest.mux_streams`.
306
+ class Manifest
307
+ include ::Google::Protobuf::MessageExts
308
+ extend ::Google::Protobuf::MessageExts::ClassMethods
309
+
310
+ # The manifest type can be either `"HLS"` or `"DASH"`.
311
+ module ManifestType
312
+ # The manifest type is not specified.
313
+ MANIFEST_TYPE_UNSPECIFIED = 0
314
+
315
+ # Create `"HLS"` manifest. The corresponding file extension is `".m3u8"`.
316
+ HLS = 1
317
+
318
+ # Create `"DASH"` manifest. The corresponding file extension is `".mpd"`.
319
+ DASH = 2
320
+ end
321
+ end
322
+
323
+ # A Pub/Sub destination.
324
+ # @!attribute [rw] topic
325
+ # @return [::String]
326
+ # The name of the Pub/Sub topic to publish job completion notification
327
+ # to. For example: `projects/{project}/topics/{topic}`.
328
+ class PubsubDestination
329
+ include ::Google::Protobuf::MessageExts
330
+ extend ::Google::Protobuf::MessageExts::ClassMethods
331
+ end
332
+
333
+ # Sprite sheet configuration.
334
+ # @!attribute [rw] format
335
+ # @return [::String]
336
+ # Format type. The default is `"jpeg"`.
337
+ #
338
+ # Supported formats:
339
+ # - 'jpeg'
340
+ # @!attribute [rw] file_prefix
341
+ # @return [::String]
342
+ # Required. File name prefix for the generated sprite sheets.
343
+ #
344
+ # Each sprite sheet has an incremental 10-digit zero-padded suffix starting
345
+ # from 0 before the extension, such as `"sprite_sheet0000000123.jpeg"`.
346
+ # @!attribute [rw] sprite_width_pixels
347
+ # @return [::Integer]
348
+ # Required. The width of sprite in pixels. Must be an even integer.
349
+ # @!attribute [rw] sprite_height_pixels
350
+ # @return [::Integer]
351
+ # Required. The height of sprite in pixels. Must be an even integer.
352
+ # @!attribute [rw] column_count
353
+ # @return [::Integer]
354
+ # The maximum number of sprites per row in a sprite sheet. The default is 0,
355
+ # which indicates no maximum limit.
356
+ # @!attribute [rw] row_count
357
+ # @return [::Integer]
358
+ # The maximum number of rows per sprite sheet. When the sprite sheet is full,
359
+ # a new sprite sheet is created. The default is 0, which indicates no maximum
360
+ # limit.
361
+ # @!attribute [rw] start_time_offset
362
+ # @return [::Google::Protobuf::Duration]
363
+ # Start time in seconds, relative to the output file timeline. Determines the
364
+ # first sprite to pick. The default is `0s`.
365
+ # @!attribute [rw] end_time_offset
366
+ # @return [::Google::Protobuf::Duration]
367
+ # End time in seconds, relative to the output file timeline. When
368
+ # `end_time_offset` is not specified, the sprites are generated until the end
369
+ # of the output file.
370
+ # @!attribute [rw] total_count
371
+ # @return [::Integer]
372
+ # Total number of sprites. Create the specified number of sprites
373
+ # distributed evenly across the timeline of the output media. The default
374
+ # is 100.
375
+ # @!attribute [rw] interval
376
+ # @return [::Google::Protobuf::Duration]
377
+ # Starting from `0s`, create sprites at regular intervals. Specify the
378
+ # interval value in seconds.
379
+ class SpriteSheet
380
+ include ::Google::Protobuf::MessageExts
381
+ extend ::Google::Protobuf::MessageExts::ClassMethods
382
+ end
383
+
384
+ # Overlay configuration.
385
+ # @!attribute [rw] image
386
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::Overlay::Image]
387
+ # Image overlay.
388
+ # @!attribute [rw] animations
389
+ # @return [::Array<::Google::Cloud::Video::Transcoder::V1beta1::Overlay::Animation>]
390
+ # List of Animations. The list should be chronological, without any time
391
+ # overlap.
392
+ class Overlay
393
+ include ::Google::Protobuf::MessageExts
394
+ extend ::Google::Protobuf::MessageExts::ClassMethods
395
+
396
+ # 2D normalized coordinates. Default: `{0.0, 0.0}`
397
+ # @!attribute [rw] x
398
+ # @return [::Float]
399
+ # Normalized x coordinate.
400
+ # @!attribute [rw] y
401
+ # @return [::Float]
402
+ # Normalized y coordinate.
403
+ class NormalizedCoordinate
404
+ include ::Google::Protobuf::MessageExts
405
+ extend ::Google::Protobuf::MessageExts::ClassMethods
406
+ end
407
+
408
+ # Overlaid jpeg image.
409
+ # @!attribute [rw] uri
410
+ # @return [::String]
411
+ # Required. URI of the image in Cloud Storage. For example,
412
+ # `gs://bucket/inputs/image.jpeg`.
413
+ # @!attribute [rw] resolution
414
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::Overlay::NormalizedCoordinate]
415
+ # Normalized image resolution, based on output video resolution. Valid
416
+ # values: `0.0`–`1.0`. To respect the original image aspect ratio, set
417
+ # either `x` or `y` to `0.0`. To use the original image resolution, set
418
+ # both `x` and `y` to `0.0`.
419
+ # @!attribute [rw] alpha
420
+ # @return [::Float]
421
+ # Target image opacity. Valid values: `1` (solid, default),
422
+ # `0` (transparent).
423
+ class Image
424
+ include ::Google::Protobuf::MessageExts
425
+ extend ::Google::Protobuf::MessageExts::ClassMethods
426
+ end
427
+
428
+ # Display static overlay object.
429
+ # @!attribute [rw] xy
430
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::Overlay::NormalizedCoordinate]
431
+ # Normalized coordinates based on output video resolution. Valid
432
+ # values: `0.0`–`1.0`. `xy` is the upper-left coordinate of the overlay
433
+ # object.
434
+ # @!attribute [rw] start_time_offset
435
+ # @return [::Google::Protobuf::Duration]
436
+ # The time to start displaying the overlay object, in seconds. Default: 0
437
+ class AnimationStatic
438
+ include ::Google::Protobuf::MessageExts
439
+ extend ::Google::Protobuf::MessageExts::ClassMethods
440
+ end
441
+
442
+ # Display overlay object with fade animation.
443
+ # @!attribute [rw] fade_type
444
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::Overlay::FadeType]
445
+ # Required. Type of fade animation: `FADE_IN` or `FADE_OUT`.
446
+ # @!attribute [rw] xy
447
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::Overlay::NormalizedCoordinate]
448
+ # Normalized coordinates based on output video resolution. Valid
449
+ # values: `0.0`–`1.0`. `xy` is the upper-left coordinate of the overlay
450
+ # object.
451
+ # @!attribute [rw] start_time_offset
452
+ # @return [::Google::Protobuf::Duration]
453
+ # The time to start the fade animation, in seconds. Default: 0
454
+ # @!attribute [rw] end_time_offset
455
+ # @return [::Google::Protobuf::Duration]
456
+ # The time to end the fade animation, in seconds. Default:
457
+ # `start_time_offset` + 1s
458
+ class AnimationFade
459
+ include ::Google::Protobuf::MessageExts
460
+ extend ::Google::Protobuf::MessageExts::ClassMethods
461
+ end
462
+
463
+ # End previous overlay animation from the video. Without AnimationEnd, the
464
+ # overlay object will keep the state of previous animation until the end of
465
+ # the video.
466
+ # @!attribute [rw] start_time_offset
467
+ # @return [::Google::Protobuf::Duration]
468
+ # The time to end overlay object, in seconds. Default: 0
469
+ class AnimationEnd
470
+ include ::Google::Protobuf::MessageExts
471
+ extend ::Google::Protobuf::MessageExts::ClassMethods
472
+ end
473
+
474
+ # Animation types.
475
+ # @!attribute [rw] animation_static
476
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::Overlay::AnimationStatic]
477
+ # Display static overlay object.
478
+ # @!attribute [rw] animation_fade
479
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::Overlay::AnimationFade]
480
+ # Display overlay object with fade animation.
481
+ # @!attribute [rw] animation_end
482
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::Overlay::AnimationEnd]
483
+ # End previous animation.
484
+ class Animation
485
+ include ::Google::Protobuf::MessageExts
486
+ extend ::Google::Protobuf::MessageExts::ClassMethods
487
+ end
488
+
489
+ # Fade type for the overlay: `FADE_IN` or `FADE_OUT`.
490
+ module FadeType
491
+ # The fade type is not specified.
492
+ FADE_TYPE_UNSPECIFIED = 0
493
+
494
+ # Fade the overlay object into view.
495
+ FADE_IN = 1
496
+
497
+ # Fade the overlay object out of view.
498
+ FADE_OUT = 2
499
+ end
500
+ end
501
+
502
+ # Preprocessing configurations.
503
+ # @!attribute [rw] color
504
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::PreprocessingConfig::Color]
505
+ # Color preprocessing configuration.
506
+ # @!attribute [rw] denoise
507
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::PreprocessingConfig::Denoise]
508
+ # Denoise preprocessing configuration.
509
+ # @!attribute [rw] deblock
510
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::PreprocessingConfig::Deblock]
511
+ # Deblock preprocessing configuration.
512
+ # @!attribute [rw] audio
513
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::PreprocessingConfig::Audio]
514
+ # Audio preprocessing configuration.
515
+ class PreprocessingConfig
516
+ include ::Google::Protobuf::MessageExts
517
+ extend ::Google::Protobuf::MessageExts::ClassMethods
518
+
519
+ # Color preprocessing configuration.
520
+ # @!attribute [rw] saturation
521
+ # @return [::Float]
522
+ # Control color saturation of the video. Enter a value between -1 and 1,
523
+ # where -1 is fully desaturated and 1 is maximum saturation. 0 is no
524
+ # change. The default is 0.
525
+ # @!attribute [rw] contrast
526
+ # @return [::Float]
527
+ # Control black and white contrast of the video. Enter a value between -1
528
+ # and 1, where -1 is minimum contrast and 1 is maximum contrast. 0 is no
529
+ # change. The default is 0.
530
+ # @!attribute [rw] brightness
531
+ # @return [::Float]
532
+ # Control brightness of the video. Enter a value between -1 and 1, where -1
533
+ # is minimum brightness and 1 is maximum brightness. 0 is no change. The
534
+ # default is 0.
535
+ class Color
536
+ include ::Google::Protobuf::MessageExts
537
+ extend ::Google::Protobuf::MessageExts::ClassMethods
538
+ end
539
+
540
+ # Denoise preprocessing configuration.
541
+ # @!attribute [rw] strength
542
+ # @return [::Float]
543
+ # Set strength of the denoise. Enter a value between 0 and 1. The higher
544
+ # the value, the smoother the image. 0 is no denoising. The default is 0.
545
+ # @!attribute [rw] tune
546
+ # @return [::String]
547
+ # Set the denoiser mode. The default is `"standard"`.
548
+ #
549
+ # Supported denoiser modes:
550
+ # - 'standard'
551
+ # - 'grain'
552
+ class Denoise
553
+ include ::Google::Protobuf::MessageExts
554
+ extend ::Google::Protobuf::MessageExts::ClassMethods
555
+ end
556
+
557
+ # Deblock preprocessing configuration.
558
+ # @!attribute [rw] strength
559
+ # @return [::Float]
560
+ # Set strength of the deblocker. Enter a value between 0 and 1. The higher
561
+ # the value, the stronger the block removal. 0 is no deblocking. The
562
+ # default is 0.
563
+ # @!attribute [rw] enabled
564
+ # @return [::Boolean]
565
+ # Enable deblocker. The default is `false`.
566
+ class Deblock
567
+ include ::Google::Protobuf::MessageExts
568
+ extend ::Google::Protobuf::MessageExts::ClassMethods
569
+ end
570
+
571
+ # Audio preprocessing configuration.
572
+ # @!attribute [rw] lufs
573
+ # @return [::Float]
574
+ # Specify audio loudness normalization in loudness units relative to full
575
+ # scale (LUFS). Enter a value between -24 and 0, where -24 is the Advanced
576
+ # Television Systems Committee (ATSC A/85), -23 is the EU R128 broadcast
577
+ # standard, -19 is the prior standard for online mono audio, -18 is the
578
+ # ReplayGain standard, -16 is the prior standard for stereo audio, -14 is
579
+ # the new online audio standard recommended by Spotify, as well as Amazon
580
+ # Echo, and 0 disables normalization. The default is 0.
581
+ # @!attribute [rw] high_boost
582
+ # @return [::Boolean]
583
+ # Enable boosting high frequency components. The default is `false`.
584
+ # @!attribute [rw] low_boost
585
+ # @return [::Boolean]
586
+ # Enable boosting low frequency components. The default is `false`.
587
+ class Audio
588
+ include ::Google::Protobuf::MessageExts
589
+ extend ::Google::Protobuf::MessageExts::ClassMethods
590
+ end
591
+ end
592
+
593
+ # Video stream resource.
594
+ # @!attribute [rw] codec
595
+ # @return [::String]
596
+ # Codec type. The default is `"h264"`.
597
+ #
598
+ # Supported codecs:
599
+ # - 'h264'
600
+ # - 'h265'
601
+ # - 'vp9'
602
+ # @!attribute [rw] profile
603
+ # @return [::String]
604
+ # Enforce specified codec profile. The default is `"high"`.
605
+ #
606
+ # Supported codec profiles:
607
+ # - 'baseline'
608
+ # - 'main'
609
+ # - 'high'
610
+ # @!attribute [rw] tune
611
+ # @return [::String]
612
+ # Enforce specified codec tune.
613
+ # @!attribute [rw] preset
614
+ # @return [::String]
615
+ # Enforce specified codec preset. The default is `"veryfast"`.
616
+ # @!attribute [rw] height_pixels
617
+ # @return [::Integer]
618
+ # The height of the video in pixels. Must be an even integer.
619
+ # When not specified, the height is adjusted to match the specified width and
620
+ # input aspect ratio. If both are omitted, the input height is used.
621
+ # @!attribute [rw] width_pixels
622
+ # @return [::Integer]
623
+ # The width of the video in pixels. Must be an even integer.
624
+ # When not specified, the width is adjusted to match the specified height and
625
+ # input aspect ratio. If both are omitted, the input width is used.
626
+ # @!attribute [rw] pixel_format
627
+ # @return [::String]
628
+ # Pixel format to use. The default is `"yuv420p"`.
629
+ #
630
+ # Supported pixel formats:
631
+ # - 'yuv420p' pixel format.
632
+ # - 'yuv422p' pixel format.
633
+ # - 'yuv444p' pixel format.
634
+ # - 'yuv420p10' 10-bit HDR pixel format.
635
+ # - 'yuv422p10' 10-bit HDR pixel format.
636
+ # - 'yuv444p10' 10-bit HDR pixel format.
637
+ # - 'yuv420p12' 12-bit HDR pixel format.
638
+ # - 'yuv422p12' 12-bit HDR pixel format.
639
+ # - 'yuv444p12' 12-bit HDR pixel format.
640
+ # @!attribute [rw] bitrate_bps
641
+ # @return [::Integer]
642
+ # Required. The video bitrate in bits per second. Must be between 1 and 1,000,000,000.
643
+ # @!attribute [rw] rate_control_mode
644
+ # @return [::String]
645
+ # Specify the `rate_control_mode`. The default is `"vbr"`.
646
+ #
647
+ # Supported rate control modes:
648
+ # - 'vbr' - variable bitrate
649
+ # - 'crf' - constant rate factor
650
+ # @!attribute [rw] enable_two_pass
651
+ # @return [::Boolean]
652
+ # Use two-pass encoding strategy to achieve better video quality.
653
+ # `VideoStream.rate_control_mode` must be `"vbr"`. The default is `false`.
654
+ # @!attribute [rw] crf_level
655
+ # @return [::Integer]
656
+ # Target CRF level. Must be between 10 and 36, where 10 is the highest
657
+ # quality and 36 is the most efficient compression. The default is 21.
658
+ # @!attribute [rw] vbv_size_bits
659
+ # @return [::Integer]
660
+ # Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater
661
+ # than zero. The default is equal to `VideoStream.bitrate_bps`.
662
+ # @!attribute [rw] vbv_fullness_bits
663
+ # @return [::Integer]
664
+ # Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must
665
+ # be greater than zero. The default is equal to 90% of
666
+ # `VideoStream.vbv_size_bits`.
667
+ # @!attribute [rw] allow_open_gop
668
+ # @return [::Boolean]
669
+ # Specifies whether an open Group of Pictures (GOP) structure should be
670
+ # allowed or not. The default is `false`.
671
+ # @!attribute [rw] gop_frame_count
672
+ # @return [::Integer]
673
+ # Select the GOP size based on the specified frame count. Must be greater
674
+ # than zero.
675
+ # @!attribute [rw] gop_duration
676
+ # @return [::Google::Protobuf::Duration]
677
+ # Select the GOP size based on the specified duration. The default is
678
+ # `"3s"`.
679
+ # @!attribute [rw] entropy_coder
680
+ # @return [::String]
681
+ # The entropy coder to use. The default is `"cabac"`.
682
+ #
683
+ # Supported entropy coders:
684
+ # - 'cavlc'
685
+ # - 'cabac'
686
+ # @!attribute [rw] b_pyramid
687
+ # @return [::Boolean]
688
+ # Allow B-pyramid for reference frame selection. This may not be supported
689
+ # on all decoders. The default is `false`.
690
+ # @!attribute [rw] b_frame_count
691
+ # @return [::Integer]
692
+ # The number of consecutive B-frames. Must be greater than or equal to zero.
693
+ # Must be less than `VideoStream.gop_frame_count` if set. The default is 0.
694
+ # @!attribute [rw] frame_rate
695
+ # @return [::Float]
696
+ # Required. The target video frame rate in frames per second (FPS). Must be less than
697
+ # or equal to 120. Will default to the input frame rate if larger than the
698
+ # input frame rate. The API will generate an output FPS that is divisible by
699
+ # the input FPS, and smaller or equal to the target FPS.
700
+ #
701
+ # The following table shows the computed video FPS given the target FPS (in
702
+ # parenthesis) and input FPS (in the first column):
703
+ # ```
704
+ # | | (30) | (60) | (25) | (50) |
705
+ # |--------|--------|--------|------|------|
706
+ # | 240 | Fail | Fail | Fail | Fail |
707
+ # | 120 | 30 | 60 | 20 | 30 |
708
+ # | 100 | 25 | 50 | 20 | 30 |
709
+ # | 50 | 25 | 50 | 20 | 30 |
710
+ # | 60 | 30 | 60 | 20 | 30 |
711
+ # | 59.94 | 29.97 | 59.94 | 20 | 30 |
712
+ # | 48 | 24 | 48 | 20 | 30 |
713
+ # | 30 | 30 | 30 | 20 | 30 |
714
+ # | 25 | 25 | 25 | 20 | 30 |
715
+ # | 24 | 24 | 24 | 20 | 30 |
716
+ # | 23.976 | 23.976 | 23.976 | 20 | 30 |
717
+ # | 15 | 15 | 15 | 20 | 30 |
718
+ # | 12 | 12 | 12 | 20 | 30 |
719
+ # | 10 | 10 | 10 | 20 | 30 |
720
+ # ```
721
+ # @!attribute [rw] aq_strength
722
+ # @return [::Float]
723
+ # Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and
724
+ # 1, where 0 disables the quantizer and 1 maximizes the quantizer. A
725
+ # higher value equals a lower bitrate but smoother image. The default is 0.
726
+ class VideoStream
727
+ include ::Google::Protobuf::MessageExts
728
+ extend ::Google::Protobuf::MessageExts::ClassMethods
729
+ end
730
+
731
+ # Audio stream resource.
732
+ # @!attribute [rw] codec
733
+ # @return [::String]
734
+ # The codec for this audio stream. The default is `"aac"`.
735
+ #
736
+ # Supported audio codecs:
737
+ # - 'aac'
738
+ # - 'aac-he'
739
+ # - 'aac-he-v2'
740
+ # - 'mp3'
741
+ # - 'ac3'
742
+ # - 'eac3'
743
+ # @!attribute [rw] bitrate_bps
744
+ # @return [::Integer]
745
+ # Required. Audio bitrate in bits per second. Must be between 1 and 10,000,000.
746
+ # @!attribute [rw] channel_count
747
+ # @return [::Integer]
748
+ # Number of audio channels. Must be between 1 and 6. The default is 2.
749
+ # @!attribute [rw] channel_layout
750
+ # @return [::Array<::String>]
751
+ # A list of channel names specifying layout of the audio channels.
752
+ # This only affects the metadata embedded in the container headers, if
753
+ # supported by the specified format. The default is `["fl", "fr"]`.
754
+ #
755
+ # Supported channel names:
756
+ # - 'fl' - Front left channel
757
+ # - 'fr' - Front right channel
758
+ # - 'sl' - Side left channel
759
+ # - 'sr' - Side right channel
760
+ # - 'fc' - Front center channel
761
+ # - 'lfe' - Low frequency
762
+ # @!attribute [rw] mapping
763
+ # @return [::Array<::Google::Cloud::Video::Transcoder::V1beta1::AudioStream::AudioAtom>]
764
+ # The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.
765
+ # @!attribute [rw] sample_rate_hertz
766
+ # @return [::Integer]
767
+ # The audio sample rate in Hertz. The default is 48000 Hertz.
768
+ class AudioStream
769
+ include ::Google::Protobuf::MessageExts
770
+ extend ::Google::Protobuf::MessageExts::ClassMethods
771
+
772
+ # The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.
773
+ # @!attribute [rw] key
774
+ # @return [::String]
775
+ # Required. The `EditAtom.key` that references the atom with audio inputs in the
776
+ # `Job.edit_list`.
777
+ # @!attribute [rw] channels
778
+ # @return [::Array<::Google::Cloud::Video::Transcoder::V1beta1::AudioStream::AudioAtom::AudioChannel>]
779
+ # List of `Channel`s for this audio stream.
780
+ # for in-depth explanation.
781
+ class AudioAtom
782
+ include ::Google::Protobuf::MessageExts
783
+ extend ::Google::Protobuf::MessageExts::ClassMethods
784
+
785
+ # The audio channel.
786
+ # @!attribute [rw] inputs
787
+ # @return [::Array<::Google::Cloud::Video::Transcoder::V1beta1::AudioStream::AudioAtom::AudioChannel::AudioChannelInput>]
788
+ # List of `Job.inputs` for this audio channel.
789
+ class AudioChannel
790
+ include ::Google::Protobuf::MessageExts
791
+ extend ::Google::Protobuf::MessageExts::ClassMethods
792
+
793
+ # Identifies which input file, track, and channel should be used.
794
+ # @!attribute [rw] key
795
+ # @return [::String]
796
+ # Required. The `Input.key` that identifies the input file.
797
+ # @!attribute [rw] track
798
+ # @return [::Integer]
799
+ # Required. The zero-based index of the track in the input file.
800
+ # @!attribute [rw] channel
801
+ # @return [::Integer]
802
+ # Required. The zero-based index of the channel in the input file.
803
+ # @!attribute [rw] gain_db
804
+ # @return [::Float]
805
+ # Audio volume control in dB. Negative values decrease volume,
806
+ # positive values increase. The default is 0.
807
+ class AudioChannelInput
808
+ include ::Google::Protobuf::MessageExts
809
+ extend ::Google::Protobuf::MessageExts::ClassMethods
810
+ end
811
+ end
812
+ end
813
+ end
814
+
815
+ # Encoding of a text stream. For example, closed captions or subtitles.
816
+ # @!attribute [rw] codec
817
+ # @return [::String]
818
+ # The codec for this text stream. The default is `"webvtt"`.
819
+ #
820
+ # Supported text codecs:
821
+ # - 'srt'
822
+ # - 'ttml'
823
+ # - 'cea608'
824
+ # - 'cea708'
825
+ # - 'webvtt'
826
+ # @!attribute [rw] language_code
827
+ # @return [::String]
828
+ # Required. The BCP-47 language code, such as `"en-US"` or `"sr-Latn"`. For more
829
+ # information, see
830
+ # https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
831
+ # @!attribute [rw] mapping
832
+ # @return [::Array<::Google::Cloud::Video::Transcoder::V1beta1::TextStream::TextAtom>]
833
+ # The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.
834
+ class TextStream
835
+ include ::Google::Protobuf::MessageExts
836
+ extend ::Google::Protobuf::MessageExts::ClassMethods
837
+
838
+ # The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.
839
+ # @!attribute [rw] key
840
+ # @return [::String]
841
+ # Required. The `EditAtom.key` that references atom with text inputs in the
842
+ # `Job.edit_list`.
843
+ # @!attribute [rw] inputs
844
+ # @return [::Array<::Google::Cloud::Video::Transcoder::V1beta1::TextStream::TextAtom::TextInput>]
845
+ # List of `Job.inputs` that should be embedded in this atom. Only one
846
+ # input is supported.
847
+ class TextAtom
848
+ include ::Google::Protobuf::MessageExts
849
+ extend ::Google::Protobuf::MessageExts::ClassMethods
850
+
851
+ # Identifies which input file and track should be used.
852
+ # @!attribute [rw] key
853
+ # @return [::String]
854
+ # Required. The `Input.key` that identifies the input file.
855
+ # @!attribute [rw] track
856
+ # @return [::Integer]
857
+ # Required. The zero-based index of the track in the input file.
858
+ class TextInput
859
+ include ::Google::Protobuf::MessageExts
860
+ extend ::Google::Protobuf::MessageExts::ClassMethods
861
+ end
862
+ end
863
+ end
864
+
865
+ # Segment settings for `"ts"`, `"fmp4"` and `"vtt"`.
866
+ # @!attribute [rw] segment_duration
867
+ # @return [::Google::Protobuf::Duration]
868
+ # Duration of the segments in seconds. The default is `"6.0s"`.
869
+ # @!attribute [rw] individual_segments
870
+ # @return [::Boolean]
871
+ # Required. Create an individual segment file. The default is `false`.
872
+ class SegmentSettings
873
+ include ::Google::Protobuf::MessageExts
874
+ extend ::Google::Protobuf::MessageExts::ClassMethods
875
+ end
876
+
877
+ # Encryption settings.
878
+ # @!attribute [rw] key
879
+ # @return [::String]
880
+ # Required. 128 bit encryption key represented as lowercase hexadecimal digits.
881
+ # @!attribute [rw] iv
882
+ # @return [::String]
883
+ # Required. 128 bit Initialization Vector (IV) represented as lowercase hexadecimal
884
+ # digits.
885
+ # @!attribute [rw] aes_128
886
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::Encryption::Aes128Encryption]
887
+ # Configuration for AES-128 encryption.
888
+ # @!attribute [rw] sample_aes
889
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::Encryption::SampleAesEncryption]
890
+ # Configuration for SAMPLE-AES encryption.
891
+ # @!attribute [rw] mpeg_cenc
892
+ # @return [::Google::Cloud::Video::Transcoder::V1beta1::Encryption::MpegCommonEncryption]
893
+ # Configuration for MPEG Common Encryption (MPEG-CENC).
894
+ class Encryption
895
+ include ::Google::Protobuf::MessageExts
896
+ extend ::Google::Protobuf::MessageExts::ClassMethods
897
+
898
+ # Configuration for AES-128 encryption.
899
+ # @!attribute [rw] key_uri
900
+ # @return [::String]
901
+ # Required. URI of the key delivery service. This URI is inserted into the M3U8
902
+ # header.
903
+ class Aes128Encryption
904
+ include ::Google::Protobuf::MessageExts
905
+ extend ::Google::Protobuf::MessageExts::ClassMethods
906
+ end
907
+
908
+ # Configuration for SAMPLE-AES encryption.
909
+ # @!attribute [rw] key_uri
910
+ # @return [::String]
911
+ # Required. URI of the key delivery service. This URI is inserted into the M3U8
912
+ # header.
913
+ class SampleAesEncryption
914
+ include ::Google::Protobuf::MessageExts
915
+ extend ::Google::Protobuf::MessageExts::ClassMethods
916
+ end
917
+
918
+ # Configuration for MPEG Common Encryption (MPEG-CENC).
919
+ # @!attribute [rw] key_id
920
+ # @return [::String]
921
+ # Required. 128 bit Key ID represented as lowercase hexadecimal digits for use with
922
+ # common encryption.
923
+ # @!attribute [rw] scheme
924
+ # @return [::String]
925
+ # Required. Specify the encryption scheme.
926
+ #
927
+ # Supported encryption schemes:
928
+ # - 'cenc'
929
+ # - 'cbcs'
930
+ class MpegCommonEncryption
931
+ include ::Google::Protobuf::MessageExts
932
+ extend ::Google::Protobuf::MessageExts::ClassMethods
933
+ end
934
+ end
935
+
936
+ # Estimated fractional progress for each step, from `0` to `1`.
937
+ # @!attribute [rw] analyzed
938
+ # @return [::Float]
939
+ # Estimated fractional progress for `analyzing` step.
940
+ # @!attribute [rw] encoded
941
+ # @return [::Float]
942
+ # Estimated fractional progress for `encoding` step.
943
+ # @!attribute [rw] uploaded
944
+ # @return [::Float]
945
+ # Estimated fractional progress for `uploading` step.
946
+ # @!attribute [rw] notified
947
+ # @return [::Float]
948
+ # Estimated fractional progress for `notifying` step.
949
+ class Progress
950
+ include ::Google::Protobuf::MessageExts
951
+ extend ::Google::Protobuf::MessageExts::ClassMethods
952
+ end
953
+
954
+ # Additional information about the reasons for the failure.
955
+ # @!attribute [rw] description
956
+ # @return [::String]
957
+ # A description of the failure.
958
+ class FailureDetail
959
+ include ::Google::Protobuf::MessageExts
960
+ extend ::Google::Protobuf::MessageExts::ClassMethods
961
+ end
962
+ end
963
+ end
964
+ end
965
+ end
966
+ end