google-cloud-video-live_stream-v1 0.3.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/google/cloud/video/live_stream/v1/bindings_override.rb +104 -0
- data/lib/google/cloud/video/live_stream/v1/livestream_service/client.rb +37 -11
- data/lib/google/cloud/video/live_stream/v1/livestream_service/operations.rb +2 -2
- data/lib/google/cloud/video/live_stream/v1/livestream_service/paths.rb +19 -0
- data/lib/google/cloud/video/live_stream/v1/livestream_service/rest/client.rb +45 -11
- data/lib/google/cloud/video/live_stream/v1/livestream_service/rest/operations.rb +2 -2
- data/lib/google/cloud/video/live_stream/v1/livestream_service/rest.rb +1 -0
- data/lib/google/cloud/video/live_stream/v1/rest.rb +1 -0
- data/lib/google/cloud/video/live_stream/v1/version.rb +1 -1
- data/lib/google/cloud/video/livestream/v1/outputs_pb.rb +30 -98
- data/lib/google/cloud/video/livestream/v1/resources_pb.rb +44 -124
- data/lib/google/cloud/video/livestream/v1/service_pb.rb +27 -105
- data/proto_docs/google/api/client.rb +67 -4
- data/proto_docs/google/cloud/video/livestream/v1/outputs.rb +108 -26
- data/proto_docs/google/cloud/video/livestream/v1/resources.rb +218 -16
- data/proto_docs/google/cloud/video/livestream/v1/service.rb +21 -9
- data/proto_docs/google/protobuf/any.rb +7 -4
- data/proto_docs/google/protobuf/timestamp.rb +1 -3
- data/proto_docs/google/type/datetime.rb +99 -0
- metadata +26 -4
@@ -56,8 +56,9 @@ module Google
|
|
56
56
|
# - `ts` - the corresponding file extension is `.ts`
|
57
57
|
# @!attribute [rw] elementary_streams
|
58
58
|
# @return [::Array<::String>]
|
59
|
-
# List of `ElementaryStream`
|
60
|
-
#
|
59
|
+
# List of `ElementaryStream`
|
60
|
+
# {::Google::Cloud::Video::LiveStream::V1::ElementaryStream#key key}s multiplexed
|
61
|
+
# in this stream.
|
61
62
|
#
|
62
63
|
# - For `fmp4` container, must contain either one video or one audio stream.
|
63
64
|
# - For `ts` container, must contain exactly one audio stream and up to one
|
@@ -65,6 +66,10 @@ module Google
|
|
65
66
|
# @!attribute [rw] segment_settings
|
66
67
|
# @return [::Google::Cloud::Video::LiveStream::V1::SegmentSettings]
|
67
68
|
# Segment settings for `fmp4` and `ts`.
|
69
|
+
# @!attribute [rw] encryption_id
|
70
|
+
# @return [::String]
|
71
|
+
# Identifier of the encryption configuration to use. If omitted, output
|
72
|
+
# will be unencrypted.
|
68
73
|
class MuxStream
|
69
74
|
include ::Google::Protobuf::MessageExts
|
70
75
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -74,15 +79,17 @@ module Google
|
|
74
79
|
# @!attribute [rw] file_name
|
75
80
|
# @return [::String]
|
76
81
|
# The name of the generated file. The default is `manifest` with the
|
77
|
-
# extension suffix corresponding to the `Manifest`
|
82
|
+
# extension suffix corresponding to the `Manifest`
|
83
|
+
# {::Google::Cloud::Video::LiveStream::V1::Manifest#type type}. If multiple
|
78
84
|
# manifests are added to the channel, each must have a unique file name.
|
79
85
|
# @!attribute [rw] type
|
80
86
|
# @return [::Google::Cloud::Video::LiveStream::V1::Manifest::ManifestType]
|
81
87
|
# Required. Type of the manifest, can be `HLS` or `DASH`.
|
82
88
|
# @!attribute [rw] mux_streams
|
83
89
|
# @return [::Array<::String>]
|
84
|
-
# Required. List of `MuxStream`
|
85
|
-
#
|
90
|
+
# Required. List of `MuxStream`
|
91
|
+
# {::Google::Cloud::Video::LiveStream::V1::MuxStream#key key}s that should appear
|
92
|
+
# in this manifest.
|
86
93
|
#
|
87
94
|
# - For HLS, either `fmp4` or `ts` mux streams can be specified but not
|
88
95
|
# mixed.
|
@@ -101,6 +108,15 @@ module Google
|
|
101
108
|
# errors while accessing segments which are listed in the manifest that the
|
102
109
|
# player has, but were already deleted from the output Google Cloud Storage
|
103
110
|
# bucket. Default value is `60s`.
|
111
|
+
# @!attribute [rw] use_timecode_as_timeline
|
112
|
+
# @return [::Boolean]
|
113
|
+
# Whether to use the timecode, as specified in timecode config, when setting:
|
114
|
+
#
|
115
|
+
# - `availabilityStartTime` attribute in DASH manifests.
|
116
|
+
# - `#EXT-X-PROGRAM-DATE-TIME` tag in HLS manifests.
|
117
|
+
#
|
118
|
+
# If false, ignore the input timecode and use the time from system clock
|
119
|
+
# when the manifest is first generated. This is the default behavior.
|
104
120
|
class Manifest
|
105
121
|
include ::Google::Protobuf::MessageExts
|
106
122
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -164,6 +180,9 @@ module Google
|
|
164
180
|
end
|
165
181
|
|
166
182
|
# Preprocessing configurations.
|
183
|
+
# @!attribute [rw] audio
|
184
|
+
# @return [::Google::Cloud::Video::LiveStream::V1::PreprocessingConfig::Audio]
|
185
|
+
# Audio preprocessing configuration.
|
167
186
|
# @!attribute [rw] crop
|
168
187
|
# @return [::Google::Cloud::Video::LiveStream::V1::PreprocessingConfig::Crop]
|
169
188
|
# Specify the video cropping configuration.
|
@@ -174,6 +193,25 @@ module Google
|
|
174
193
|
include ::Google::Protobuf::MessageExts
|
175
194
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
176
195
|
|
196
|
+
# Audio preprocessing configuration.
|
197
|
+
# @!attribute [rw] lufs
|
198
|
+
# @return [::Float]
|
199
|
+
# Specify audio loudness normalization in loudness units relative to full
|
200
|
+
# scale (LUFS). Enter a value between -24 and 0 according to the following:
|
201
|
+
#
|
202
|
+
# - -24 is the Advanced Television Systems Committee (ATSC A/85)
|
203
|
+
# - -23 is the EU R128 broadcast standard
|
204
|
+
# - -19 is the prior standard for online mono audio
|
205
|
+
# - -18 is the ReplayGain standard
|
206
|
+
# - -16 is the prior standard for stereo audio
|
207
|
+
# - -14 is the new online audio standard recommended by Spotify, as well as
|
208
|
+
# Amazon Echo
|
209
|
+
# - 0 disables normalization. The default is 0.
|
210
|
+
class Audio
|
211
|
+
include ::Google::Protobuf::MessageExts
|
212
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
213
|
+
end
|
214
|
+
|
177
215
|
# Video cropping configuration for the input video. The cropped input video
|
178
216
|
# is scaled to match the output resolution.
|
179
217
|
# @!attribute [rw] top_pixels
|
@@ -232,8 +270,8 @@ module Google
|
|
232
270
|
# Valid range is [180, 1080].
|
233
271
|
# @!attribute [rw] frame_rate
|
234
272
|
# @return [::Float]
|
235
|
-
# Required. The target video frame rate in frames per second (FPS). Must be
|
236
|
-
# than or equal to 60. Will default to the input frame rate if larger
|
273
|
+
# Required. The target video frame rate in frames per second (FPS). Must be
|
274
|
+
# less than or equal to 60. Will default to the input frame rate if larger
|
237
275
|
# than the input frame rate. The API will generate an output FPS that is
|
238
276
|
# divisible by the input FPS, and smaller or equal to the target FPS. See
|
239
277
|
# [Calculating frame
|
@@ -260,15 +298,17 @@ module Google
|
|
260
298
|
# @return [::Google::Protobuf::Duration]
|
261
299
|
# Select the GOP size based on the specified duration. The default is
|
262
300
|
# `2s`. Note that `gopDuration` must be less than or equal to
|
263
|
-
# {::Google::Cloud::Video::LiveStream::V1::SegmentSettings#segment_duration segment_duration},
|
264
|
-
#
|
265
|
-
#
|
301
|
+
# {::Google::Cloud::Video::LiveStream::V1::SegmentSettings#segment_duration segment_duration},
|
302
|
+
# and
|
303
|
+
# {::Google::Cloud::Video::LiveStream::V1::SegmentSettings#segment_duration segment_duration}
|
304
|
+
# must be divisible by `gopDuration`. Valid range is [2s, 20s].
|
266
305
|
#
|
267
306
|
# All video streams in the same channel must have the same GOP size.
|
268
307
|
# @!attribute [rw] vbv_size_bits
|
269
308
|
# @return [::Integer]
|
270
309
|
# Size of the Video Buffering Verifier (VBV) buffer in bits. Must be
|
271
|
-
# greater than zero. The default is equal to
|
310
|
+
# greater than zero. The default is equal to
|
311
|
+
# {::Google::Cloud::Video::LiveStream::V1::VideoStream::H264CodecSettings#bitrate_bps bitrate_bps}.
|
272
312
|
# @!attribute [rw] vbv_fullness_bits
|
273
313
|
# @return [::Integer]
|
274
314
|
# Initial fullness of the Video Buffering Verifier (VBV) buffer in bits.
|
@@ -289,8 +329,9 @@ module Google
|
|
289
329
|
# @!attribute [rw] b_frame_count
|
290
330
|
# @return [::Integer]
|
291
331
|
# The number of consecutive B-frames. Must be greater than or equal to
|
292
|
-
# zero. Must be less than
|
293
|
-
#
|
332
|
+
# zero. Must be less than
|
333
|
+
# {::Google::Cloud::Video::LiveStream::V1::VideoStream::H264CodecSettings#gop_frame_count gop_frame_count}
|
334
|
+
# if set. The default is 0.
|
294
335
|
# @!attribute [rw] aq_strength
|
295
336
|
# @return [::Float]
|
296
337
|
# Specify the intensity of the adaptive quantizer (AQ). Must be between 0
|
@@ -308,7 +349,8 @@ module Google
|
|
308
349
|
# The available options are [FFmpeg-compatible Profile
|
309
350
|
# Options](https://trac.ffmpeg.org/wiki/Encode/H.264#Profile).
|
310
351
|
# Note that certain values for this field may cause the
|
311
|
-
# transcoder to override other fields you set in the
|
352
|
+
# transcoder to override other fields you set in the
|
353
|
+
# {::Google::Cloud::Video::LiveStream::V1::VideoStream::H264CodecSettings H264CodecSettings}
|
312
354
|
# message.
|
313
355
|
# @!attribute [rw] tune
|
314
356
|
# @return [::String]
|
@@ -316,7 +358,9 @@ module Google
|
|
316
358
|
# [FFmpeg-compatible Encode
|
317
359
|
# Options](https://trac.ffmpeg.org/wiki/Encode/H.264#Tune)
|
318
360
|
# Note that certain values for this field may cause the transcoder to
|
319
|
-
# override other fields you set in the
|
361
|
+
# override other fields you set in the
|
362
|
+
# {::Google::Cloud::Video::LiveStream::V1::VideoStream::H264CodecSettings H264CodecSettings}
|
363
|
+
# message.
|
320
364
|
class H264CodecSettings
|
321
365
|
include ::Google::Protobuf::MessageExts
|
322
366
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -338,7 +382,8 @@ module Google
|
|
338
382
|
# - `aac`
|
339
383
|
# @!attribute [rw] bitrate_bps
|
340
384
|
# @return [::Integer]
|
341
|
-
# Required. Audio bitrate in bits per second. Must be between 1 and
|
385
|
+
# Required. Audio bitrate in bits per second. Must be between 1 and
|
386
|
+
# 10,000,000.
|
342
387
|
# @!attribute [rw] channel_count
|
343
388
|
# @return [::Integer]
|
344
389
|
# Number of audio channels. Must be between 1 and 6. The default is 2.
|
@@ -369,21 +414,29 @@ module Google
|
|
369
414
|
# The mapping for the input streams and audio channels.
|
370
415
|
# @!attribute [rw] input_key
|
371
416
|
# @return [::String]
|
372
|
-
# Required. The `Channel`
|
373
|
-
#
|
374
|
-
#
|
417
|
+
# Required. The `Channel`
|
418
|
+
# {::Google::Cloud::Video::LiveStream::V1::InputAttachment#key InputAttachment.key}
|
419
|
+
# that identifies the input that this audio mapping applies to. If an
|
420
|
+
# active input doesn't have an audio mapping, the primary audio track in
|
421
|
+
# the input stream will be selected.
|
375
422
|
# @!attribute [rw] input_track
|
376
423
|
# @return [::Integer]
|
377
424
|
# Required. The zero-based index of the track in the input stream.
|
378
|
-
# All {::Google::Cloud::Video::LiveStream::V1::AudioStream#mapping mapping}s in
|
379
|
-
#
|
425
|
+
# All {::Google::Cloud::Video::LiveStream::V1::AudioStream#mapping mapping}s in
|
426
|
+
# the same {::Google::Cloud::Video::LiveStream::V1::AudioStream AudioStream} must
|
427
|
+
# have the same input track.
|
380
428
|
# @!attribute [rw] input_channel
|
381
429
|
# @return [::Integer]
|
382
430
|
# Required. The zero-based index of the channel in the input stream.
|
383
431
|
# @!attribute [rw] output_channel
|
384
432
|
# @return [::Integer]
|
385
433
|
# Required. The zero-based index of the channel in the output audio stream.
|
386
|
-
# Must be consistent with the
|
434
|
+
# Must be consistent with the
|
435
|
+
# {::Google::Cloud::Video::LiveStream::V1::AudioStream::AudioMapping#input_channel input_channel}.
|
436
|
+
# @!attribute [rw] gain_db
|
437
|
+
# @return [::Float]
|
438
|
+
# Audio volume control in dB. Negative values decrease volume,
|
439
|
+
# positive values increase. The default is 0.
|
387
440
|
class AudioMapping
|
388
441
|
include ::Google::Protobuf::MessageExts
|
389
442
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -409,17 +462,46 @@ module Google
|
|
409
462
|
# @return [::Google::Protobuf::Duration]
|
410
463
|
# Duration of the segments in seconds. The default is `6s`. Note that
|
411
464
|
# `segmentDuration` must be greater than or equal to
|
412
|
-
# {::Google::Cloud::Video::LiveStream::V1::VideoStream::H264CodecSettings#gop_duration gop_duration},
|
413
|
-
# `segmentDuration` must be divisible by
|
465
|
+
# {::Google::Cloud::Video::LiveStream::V1::VideoStream::H264CodecSettings#gop_duration gop_duration},
|
466
|
+
# and `segmentDuration` must be divisible by
|
414
467
|
# {::Google::Cloud::Video::LiveStream::V1::VideoStream::H264CodecSettings#gop_duration gop_duration}.
|
415
468
|
# Valid range is [2s, 20s].
|
416
469
|
#
|
417
|
-
# All {::Google::Cloud::Video::LiveStream::V1::Manifest#mux_streams mux_streams} in
|
418
|
-
# same segment duration.
|
470
|
+
# All {::Google::Cloud::Video::LiveStream::V1::Manifest#mux_streams mux_streams} in
|
471
|
+
# the same manifest must have the same segment duration.
|
419
472
|
class SegmentSettings
|
420
473
|
include ::Google::Protobuf::MessageExts
|
421
474
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
422
475
|
end
|
476
|
+
|
477
|
+
# Timecode configuration.
|
478
|
+
# @!attribute [rw] source
|
479
|
+
# @return [::Google::Cloud::Video::LiveStream::V1::TimecodeConfig::TimecodeSource]
|
480
|
+
# The source of the timecode that will later be used in outputs/manifests.
|
481
|
+
# It determines the initial timecode/timestamp (first frame) of output
|
482
|
+
# streams.
|
483
|
+
# @!attribute [rw] utc_offset
|
484
|
+
# @return [::Google::Protobuf::Duration]
|
485
|
+
# UTC offset. Must be whole seconds, between -18 hours and +18 hours.
|
486
|
+
# @!attribute [rw] time_zone
|
487
|
+
# @return [::Google::Type::TimeZone]
|
488
|
+
# Time zone e.g. "America/Los_Angeles".
|
489
|
+
class TimecodeConfig
|
490
|
+
include ::Google::Protobuf::MessageExts
|
491
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
492
|
+
|
493
|
+
# The source of timecode.
|
494
|
+
module TimecodeSource
|
495
|
+
# The timecode source is not specified.
|
496
|
+
TIMECODE_SOURCE_UNSPECIFIED = 0
|
497
|
+
|
498
|
+
# Use input media timestamp.
|
499
|
+
MEDIA_TIMESTAMP = 1
|
500
|
+
|
501
|
+
# Use input embedded timecode e.g. picture timing SEI message.
|
502
|
+
EMBEDDED_TIMECODE = 2
|
503
|
+
end
|
504
|
+
end
|
423
505
|
end
|
424
506
|
end
|
425
507
|
end
|
@@ -49,7 +49,8 @@ module Google
|
|
49
49
|
# @!attribute [r] uri
|
50
50
|
# @return [::String]
|
51
51
|
# Output only. URI to push the input stream to.
|
52
|
-
# Its format depends on the input
|
52
|
+
# Its format depends on the input
|
53
|
+
# {::Google::Cloud::Video::LiveStream::V1::Input#type type}, for example:
|
53
54
|
#
|
54
55
|
# * `RTMP_PUSH`: `rtmp://1.2.3.4/live/{STREAM-ID}`
|
55
56
|
# * `SRT_PUSH`: `srt://1.2.3.4:4201?streamid={STREAM-ID}`
|
@@ -61,8 +62,8 @@ module Google
|
|
61
62
|
# Security rule for access control.
|
62
63
|
# @!attribute [r] input_stream_property
|
63
64
|
# @return [::Google::Cloud::Video::LiveStream::V1::InputStreamProperty]
|
64
|
-
# Output only. The information for the input stream. This field will be
|
65
|
-
# this input receives the input stream.
|
65
|
+
# Output only. The information for the input stream. This field will be
|
66
|
+
# present only when this input receives the input stream.
|
66
67
|
class Input
|
67
68
|
include ::Google::Protobuf::MessageExts
|
68
69
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -142,12 +143,15 @@ module Google
|
|
142
143
|
# input can be selected as the input source at one time.
|
143
144
|
# @!attribute [r] active_input
|
144
145
|
# @return [::String]
|
145
|
-
# Output only. The
|
146
|
-
#
|
146
|
+
# Output only. The
|
147
|
+
# {::Google::Cloud::Video::LiveStream::V1::InputAttachment#key InputAttachment.key}
|
148
|
+
# that serves as the current input source. The first input in the
|
149
|
+
# {::Google::Cloud::Video::LiveStream::V1::Channel#input_attachments input_attachments}
|
150
|
+
# is the initial input source.
|
147
151
|
# @!attribute [rw] output
|
148
152
|
# @return [::Google::Cloud::Video::LiveStream::V1::Channel::Output]
|
149
|
-
# Required. Information about the output (that is, the Cloud Storage bucket
|
150
|
-
# the generated live stream).
|
153
|
+
# Required. Information about the output (that is, the Cloud Storage bucket
|
154
|
+
# to store the generated live stream).
|
151
155
|
# @!attribute [rw] elementary_streams
|
152
156
|
# @return [::Array<::Google::Cloud::Video::LiveStream::V1::ElementaryStream>]
|
153
157
|
# List of elementary streams.
|
@@ -165,12 +169,26 @@ module Google
|
|
165
169
|
# Output only. State of the streaming operation.
|
166
170
|
# @!attribute [r] streaming_error
|
167
171
|
# @return [::Google::Rpc::Status]
|
168
|
-
# Output only. A description of the reason for the streaming error. This
|
169
|
-
# always present when
|
172
|
+
# Output only. A description of the reason for the streaming error. This
|
173
|
+
# property is always present when
|
174
|
+
# {::Google::Cloud::Video::LiveStream::V1::Channel#streaming_state streaming_state}
|
175
|
+
# is
|
170
176
|
# {::Google::Cloud::Video::LiveStream::V1::Channel::StreamingState::STREAMING_ERROR STREAMING_ERROR}.
|
171
177
|
# @!attribute [rw] log_config
|
172
178
|
# @return [::Google::Cloud::Video::LiveStream::V1::LogConfig]
|
173
179
|
# Configuration of platform logs for this channel.
|
180
|
+
# @!attribute [rw] timecode_config
|
181
|
+
# @return [::Google::Cloud::Video::LiveStream::V1::TimecodeConfig]
|
182
|
+
# Configuration of timecode for this channel.
|
183
|
+
# @!attribute [rw] encryptions
|
184
|
+
# @return [::Array<::Google::Cloud::Video::LiveStream::V1::Encryption>]
|
185
|
+
# Encryption configurations for this channel. Each configuration has an ID
|
186
|
+
# which is referred to by each MuxStream to indicate which configuration is
|
187
|
+
# used for that output.
|
188
|
+
# @!attribute [rw] input_config
|
189
|
+
# @return [::Google::Cloud::Video::LiveStream::V1::InputConfig]
|
190
|
+
# The configuration for input sources defined in
|
191
|
+
# {::Google::Cloud::Video::LiveStream::V1::Channel#input_attachments input_attachments}.
|
174
192
|
class Channel
|
175
193
|
include ::Google::Protobuf::MessageExts
|
176
194
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -226,6 +244,35 @@ module Google
|
|
226
244
|
end
|
227
245
|
end
|
228
246
|
|
247
|
+
# Configuration for the input sources of a channel.
|
248
|
+
# @!attribute [rw] input_switch_mode
|
249
|
+
# @return [::Google::Cloud::Video::LiveStream::V1::InputConfig::InputSwitchMode]
|
250
|
+
# Input switch mode. Default mode is `FAILOVER_PREFER_PRIMARY`.
|
251
|
+
class InputConfig
|
252
|
+
include ::Google::Protobuf::MessageExts
|
253
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
254
|
+
|
255
|
+
# Input switch mode.
|
256
|
+
module InputSwitchMode
|
257
|
+
# The input switch mode is not specified.
|
258
|
+
INPUT_SWITCH_MODE_UNSPECIFIED = 0
|
259
|
+
|
260
|
+
# Automatic failover is enabled. The primary input stream is always
|
261
|
+
# preferred over its backup input streams configured using the
|
262
|
+
# {::Google::Cloud::Video::LiveStream::V1::InputAttachment::AutomaticFailover AutomaticFailover}
|
263
|
+
# field.
|
264
|
+
FAILOVER_PREFER_PRIMARY = 1
|
265
|
+
|
266
|
+
# Automatic failover is disabled. You must use the
|
267
|
+
# {::Google::Cloud::Video::LiveStream::V1::Event#input_switch inputSwitch} event
|
268
|
+
# to switch the active input source for the channel to stream from. When
|
269
|
+
# this mode is chosen, the
|
270
|
+
# {::Google::Cloud::Video::LiveStream::V1::InputAttachment::AutomaticFailover AutomaticFailover}
|
271
|
+
# field is ignored.
|
272
|
+
MANUAL = 3
|
273
|
+
end
|
274
|
+
end
|
275
|
+
|
229
276
|
# Configuration of platform logs.
|
230
277
|
# See [Using and managing platform
|
231
278
|
# logs](https://cloud.google.com/logging/docs/api/platform-logs#managing-logs)
|
@@ -357,8 +404,10 @@ module Google
|
|
357
404
|
# Configurations to follow when automatic failover happens.
|
358
405
|
# @!attribute [rw] input_keys
|
359
406
|
# @return [::Array<::String>]
|
360
|
-
# The
|
361
|
-
#
|
407
|
+
# The
|
408
|
+
# {::Google::Cloud::Video::LiveStream::V1::InputAttachment#key InputAttachment.key}s
|
409
|
+
# of inputs to failover to when this input is disconnected. Currently, only
|
410
|
+
# up to one backup input is supported.
|
362
411
|
class AutomaticFailover
|
363
412
|
include ::Google::Protobuf::MessageExts
|
364
413
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -380,19 +429,37 @@ module Google
|
|
380
429
|
# @!attribute [rw] labels
|
381
430
|
# @return [::Google::Protobuf::Map{::String => ::String}]
|
382
431
|
# User-defined key/value metadata.
|
432
|
+
# @!attribute [rw] input_switch
|
433
|
+
# @return [::Google::Cloud::Video::LiveStream::V1::Event::InputSwitchTask]
|
434
|
+
# Required. Switches to another input stream.
|
383
435
|
# @!attribute [rw] ad_break
|
384
436
|
# @return [::Google::Cloud::Video::LiveStream::V1::Event::AdBreakTask]
|
385
437
|
# Required. Inserts a new ad opportunity.
|
438
|
+
# @!attribute [rw] return_to_program
|
439
|
+
# @return [::Google::Cloud::Video::LiveStream::V1::Event::ReturnToProgramTask]
|
440
|
+
# Required. Stops any running ad break.
|
441
|
+
# @!attribute [rw] mute
|
442
|
+
# @return [::Google::Cloud::Video::LiveStream::V1::Event::MuteTask]
|
443
|
+
# Required. Mutes the stream.
|
444
|
+
# @!attribute [rw] unmute
|
445
|
+
# @return [::Google::Cloud::Video::LiveStream::V1::Event::UnmuteTask]
|
446
|
+
# Required. Unmutes the stream.
|
386
447
|
# @!attribute [rw] execute_now
|
387
448
|
# @return [::Boolean]
|
388
449
|
# When this field is set to true, the event will be executed at the earliest
|
389
|
-
# time that the server can schedule the event and
|
390
|
-
#
|
450
|
+
# time that the server can schedule the event and
|
451
|
+
# {::Google::Cloud::Video::LiveStream::V1::Event#execution_time execution_time}
|
452
|
+
# will be populated with the time that the server actually schedules the
|
453
|
+
# event.
|
391
454
|
# @!attribute [rw] execution_time
|
392
455
|
# @return [::Google::Protobuf::Timestamp]
|
393
|
-
# The time
|
394
|
-
#
|
395
|
-
#
|
456
|
+
# The time to execute the event. If you set
|
457
|
+
# {::Google::Cloud::Video::LiveStream::V1::Event#execute_now execute_now} to
|
458
|
+
# `true`, then do not set this field in the `CreateEvent` request. In
|
459
|
+
# this case, the server schedules the event and populates this field. If you
|
460
|
+
# set {::Google::Cloud::Video::LiveStream::V1::Event#execute_now execute_now} to
|
461
|
+
# `false`, then you must set this field to at least 10 seconds in the future
|
462
|
+
# or else the event can't be created.
|
396
463
|
# @!attribute [r] state
|
397
464
|
# @return [::Google::Cloud::Video::LiveStream::V1::Event::State]
|
398
465
|
# Output only. The state of the event.
|
@@ -404,6 +471,17 @@ module Google
|
|
404
471
|
include ::Google::Protobuf::MessageExts
|
405
472
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
406
473
|
|
474
|
+
# Switches to another input stream. Automatic failover is then disabled.
|
475
|
+
# @!attribute [rw] input_key
|
476
|
+
# @return [::String]
|
477
|
+
# The
|
478
|
+
# {::Google::Cloud::Video::LiveStream::V1::InputAttachment#key InputAttachment.key}
|
479
|
+
# of the input to switch to.
|
480
|
+
class InputSwitchTask
|
481
|
+
include ::Google::Protobuf::MessageExts
|
482
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
483
|
+
end
|
484
|
+
|
407
485
|
# Inserts a new ad opportunity.
|
408
486
|
# @!attribute [rw] duration
|
409
487
|
# @return [::Google::Protobuf::Duration]
|
@@ -413,6 +491,30 @@ module Google
|
|
413
491
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
414
492
|
end
|
415
493
|
|
494
|
+
# Stops any events which are currently running. This only applies to events
|
495
|
+
# with a duration.
|
496
|
+
class ReturnToProgramTask
|
497
|
+
include ::Google::Protobuf::MessageExts
|
498
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
499
|
+
end
|
500
|
+
|
501
|
+
# Mutes the stream.
|
502
|
+
# @!attribute [rw] duration
|
503
|
+
# @return [::Google::Protobuf::Duration]
|
504
|
+
# Duration for which the stream should be muted. If omitted, the stream
|
505
|
+
# will be muted until an UnmuteTask event is sent.
|
506
|
+
class MuteTask
|
507
|
+
include ::Google::Protobuf::MessageExts
|
508
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
509
|
+
end
|
510
|
+
|
511
|
+
# Unmutes the stream. The task will fail if the stream is not
|
512
|
+
# currently muted.
|
513
|
+
class UnmuteTask
|
514
|
+
include ::Google::Protobuf::MessageExts
|
515
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
516
|
+
end
|
517
|
+
|
416
518
|
# @!attribute [rw] key
|
417
519
|
# @return [::String]
|
418
520
|
# @!attribute [rw] value
|
@@ -446,6 +548,106 @@ module Google
|
|
446
548
|
STOPPED = 6
|
447
549
|
end
|
448
550
|
end
|
551
|
+
|
552
|
+
# Encryption settings.
|
553
|
+
# @!attribute [rw] id
|
554
|
+
# @return [::String]
|
555
|
+
# Required. Identifier for this set of encryption options.
|
556
|
+
# @!attribute [rw] secret_manager_key_source
|
557
|
+
# @return [::Google::Cloud::Video::LiveStream::V1::Encryption::SecretManagerSource]
|
558
|
+
# For keys stored in Google Secret Manager.
|
559
|
+
# @!attribute [rw] drm_systems
|
560
|
+
# @return [::Google::Cloud::Video::LiveStream::V1::Encryption::DrmSystems]
|
561
|
+
# Required. Configuration for DRM systems.
|
562
|
+
# @!attribute [rw] aes128
|
563
|
+
# @return [::Google::Cloud::Video::LiveStream::V1::Encryption::Aes128Encryption]
|
564
|
+
# Configuration for HLS AES-128 encryption.
|
565
|
+
# @!attribute [rw] sample_aes
|
566
|
+
# @return [::Google::Cloud::Video::LiveStream::V1::Encryption::SampleAesEncryption]
|
567
|
+
# Configuration for HLS SAMPLE-AES encryption.
|
568
|
+
# @!attribute [rw] mpeg_cenc
|
569
|
+
# @return [::Google::Cloud::Video::LiveStream::V1::Encryption::MpegCommonEncryption]
|
570
|
+
# Configuration for MPEG-Dash Common Encryption (MPEG-CENC).
|
571
|
+
class Encryption
|
572
|
+
include ::Google::Protobuf::MessageExts
|
573
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
574
|
+
|
575
|
+
# Configuration for secrets stored in Google Secret Manager.
|
576
|
+
# @!attribute [rw] secret_version
|
577
|
+
# @return [::String]
|
578
|
+
# Required. The name of the Secret Version containing the encryption key.
|
579
|
+
# `projects/{project}/secrets/{secret_id}/versions/{version_number}`
|
580
|
+
class SecretManagerSource
|
581
|
+
include ::Google::Protobuf::MessageExts
|
582
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
583
|
+
end
|
584
|
+
|
585
|
+
# Widevine configuration.
|
586
|
+
class Widevine
|
587
|
+
include ::Google::Protobuf::MessageExts
|
588
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
589
|
+
end
|
590
|
+
|
591
|
+
# Fairplay configuration.
|
592
|
+
class Fairplay
|
593
|
+
include ::Google::Protobuf::MessageExts
|
594
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
595
|
+
end
|
596
|
+
|
597
|
+
# Playready configuration.
|
598
|
+
class Playready
|
599
|
+
include ::Google::Protobuf::MessageExts
|
600
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
601
|
+
end
|
602
|
+
|
603
|
+
# Clearkey configuration.
|
604
|
+
class Clearkey
|
605
|
+
include ::Google::Protobuf::MessageExts
|
606
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
607
|
+
end
|
608
|
+
|
609
|
+
# Defines configuration for DRM systems in use. If a field is omitted,
|
610
|
+
# that DRM system will be considered to be disabled.
|
611
|
+
# @!attribute [rw] widevine
|
612
|
+
# @return [::Google::Cloud::Video::LiveStream::V1::Encryption::Widevine]
|
613
|
+
# Widevine configuration.
|
614
|
+
# @!attribute [rw] fairplay
|
615
|
+
# @return [::Google::Cloud::Video::LiveStream::V1::Encryption::Fairplay]
|
616
|
+
# Fairplay configuration.
|
617
|
+
# @!attribute [rw] playready
|
618
|
+
# @return [::Google::Cloud::Video::LiveStream::V1::Encryption::Playready]
|
619
|
+
# Playready configuration.
|
620
|
+
# @!attribute [rw] clearkey
|
621
|
+
# @return [::Google::Cloud::Video::LiveStream::V1::Encryption::Clearkey]
|
622
|
+
# Clearkey configuration.
|
623
|
+
class DrmSystems
|
624
|
+
include ::Google::Protobuf::MessageExts
|
625
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
626
|
+
end
|
627
|
+
|
628
|
+
# Configuration for HLS AES-128 encryption.
|
629
|
+
class Aes128Encryption
|
630
|
+
include ::Google::Protobuf::MessageExts
|
631
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
632
|
+
end
|
633
|
+
|
634
|
+
# Configuration for HLS SAMPLE-AES encryption.
|
635
|
+
class SampleAesEncryption
|
636
|
+
include ::Google::Protobuf::MessageExts
|
637
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
638
|
+
end
|
639
|
+
|
640
|
+
# Configuration for MPEG-Dash Common Encryption (MPEG-CENC).
|
641
|
+
# @!attribute [rw] scheme
|
642
|
+
# @return [::String]
|
643
|
+
# Required. Specify the encryption scheme, supported schemes:
|
644
|
+
# - `cenc` - AES-CTR subsample
|
645
|
+
# - `cbcs`- AES-CBC subsample pattern
|
646
|
+
class MpegCommonEncryption
|
647
|
+
include ::Google::Protobuf::MessageExts
|
648
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
649
|
+
end
|
650
|
+
end
|
449
651
|
end
|
450
652
|
end
|
451
653
|
end
|
@@ -65,8 +65,8 @@ module Google
|
|
65
65
|
# The maximum number of items to return. If unspecified, server
|
66
66
|
# will pick an appropriate default. Server may return fewer items than
|
67
67
|
# requested. A caller should only rely on response's
|
68
|
-
# {::Google::Cloud::Video::LiveStream::V1::ListChannelsResponse#next_page_token next_page_token}
|
69
|
-
# determine if there are more items left to be queried.
|
68
|
+
# {::Google::Cloud::Video::LiveStream::V1::ListChannelsResponse#next_page_token next_page_token}
|
69
|
+
# to determine if there are more items left to be queried.
|
70
70
|
# @!attribute [rw] page_token
|
71
71
|
# @return [::String]
|
72
72
|
# The next_page_token value returned from a previous List request, if any.
|
@@ -146,14 +146,22 @@ module Google
|
|
146
146
|
# resource by the update. You can only update the following fields:
|
147
147
|
#
|
148
148
|
# * [`inputAttachments`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#inputattachment)
|
149
|
+
# * [`inputConfig`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#inputconfig)
|
149
150
|
# * [`output`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#output)
|
150
|
-
# * [`elementaryStreams`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#
|
151
|
+
# * [`elementaryStreams`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#elementarystream)
|
151
152
|
# * [`muxStreams`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#muxstream)
|
152
|
-
# * [`manifests`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#
|
153
|
-
# * [`
|
153
|
+
# * [`manifests`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#manifest)
|
154
|
+
# * [`spriteSheets`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#spritesheet)
|
155
|
+
# * [`logConfig`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#logconfig)
|
156
|
+
# * [`timecodeConfig`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#timecodeconfig)
|
157
|
+
# * [`encryptions`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#encryption)
|
154
158
|
#
|
155
159
|
# The fields specified in the update_mask are relative to the resource, not
|
156
160
|
# the full request. A field will be overwritten if it is in the mask.
|
161
|
+
#
|
162
|
+
# If the mask is not present, then each field from the list above is updated
|
163
|
+
# if the field appears in the request payload. To unset a field, add the
|
164
|
+
# field to the update mask and remove it from the request payload.
|
157
165
|
# @!attribute [rw] channel
|
158
166
|
# @return [::Google::Cloud::Video::LiveStream::V1::Channel]
|
159
167
|
# Required. The channel resource to be updated.
|
@@ -270,8 +278,8 @@ module Google
|
|
270
278
|
# The maximum number of items to return. If unspecified, server
|
271
279
|
# will pick an appropriate default. Server may return fewer items than
|
272
280
|
# requested. A caller should only rely on response's
|
273
|
-
# {::Google::Cloud::Video::LiveStream::V1::ListInputsResponse#next_page_token next_page_token}
|
274
|
-
# determine if there are more items left to be queried.
|
281
|
+
# {::Google::Cloud::Video::LiveStream::V1::ListInputsResponse#next_page_token next_page_token}
|
282
|
+
# to determine if there are more items left to be queried.
|
275
283
|
# @!attribute [rw] page_token
|
276
284
|
# @return [::String]
|
277
285
|
# The next_page_token value returned from a previous List request, if any.
|
@@ -349,6 +357,10 @@ module Google
|
|
349
357
|
#
|
350
358
|
# The fields specified in the update_mask are relative to the resource, not
|
351
359
|
# the full request. A field will be overwritten if it is in the mask.
|
360
|
+
#
|
361
|
+
# If the mask is not present, then each field from the list above is updated
|
362
|
+
# if the field appears in the request payload. To unset a field, add the
|
363
|
+
# field to the update mask and remove it from the request payload.
|
352
364
|
# @!attribute [rw] input
|
353
365
|
# @return [::Google::Cloud::Video::LiveStream::V1::Input]
|
354
366
|
# Required. The input resource to be updated.
|
@@ -415,8 +427,8 @@ module Google
|
|
415
427
|
# The maximum number of items to return. If unspecified, server
|
416
428
|
# will pick an appropriate default. Server may return fewer items than
|
417
429
|
# requested. A caller should only rely on response's
|
418
|
-
# {::Google::Cloud::Video::LiveStream::V1::ListEventsResponse#next_page_token next_page_token}
|
419
|
-
# determine if there are more items left to be queried.
|
430
|
+
# {::Google::Cloud::Video::LiveStream::V1::ListEventsResponse#next_page_token next_page_token}
|
431
|
+
# to determine if there are more items left to be queried.
|
420
432
|
# @!attribute [rw] page_token
|
421
433
|
# @return [::String]
|
422
434
|
# The next_page_token value returned from a previous List request, if any.
|