google-cloud-video-transcoder-v1beta1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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