google-cloud-video-live_stream-v1 0.3.0 → 0.4.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 +23 -0
- data/lib/google/cloud/video/livestream/v1/resources_pb.rb +77 -0
- data/proto_docs/google/api/client.rb +9 -3
- 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/type/datetime.rb +99 -0
- metadata +24 -2
@@ -53,6 +53,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
53
53
|
optional :streaming_state, :enum, 14, "google.cloud.video.livestream.v1.Channel.StreamingState"
|
54
54
|
optional :streaming_error, :message, 18, "google.rpc.Status"
|
55
55
|
optional :log_config, :message, 19, "google.cloud.video.livestream.v1.LogConfig"
|
56
|
+
optional :timecode_config, :message, 21, "google.cloud.video.livestream.v1.TimecodeConfig"
|
57
|
+
repeated :encryptions, :message, 24, "google.cloud.video.livestream.v1.Encryption"
|
58
|
+
optional :input_config, :message, 25, "google.cloud.video.livestream.v1.InputConfig"
|
56
59
|
end
|
57
60
|
add_message "google.cloud.video.livestream.v1.Channel.Output" do
|
58
61
|
optional :uri, :string, 1
|
@@ -67,6 +70,14 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
67
70
|
value :STARTING, 7
|
68
71
|
value :STOPPING, 8
|
69
72
|
end
|
73
|
+
add_message "google.cloud.video.livestream.v1.InputConfig" do
|
74
|
+
optional :input_switch_mode, :enum, 1, "google.cloud.video.livestream.v1.InputConfig.InputSwitchMode"
|
75
|
+
end
|
76
|
+
add_enum "google.cloud.video.livestream.v1.InputConfig.InputSwitchMode" do
|
77
|
+
value :INPUT_SWITCH_MODE_UNSPECIFIED, 0
|
78
|
+
value :FAILOVER_PREFER_PRIMARY, 1
|
79
|
+
value :MANUAL, 3
|
80
|
+
end
|
70
81
|
add_message "google.cloud.video.livestream.v1.LogConfig" do
|
71
82
|
optional :log_severity, :enum, 1, "google.cloud.video.livestream.v1.LogConfig.LogSeverity"
|
72
83
|
end
|
@@ -120,12 +131,26 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
120
131
|
optional :state, :enum, 11, "google.cloud.video.livestream.v1.Event.State"
|
121
132
|
optional :error, :message, 12, "google.rpc.Status"
|
122
133
|
oneof :task do
|
134
|
+
optional :input_switch, :message, 5, "google.cloud.video.livestream.v1.Event.InputSwitchTask"
|
123
135
|
optional :ad_break, :message, 6, "google.cloud.video.livestream.v1.Event.AdBreakTask"
|
136
|
+
optional :return_to_program, :message, 13, "google.cloud.video.livestream.v1.Event.ReturnToProgramTask"
|
137
|
+
optional :mute, :message, 15, "google.cloud.video.livestream.v1.Event.MuteTask"
|
138
|
+
optional :unmute, :message, 16, "google.cloud.video.livestream.v1.Event.UnmuteTask"
|
124
139
|
end
|
125
140
|
end
|
141
|
+
add_message "google.cloud.video.livestream.v1.Event.InputSwitchTask" do
|
142
|
+
optional :input_key, :string, 1
|
143
|
+
end
|
126
144
|
add_message "google.cloud.video.livestream.v1.Event.AdBreakTask" do
|
127
145
|
optional :duration, :message, 1, "google.protobuf.Duration"
|
128
146
|
end
|
147
|
+
add_message "google.cloud.video.livestream.v1.Event.ReturnToProgramTask" do
|
148
|
+
end
|
149
|
+
add_message "google.cloud.video.livestream.v1.Event.MuteTask" do
|
150
|
+
optional :duration, :message, 1, "google.protobuf.Duration"
|
151
|
+
end
|
152
|
+
add_message "google.cloud.video.livestream.v1.Event.UnmuteTask" do
|
153
|
+
end
|
129
154
|
add_enum "google.cloud.video.livestream.v1.Event.State" do
|
130
155
|
value :STATE_UNSPECIFIED, 0
|
131
156
|
value :SCHEDULED, 1
|
@@ -135,6 +160,42 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
135
160
|
value :PENDING, 5
|
136
161
|
value :STOPPED, 6
|
137
162
|
end
|
163
|
+
add_message "google.cloud.video.livestream.v1.Encryption" do
|
164
|
+
optional :id, :string, 1
|
165
|
+
optional :drm_systems, :message, 3, "google.cloud.video.livestream.v1.Encryption.DrmSystems"
|
166
|
+
oneof :secret_source do
|
167
|
+
optional :secret_manager_key_source, :message, 7, "google.cloud.video.livestream.v1.Encryption.SecretManagerSource"
|
168
|
+
end
|
169
|
+
oneof :encryption_mode do
|
170
|
+
optional :aes128, :message, 4, "google.cloud.video.livestream.v1.Encryption.Aes128Encryption"
|
171
|
+
optional :sample_aes, :message, 5, "google.cloud.video.livestream.v1.Encryption.SampleAesEncryption"
|
172
|
+
optional :mpeg_cenc, :message, 6, "google.cloud.video.livestream.v1.Encryption.MpegCommonEncryption"
|
173
|
+
end
|
174
|
+
end
|
175
|
+
add_message "google.cloud.video.livestream.v1.Encryption.SecretManagerSource" do
|
176
|
+
optional :secret_version, :string, 1
|
177
|
+
end
|
178
|
+
add_message "google.cloud.video.livestream.v1.Encryption.Widevine" do
|
179
|
+
end
|
180
|
+
add_message "google.cloud.video.livestream.v1.Encryption.Fairplay" do
|
181
|
+
end
|
182
|
+
add_message "google.cloud.video.livestream.v1.Encryption.Playready" do
|
183
|
+
end
|
184
|
+
add_message "google.cloud.video.livestream.v1.Encryption.Clearkey" do
|
185
|
+
end
|
186
|
+
add_message "google.cloud.video.livestream.v1.Encryption.DrmSystems" do
|
187
|
+
optional :widevine, :message, 1, "google.cloud.video.livestream.v1.Encryption.Widevine"
|
188
|
+
optional :fairplay, :message, 2, "google.cloud.video.livestream.v1.Encryption.Fairplay"
|
189
|
+
optional :playready, :message, 3, "google.cloud.video.livestream.v1.Encryption.Playready"
|
190
|
+
optional :clearkey, :message, 4, "google.cloud.video.livestream.v1.Encryption.Clearkey"
|
191
|
+
end
|
192
|
+
add_message "google.cloud.video.livestream.v1.Encryption.Aes128Encryption" do
|
193
|
+
end
|
194
|
+
add_message "google.cloud.video.livestream.v1.Encryption.SampleAesEncryption" do
|
195
|
+
end
|
196
|
+
add_message "google.cloud.video.livestream.v1.Encryption.MpegCommonEncryption" do
|
197
|
+
optional :scheme, :string, 1
|
198
|
+
end
|
138
199
|
end
|
139
200
|
end
|
140
201
|
|
@@ -150,6 +211,8 @@ module Google
|
|
150
211
|
Channel = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.Channel").msgclass
|
151
212
|
Channel::Output = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.Channel.Output").msgclass
|
152
213
|
Channel::StreamingState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.Channel.StreamingState").enummodule
|
214
|
+
InputConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.InputConfig").msgclass
|
215
|
+
InputConfig::InputSwitchMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.InputConfig.InputSwitchMode").enummodule
|
153
216
|
LogConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.LogConfig").msgclass
|
154
217
|
LogConfig::LogSeverity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.LogConfig.LogSeverity").enummodule
|
155
218
|
InputStreamProperty = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.InputStreamProperty").msgclass
|
@@ -160,8 +223,22 @@ module Google
|
|
160
223
|
InputAttachment = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.InputAttachment").msgclass
|
161
224
|
InputAttachment::AutomaticFailover = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.InputAttachment.AutomaticFailover").msgclass
|
162
225
|
Event = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.Event").msgclass
|
226
|
+
Event::InputSwitchTask = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.Event.InputSwitchTask").msgclass
|
163
227
|
Event::AdBreakTask = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.Event.AdBreakTask").msgclass
|
228
|
+
Event::ReturnToProgramTask = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.Event.ReturnToProgramTask").msgclass
|
229
|
+
Event::MuteTask = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.Event.MuteTask").msgclass
|
230
|
+
Event::UnmuteTask = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.Event.UnmuteTask").msgclass
|
164
231
|
Event::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.Event.State").enummodule
|
232
|
+
Encryption = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.Encryption").msgclass
|
233
|
+
Encryption::SecretManagerSource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.Encryption.SecretManagerSource").msgclass
|
234
|
+
Encryption::Widevine = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.Encryption.Widevine").msgclass
|
235
|
+
Encryption::Fairplay = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.Encryption.Fairplay").msgclass
|
236
|
+
Encryption::Playready = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.Encryption.Playready").msgclass
|
237
|
+
Encryption::Clearkey = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.Encryption.Clearkey").msgclass
|
238
|
+
Encryption::DrmSystems = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.Encryption.DrmSystems").msgclass
|
239
|
+
Encryption::Aes128Encryption = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.Encryption.Aes128Encryption").msgclass
|
240
|
+
Encryption::SampleAesEncryption = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.Encryption.SampleAesEncryption").msgclass
|
241
|
+
Encryption::MpegCommonEncryption = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.video.livestream.v1.Encryption.MpegCommonEncryption").msgclass
|
165
242
|
end
|
166
243
|
end
|
167
244
|
end
|
@@ -35,7 +35,9 @@ module Google
|
|
35
35
|
# Details about how and where to publish client libraries.
|
36
36
|
# @!attribute [rw] version
|
37
37
|
# @return [::String]
|
38
|
-
# Version of the API to apply these settings to.
|
38
|
+
# Version of the API to apply these settings to. This is the full protobuf
|
39
|
+
# package for the API, ending in the version element.
|
40
|
+
# Examples: "google.cloud.speech.v1" and "google.spanner.admin.database.v1".
|
39
41
|
# @!attribute [rw] launch_stage
|
40
42
|
# @return [::Google::Api::LaunchStage]
|
41
43
|
# Launch stage of this version of the API.
|
@@ -111,6 +113,10 @@ module Google
|
|
111
113
|
# Client library settings. If the same version string appears multiple
|
112
114
|
# times in this list, then the last one wins. Settings from earlier
|
113
115
|
# settings with the same version string are discarded.
|
116
|
+
# @!attribute [rw] proto_reference_documentation_uri
|
117
|
+
# @return [::String]
|
118
|
+
# Optional link to proto reference documentation. Example:
|
119
|
+
# https://cloud.google.com/pubsub/lite/docs/reference/rpc
|
114
120
|
class Publishing
|
115
121
|
include ::Google::Protobuf::MessageExts
|
116
122
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -240,8 +246,8 @@ module Google
|
|
240
246
|
# Example of a YAML configuration::
|
241
247
|
#
|
242
248
|
# publishing:
|
243
|
-
#
|
244
|
-
# - selector:
|
249
|
+
# method_settings:
|
250
|
+
# - selector: google.cloud.speech.v2.Speech.BatchRecognize
|
245
251
|
# long_running:
|
246
252
|
# initial_poll_delay:
|
247
253
|
# seconds: 60 # 1 minute
|
@@ -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
|