google-cloud-video-live_stream-v1 0.3.0 → 0.5.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.
- 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.
|