google-cloud-video-transcoder 1.15.2__tar.gz → 1.16.0__tar.gz
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.
- {google_cloud_video_transcoder-1.15.2/google_cloud_video_transcoder.egg-info → google_cloud_video_transcoder-1.16.0}/PKG-INFO +1 -1
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google/cloud/video/transcoder/gapic_version.py +1 -1
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google/cloud/video/transcoder_v1/gapic_version.py +1 -1
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google/cloud/video/transcoder_v1/services/transcoder_service/transports/base.py +36 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google/cloud/video/transcoder_v1/services/transcoder_service/transports/grpc_asyncio.py +36 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google/cloud/video/transcoder_v1/types/resources.py +324 -83
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0/google_cloud_video_transcoder.egg-info}/PKG-INFO +1 -1
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/tests/unit/gapic/transcoder_v1/test_transcoder_service.py +37 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/LICENSE +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/MANIFEST.in +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/README.rst +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google/cloud/video/transcoder/__init__.py +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google/cloud/video/transcoder/py.typed +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google/cloud/video/transcoder_v1/__init__.py +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google/cloud/video/transcoder_v1/gapic_metadata.json +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google/cloud/video/transcoder_v1/py.typed +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google/cloud/video/transcoder_v1/services/__init__.py +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google/cloud/video/transcoder_v1/services/transcoder_service/__init__.py +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google/cloud/video/transcoder_v1/services/transcoder_service/async_client.py +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google/cloud/video/transcoder_v1/services/transcoder_service/client.py +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google/cloud/video/transcoder_v1/services/transcoder_service/pagers.py +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google/cloud/video/transcoder_v1/services/transcoder_service/transports/__init__.py +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google/cloud/video/transcoder_v1/services/transcoder_service/transports/grpc.py +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google/cloud/video/transcoder_v1/services/transcoder_service/transports/rest.py +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google/cloud/video/transcoder_v1/services/transcoder_service/transports/rest_base.py +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google/cloud/video/transcoder_v1/types/__init__.py +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google/cloud/video/transcoder_v1/types/services.py +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google_cloud_video_transcoder.egg-info/SOURCES.txt +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google_cloud_video_transcoder.egg-info/dependency_links.txt +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google_cloud_video_transcoder.egg-info/not-zip-safe +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google_cloud_video_transcoder.egg-info/requires.txt +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/google_cloud_video_transcoder.egg-info/top_level.txt +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/setup.cfg +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/setup.py +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/tests/__init__.py +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/tests/unit/__init__.py +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/tests/unit/gapic/__init__.py +0 -0
- {google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/tests/unit/gapic/transcoder_v1/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: google-cloud-video-transcoder
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.16.0
|
|
4
4
|
Summary: Google Cloud Video Transcoder API client library
|
|
5
5
|
Home-page: https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-video-transcoder
|
|
6
6
|
Author: Google LLC
|
|
@@ -140,11 +140,29 @@ class TranscoderServiceTransport(abc.ABC):
|
|
|
140
140
|
),
|
|
141
141
|
self.list_jobs: gapic_v1.method.wrap_method(
|
|
142
142
|
self.list_jobs,
|
|
143
|
+
default_retry=retries.Retry(
|
|
144
|
+
initial=1.0,
|
|
145
|
+
maximum=10.0,
|
|
146
|
+
multiplier=1.3,
|
|
147
|
+
predicate=retries.if_exception_type(
|
|
148
|
+
core_exceptions.ServiceUnavailable,
|
|
149
|
+
),
|
|
150
|
+
deadline=60.0,
|
|
151
|
+
),
|
|
143
152
|
default_timeout=60.0,
|
|
144
153
|
client_info=client_info,
|
|
145
154
|
),
|
|
146
155
|
self.get_job: gapic_v1.method.wrap_method(
|
|
147
156
|
self.get_job,
|
|
157
|
+
default_retry=retries.Retry(
|
|
158
|
+
initial=1.0,
|
|
159
|
+
maximum=10.0,
|
|
160
|
+
multiplier=1.3,
|
|
161
|
+
predicate=retries.if_exception_type(
|
|
162
|
+
core_exceptions.ServiceUnavailable,
|
|
163
|
+
),
|
|
164
|
+
deadline=60.0,
|
|
165
|
+
),
|
|
148
166
|
default_timeout=60.0,
|
|
149
167
|
client_info=client_info,
|
|
150
168
|
),
|
|
@@ -160,11 +178,29 @@ class TranscoderServiceTransport(abc.ABC):
|
|
|
160
178
|
),
|
|
161
179
|
self.list_job_templates: gapic_v1.method.wrap_method(
|
|
162
180
|
self.list_job_templates,
|
|
181
|
+
default_retry=retries.Retry(
|
|
182
|
+
initial=1.0,
|
|
183
|
+
maximum=10.0,
|
|
184
|
+
multiplier=1.3,
|
|
185
|
+
predicate=retries.if_exception_type(
|
|
186
|
+
core_exceptions.ServiceUnavailable,
|
|
187
|
+
),
|
|
188
|
+
deadline=60.0,
|
|
189
|
+
),
|
|
163
190
|
default_timeout=60.0,
|
|
164
191
|
client_info=client_info,
|
|
165
192
|
),
|
|
166
193
|
self.get_job_template: gapic_v1.method.wrap_method(
|
|
167
194
|
self.get_job_template,
|
|
195
|
+
default_retry=retries.Retry(
|
|
196
|
+
initial=1.0,
|
|
197
|
+
maximum=10.0,
|
|
198
|
+
multiplier=1.3,
|
|
199
|
+
predicate=retries.if_exception_type(
|
|
200
|
+
core_exceptions.ServiceUnavailable,
|
|
201
|
+
),
|
|
202
|
+
deadline=60.0,
|
|
203
|
+
),
|
|
168
204
|
default_timeout=60.0,
|
|
169
205
|
client_info=client_info,
|
|
170
206
|
),
|
|
@@ -554,11 +554,29 @@ class TranscoderServiceGrpcAsyncIOTransport(TranscoderServiceTransport):
|
|
|
554
554
|
),
|
|
555
555
|
self.list_jobs: self._wrap_method(
|
|
556
556
|
self.list_jobs,
|
|
557
|
+
default_retry=retries.AsyncRetry(
|
|
558
|
+
initial=1.0,
|
|
559
|
+
maximum=10.0,
|
|
560
|
+
multiplier=1.3,
|
|
561
|
+
predicate=retries.if_exception_type(
|
|
562
|
+
core_exceptions.ServiceUnavailable,
|
|
563
|
+
),
|
|
564
|
+
deadline=60.0,
|
|
565
|
+
),
|
|
557
566
|
default_timeout=60.0,
|
|
558
567
|
client_info=client_info,
|
|
559
568
|
),
|
|
560
569
|
self.get_job: self._wrap_method(
|
|
561
570
|
self.get_job,
|
|
571
|
+
default_retry=retries.AsyncRetry(
|
|
572
|
+
initial=1.0,
|
|
573
|
+
maximum=10.0,
|
|
574
|
+
multiplier=1.3,
|
|
575
|
+
predicate=retries.if_exception_type(
|
|
576
|
+
core_exceptions.ServiceUnavailable,
|
|
577
|
+
),
|
|
578
|
+
deadline=60.0,
|
|
579
|
+
),
|
|
562
580
|
default_timeout=60.0,
|
|
563
581
|
client_info=client_info,
|
|
564
582
|
),
|
|
@@ -574,11 +592,29 @@ class TranscoderServiceGrpcAsyncIOTransport(TranscoderServiceTransport):
|
|
|
574
592
|
),
|
|
575
593
|
self.list_job_templates: self._wrap_method(
|
|
576
594
|
self.list_job_templates,
|
|
595
|
+
default_retry=retries.AsyncRetry(
|
|
596
|
+
initial=1.0,
|
|
597
|
+
maximum=10.0,
|
|
598
|
+
multiplier=1.3,
|
|
599
|
+
predicate=retries.if_exception_type(
|
|
600
|
+
core_exceptions.ServiceUnavailable,
|
|
601
|
+
),
|
|
602
|
+
deadline=60.0,
|
|
603
|
+
),
|
|
577
604
|
default_timeout=60.0,
|
|
578
605
|
client_info=client_info,
|
|
579
606
|
),
|
|
580
607
|
self.get_job_template: self._wrap_method(
|
|
581
608
|
self.get_job_template,
|
|
609
|
+
default_retry=retries.AsyncRetry(
|
|
610
|
+
initial=1.0,
|
|
611
|
+
maximum=10.0,
|
|
612
|
+
multiplier=1.3,
|
|
613
|
+
predicate=retries.if_exception_type(
|
|
614
|
+
core_exceptions.ServiceUnavailable,
|
|
615
|
+
),
|
|
616
|
+
deadline=60.0,
|
|
617
|
+
),
|
|
582
618
|
default_timeout=60.0,
|
|
583
619
|
client_info=client_info,
|
|
584
620
|
),
|
|
@@ -110,7 +110,8 @@ class Job(proto.Message):
|
|
|
110
110
|
use these to organize and group your jobs.
|
|
111
111
|
error (google.rpc.status_pb2.Status):
|
|
112
112
|
Output only. An error object that describes the reason for
|
|
113
|
-
the failure. This property is always present when
|
|
113
|
+
the failure. This property is always present when
|
|
114
|
+
[ProcessingState][google.cloud.video.transcoder.v1.Job.ProcessingState]
|
|
114
115
|
is ``FAILED``.
|
|
115
116
|
mode (google.cloud.video.transcoder_v1.types.Job.ProcessingMode):
|
|
116
117
|
The processing mode of the job. The default is
|
|
@@ -124,6 +125,10 @@ class Job(proto.Message):
|
|
|
124
125
|
optimization (google.cloud.video.transcoder_v1.types.Job.OptimizationStrategy):
|
|
125
126
|
Optional. The optimization strategy of the job. The default
|
|
126
127
|
is ``AUTODETECT``.
|
|
128
|
+
fill_content_gaps (bool):
|
|
129
|
+
Optional. Insert silence and duplicate frames
|
|
130
|
+
when timestamp gaps are detected in a given
|
|
131
|
+
stream.
|
|
127
132
|
"""
|
|
128
133
|
|
|
129
134
|
class ProcessingState(proto.Enum):
|
|
@@ -141,7 +146,7 @@ class Job(proto.Message):
|
|
|
141
146
|
The job has been completed successfully.
|
|
142
147
|
FAILED (4):
|
|
143
148
|
The job has failed. For additional information, see
|
|
144
|
-
|
|
149
|
+
`Troubleshooting <https://cloud.google.com/transcoder/docs/troubleshooting>`__.
|
|
145
150
|
"""
|
|
146
151
|
PROCESSING_STATE_UNSPECIFIED = 0
|
|
147
152
|
PENDING = 1
|
|
@@ -253,6 +258,10 @@ class Job(proto.Message):
|
|
|
253
258
|
number=22,
|
|
254
259
|
enum=OptimizationStrategy,
|
|
255
260
|
)
|
|
261
|
+
fill_content_gaps: bool = proto.Field(
|
|
262
|
+
proto.BOOL,
|
|
263
|
+
number=25,
|
|
264
|
+
)
|
|
256
265
|
|
|
257
266
|
|
|
258
267
|
class JobTemplate(proto.Message):
|
|
@@ -293,8 +302,8 @@ class JobConfig(proto.Message):
|
|
|
293
302
|
inputs (MutableSequence[google.cloud.video.transcoder_v1.types.Input]):
|
|
294
303
|
List of input assets stored in Cloud Storage.
|
|
295
304
|
edit_list (MutableSequence[google.cloud.video.transcoder_v1.types.EditAtom]):
|
|
296
|
-
List of
|
|
297
|
-
the resulting file or manifest.
|
|
305
|
+
List of edit atoms. Defines the ultimate
|
|
306
|
+
timeline of the resulting file or manifest.
|
|
298
307
|
elementary_streams (MutableSequence[google.cloud.video.transcoder_v1.types.ElementaryStream]):
|
|
299
308
|
List of elementary streams.
|
|
300
309
|
mux_streams (MutableSequence[google.cloud.video.transcoder_v1.types.MuxStream]):
|
|
@@ -393,8 +402,9 @@ class Input(proto.Message):
|
|
|
393
402
|
URI of the media. Input files must be at least 5 seconds in
|
|
394
403
|
duration and stored in Cloud Storage (for example,
|
|
395
404
|
``gs://bucket/inputs/file.mp4``). If empty, the value is
|
|
396
|
-
populated from
|
|
397
|
-
|
|
405
|
+
populated from
|
|
406
|
+
[Job.input_uri][google.cloud.video.transcoder.v1.Job.input_uri].
|
|
407
|
+
See `Supported input and output
|
|
398
408
|
formats <https://cloud.google.com/transcoder/docs/concepts/supported-input-and-output-formats>`__.
|
|
399
409
|
preprocessing_config (google.cloud.video.transcoder_v1.types.PreprocessingConfig):
|
|
400
410
|
Preprocessing configurations.
|
|
@@ -421,9 +431,10 @@ class Output(proto.Message):
|
|
|
421
431
|
Attributes:
|
|
422
432
|
uri (str):
|
|
423
433
|
URI for the output file(s). For example,
|
|
424
|
-
``gs://my-bucket/outputs/``.
|
|
425
|
-
|
|
426
|
-
|
|
434
|
+
``gs://my-bucket/outputs/``. Must be a directory and not a
|
|
435
|
+
top-level bucket. If empty, the value is populated from
|
|
436
|
+
[Job.output_uri][google.cloud.video.transcoder.v1.Job.output_uri].
|
|
437
|
+
See `Supported input and output
|
|
427
438
|
formats <https://cloud.google.com/transcoder/docs/concepts/supported-input-and-output-formats>`__.
|
|
428
439
|
"""
|
|
429
440
|
|
|
@@ -441,9 +452,10 @@ class EditAtom(proto.Message):
|
|
|
441
452
|
A unique key for this atom. Must be specified
|
|
442
453
|
when using advanced mapping.
|
|
443
454
|
inputs (MutableSequence[str]):
|
|
444
|
-
List of
|
|
445
|
-
|
|
446
|
-
|
|
455
|
+
List of
|
|
456
|
+
[Input.key][google.cloud.video.transcoder.v1.Input.key]
|
|
457
|
+
values identifying files that should be used in this atom.
|
|
458
|
+
The listed ``inputs`` must have the same timeline.
|
|
447
459
|
end_time_offset (google.protobuf.duration_pb2.Duration):
|
|
448
460
|
End time in seconds for the atom, relative to the input file
|
|
449
461
|
timeline. When ``end_time_offset`` is not specified, the
|
|
@@ -546,15 +558,16 @@ class ElementaryStream(proto.Message):
|
|
|
546
558
|
class MuxStream(proto.Message):
|
|
547
559
|
r"""Multiplexing settings for output stream.
|
|
548
560
|
|
|
561
|
+
.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
|
|
562
|
+
|
|
549
563
|
Attributes:
|
|
550
564
|
key (str):
|
|
551
|
-
A unique key for this multiplexed stream.
|
|
552
|
-
manifests will be named ``MuxStream.key`` with the ``.m3u8``
|
|
553
|
-
extension suffix.
|
|
565
|
+
A unique key for this multiplexed stream.
|
|
554
566
|
file_name (str):
|
|
555
567
|
The name of the generated file. The default is
|
|
556
|
-
|
|
557
|
-
the
|
|
568
|
+
[MuxStream.key][google.cloud.video.transcoder.v1.MuxStream.key]
|
|
569
|
+
with the extension suffix corresponding to the
|
|
570
|
+
[MuxStream.container][google.cloud.video.transcoder.v1.MuxStream.container].
|
|
558
571
|
|
|
559
572
|
Individual segments also have an incremental 10-digit
|
|
560
573
|
zero-padded suffix starting from 0 before the extension,
|
|
@@ -562,25 +575,55 @@ class MuxStream(proto.Message):
|
|
|
562
575
|
container (str):
|
|
563
576
|
The container format. The default is ``mp4``
|
|
564
577
|
|
|
565
|
-
Supported
|
|
578
|
+
Supported streaming formats:
|
|
566
579
|
|
|
567
580
|
- ``ts``
|
|
568
581
|
- ``fmp4``- the corresponding file extension is ``.m4s``
|
|
582
|
+
|
|
583
|
+
Supported standalone file formats:
|
|
584
|
+
|
|
569
585
|
- ``mp4``
|
|
586
|
+
- ``mp3``
|
|
587
|
+
- ``ogg``
|
|
570
588
|
- ``vtt``
|
|
571
589
|
|
|
572
590
|
See also: `Supported input and output
|
|
573
591
|
formats <https://cloud.google.com/transcoder/docs/concepts/supported-input-and-output-formats>`__
|
|
574
592
|
elementary_streams (MutableSequence[str]):
|
|
575
|
-
List of
|
|
576
|
-
|
|
593
|
+
List of
|
|
594
|
+
[ElementaryStream.key][google.cloud.video.transcoder.v1.ElementaryStream.key]
|
|
595
|
+
values multiplexed in this stream.
|
|
577
596
|
segment_settings (google.cloud.video.transcoder_v1.types.SegmentSettings):
|
|
578
597
|
Segment settings for ``ts``, ``fmp4`` and ``vtt``.
|
|
579
598
|
encryption_id (str):
|
|
580
599
|
Identifier of the encryption configuration to
|
|
581
600
|
use. If omitted, output will be unencrypted.
|
|
601
|
+
fmp4 (google.cloud.video.transcoder_v1.types.MuxStream.Fmp4Config):
|
|
602
|
+
Optional. ``fmp4`` container configuration.
|
|
603
|
+
|
|
604
|
+
This field is a member of `oneof`_ ``container_config``.
|
|
582
605
|
"""
|
|
583
606
|
|
|
607
|
+
class Fmp4Config(proto.Message):
|
|
608
|
+
r"""``fmp4`` container configuration.
|
|
609
|
+
|
|
610
|
+
Attributes:
|
|
611
|
+
codec_tag (str):
|
|
612
|
+
Optional. Specify the codec tag string that will be used in
|
|
613
|
+
the media bitstream. When not specified, the codec
|
|
614
|
+
appropriate value is used.
|
|
615
|
+
|
|
616
|
+
Supported H265 codec tags:
|
|
617
|
+
|
|
618
|
+
- ``hvc1`` (default)
|
|
619
|
+
- ``hev1``
|
|
620
|
+
"""
|
|
621
|
+
|
|
622
|
+
codec_tag: str = proto.Field(
|
|
623
|
+
proto.STRING,
|
|
624
|
+
number=1,
|
|
625
|
+
)
|
|
626
|
+
|
|
584
627
|
key: str = proto.Field(
|
|
585
628
|
proto.STRING,
|
|
586
629
|
number=1,
|
|
@@ -606,6 +649,12 @@ class MuxStream(proto.Message):
|
|
|
606
649
|
proto.STRING,
|
|
607
650
|
number=7,
|
|
608
651
|
)
|
|
652
|
+
fmp4: Fmp4Config = proto.Field(
|
|
653
|
+
proto.MESSAGE,
|
|
654
|
+
number=8,
|
|
655
|
+
oneof="container_config",
|
|
656
|
+
message=Fmp4Config,
|
|
657
|
+
)
|
|
609
658
|
|
|
610
659
|
|
|
611
660
|
class Manifest(proto.Message):
|
|
@@ -617,16 +666,20 @@ class Manifest(proto.Message):
|
|
|
617
666
|
file_name (str):
|
|
618
667
|
The name of the generated file. The default is ``manifest``
|
|
619
668
|
with the extension suffix corresponding to the
|
|
620
|
-
|
|
669
|
+
[Manifest.type][google.cloud.video.transcoder.v1.Manifest.type].
|
|
621
670
|
type_ (google.cloud.video.transcoder_v1.types.Manifest.ManifestType):
|
|
622
671
|
Required. Type of the manifest.
|
|
623
672
|
mux_streams (MutableSequence[str]):
|
|
624
|
-
Required. List of user
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
673
|
+
Required. List of user supplied
|
|
674
|
+
[MuxStream.key][google.cloud.video.transcoder.v1.MuxStream.key]
|
|
675
|
+
values that should appear in this manifest.
|
|
676
|
+
|
|
677
|
+
When
|
|
678
|
+
[Manifest.type][google.cloud.video.transcoder.v1.Manifest.type]
|
|
679
|
+
is ``HLS``, a media manifest with name
|
|
680
|
+
[MuxStream.key][google.cloud.video.transcoder.v1.MuxStream.key]
|
|
681
|
+
and ``.m3u8`` extension is generated for each element in
|
|
682
|
+
this list.
|
|
630
683
|
dash (google.cloud.video.transcoder_v1.types.Manifest.DashConfig):
|
|
631
684
|
``DASH`` manifest configuration.
|
|
632
685
|
|
|
@@ -668,11 +721,33 @@ class Manifest(proto.Message):
|
|
|
668
721
|
The segment reference scheme is not
|
|
669
722
|
specified.
|
|
670
723
|
SEGMENT_LIST (1):
|
|
671
|
-
|
|
672
|
-
|
|
724
|
+
Explicitly lists the URLs of media files for each segment.
|
|
725
|
+
For example, if
|
|
726
|
+
[SegmentSettings.individual_segments][google.cloud.video.transcoder.v1.SegmentSettings.individual_segments]
|
|
727
|
+
is ``true``, then the manifest contains fields similar to
|
|
728
|
+
the following:
|
|
729
|
+
|
|
730
|
+
.. code:: xml
|
|
731
|
+
|
|
732
|
+
<Initialization sourceURL="my-hd-stream-init.m4s"/>
|
|
733
|
+
<SegmentList presentationTimeOffset="0" duration="1000"
|
|
734
|
+
timescale="10000">
|
|
735
|
+
<SegmentURL media="hd-stream0000000000.m4s"/>
|
|
736
|
+
<SegmentURL media="hd-stream0000000001.m4s"/>
|
|
737
|
+
...
|
|
673
738
|
SEGMENT_TEMPLATE_NUMBER (2):
|
|
674
|
-
|
|
675
|
-
|
|
739
|
+
[SegmentSettings.individual_segments][google.cloud.video.transcoder.v1.SegmentSettings.individual_segments]
|
|
740
|
+
must be set to ``true`` to use this segment reference
|
|
741
|
+
scheme. Uses the DASH specification ``<SegmentTemplate>``
|
|
742
|
+
tag to determine the URLs of media files for each segment.
|
|
743
|
+
For example:
|
|
744
|
+
|
|
745
|
+
.. code:: xml
|
|
746
|
+
|
|
747
|
+
<SegmentTemplate presentationTimeOffset="0" timescale="10000"
|
|
748
|
+
initialization="my-hd-stream-init.m4s"
|
|
749
|
+
media="hd-stream$Number%010d$.m4s" startNumber="0">
|
|
750
|
+
...
|
|
676
751
|
"""
|
|
677
752
|
SEGMENT_REFERENCE_SCHEME_UNSPECIFIED = 0
|
|
678
753
|
SEGMENT_LIST = 1
|
|
@@ -869,7 +944,7 @@ class Overlay(proto.Message):
|
|
|
869
944
|
image (google.cloud.video.transcoder_v1.types.Overlay.Image):
|
|
870
945
|
Image overlay.
|
|
871
946
|
animations (MutableSequence[google.cloud.video.transcoder_v1.types.Overlay.Animation]):
|
|
872
|
-
List of
|
|
947
|
+
List of animations. The list should be
|
|
873
948
|
chronological, without any time overlap.
|
|
874
949
|
"""
|
|
875
950
|
|
|
@@ -1013,7 +1088,7 @@ class Overlay(proto.Message):
|
|
|
1013
1088
|
|
|
1014
1089
|
class AnimationEnd(proto.Message):
|
|
1015
1090
|
r"""End previous overlay animation from the video. Without
|
|
1016
|
-
AnimationEnd
|
|
1091
|
+
``AnimationEnd``, the overlay object will keep the state of previous
|
|
1017
1092
|
animation until the end of the video.
|
|
1018
1093
|
|
|
1019
1094
|
Attributes:
|
|
@@ -1483,6 +1558,39 @@ class VideoStream(proto.Message):
|
|
|
1483
1558
|
This field is a member of `oneof`_ ``codec_settings``.
|
|
1484
1559
|
"""
|
|
1485
1560
|
|
|
1561
|
+
class FrameRateConversionStrategy(proto.Enum):
|
|
1562
|
+
r"""The conversion strategy for desired frame rate.
|
|
1563
|
+
|
|
1564
|
+
Values:
|
|
1565
|
+
FRAME_RATE_CONVERSION_STRATEGY_UNSPECIFIED (0):
|
|
1566
|
+
Unspecified frame rate conversion strategy.
|
|
1567
|
+
DOWNSAMPLE (1):
|
|
1568
|
+
Selectively retain frames to reduce the output frame rate.
|
|
1569
|
+
Every *n* th frame is kept, where
|
|
1570
|
+
``n = ceil(input frame rate / target frame rate)``. When *n*
|
|
1571
|
+
= 1 (that is, the target frame rate is greater than the
|
|
1572
|
+
input frame rate), the output frame rate matches the input
|
|
1573
|
+
frame rate. When *n* > 1, frames are dropped and the output
|
|
1574
|
+
frame rate is equal to ``(input frame rate / n)``. For more
|
|
1575
|
+
information, see `Calculate frame
|
|
1576
|
+
rate <https://cloud.google.com/transcoder/docs/concepts/frame-rate>`__.
|
|
1577
|
+
DROP_DUPLICATE (2):
|
|
1578
|
+
Drop or duplicate frames to match the
|
|
1579
|
+
specified frame rate.
|
|
1580
|
+
"""
|
|
1581
|
+
FRAME_RATE_CONVERSION_STRATEGY_UNSPECIFIED = 0
|
|
1582
|
+
DOWNSAMPLE = 1
|
|
1583
|
+
DROP_DUPLICATE = 2
|
|
1584
|
+
|
|
1585
|
+
class H264ColorFormatSDR(proto.Message):
|
|
1586
|
+
r"""Convert the input video to a Standard Dynamic Range (SDR)
|
|
1587
|
+
video.
|
|
1588
|
+
|
|
1589
|
+
"""
|
|
1590
|
+
|
|
1591
|
+
class H264ColorFormatHLG(proto.Message):
|
|
1592
|
+
r"""Convert the input video to a Hybrid Log Gamma (HLG) video."""
|
|
1593
|
+
|
|
1486
1594
|
class H264CodecSettings(proto.Message):
|
|
1487
1595
|
r"""H264 codec settings.
|
|
1488
1596
|
|
|
@@ -1521,14 +1629,12 @@ class VideoStream(proto.Message):
|
|
|
1521
1629
|
API detects any rotation metadata and swaps the
|
|
1522
1630
|
requested height and width for the output.
|
|
1523
1631
|
frame_rate (float):
|
|
1524
|
-
Required. The target video frame rate in
|
|
1525
|
-
(FPS). Must be less than or
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
rate <https://cloud.google.com/transcoder/docs/concepts/frame-rate>`__
|
|
1531
|
-
for more information.
|
|
1632
|
+
Required. The target video frame rate in
|
|
1633
|
+
frames per second (FPS). Must be less than or
|
|
1634
|
+
equal to 120.
|
|
1635
|
+
frame_rate_conversion_strategy (google.cloud.video.transcoder_v1.types.VideoStream.FrameRateConversionStrategy):
|
|
1636
|
+
Optional. Frame rate conversion strategy for desired frame
|
|
1637
|
+
rate. The default is ``DOWNSAMPLE``.
|
|
1532
1638
|
bitrate_bps (int):
|
|
1533
1639
|
Required. The video bitrate in bits per
|
|
1534
1640
|
second. The minimum value is 1,000. The maximum
|
|
@@ -1548,7 +1654,7 @@ class VideoStream(proto.Message):
|
|
|
1548
1654
|
- ``yuv422p12`` 12-bit HDR pixel format
|
|
1549
1655
|
- ``yuv444p12`` 12-bit HDR pixel format
|
|
1550
1656
|
rate_control_mode (str):
|
|
1551
|
-
Specify the
|
|
1657
|
+
Specify the mode. The default is ``vbr``.
|
|
1552
1658
|
|
|
1553
1659
|
Supported rate control modes:
|
|
1554
1660
|
|
|
@@ -1576,16 +1682,18 @@ class VideoStream(proto.Message):
|
|
|
1576
1682
|
This field is a member of `oneof`_ ``gop_mode``.
|
|
1577
1683
|
enable_two_pass (bool):
|
|
1578
1684
|
Use two-pass encoding strategy to achieve better video
|
|
1579
|
-
quality.
|
|
1580
|
-
|
|
1685
|
+
quality.
|
|
1686
|
+
[H264CodecSettings.rate_control_mode][google.cloud.video.transcoder.v1.VideoStream.H264CodecSettings.rate_control_mode]
|
|
1687
|
+
must be ``vbr``. The default is ``false``.
|
|
1581
1688
|
vbv_size_bits (int):
|
|
1582
1689
|
Size of the Video Buffering Verifier (VBV) buffer in bits.
|
|
1583
1690
|
Must be greater than zero. The default is equal to
|
|
1584
|
-
|
|
1691
|
+
[H264CodecSettings.bitrate_bps][google.cloud.video.transcoder.v1.VideoStream.H264CodecSettings.bitrate_bps].
|
|
1585
1692
|
vbv_fullness_bits (int):
|
|
1586
1693
|
Initial fullness of the Video Buffering Verifier (VBV)
|
|
1587
1694
|
buffer in bits. Must be greater than zero. The default is
|
|
1588
|
-
equal to 90% of
|
|
1695
|
+
equal to 90% of
|
|
1696
|
+
[H264CodecSettings.vbv_size_bits][google.cloud.video.transcoder.v1.VideoStream.H264CodecSettings.vbv_size_bits].
|
|
1589
1697
|
entropy_coder (str):
|
|
1590
1698
|
The entropy coder to use. The default is ``cabac``.
|
|
1591
1699
|
|
|
@@ -1599,7 +1707,8 @@ class VideoStream(proto.Message):
|
|
|
1599
1707
|
b_frame_count (int):
|
|
1600
1708
|
The number of consecutive B-frames. Must be greater than or
|
|
1601
1709
|
equal to zero. Must be less than
|
|
1602
|
-
|
|
1710
|
+
[H264CodecSettings.gop_frame_count][google.cloud.video.transcoder.v1.VideoStream.H264CodecSettings.gop_frame_count]
|
|
1711
|
+
if set. The default is 0.
|
|
1603
1712
|
aq_strength (float):
|
|
1604
1713
|
Specify the intensity of the adaptive
|
|
1605
1714
|
quantizer (AQ). Must be between 0 and 1, where 0
|
|
@@ -1632,6 +1741,14 @@ class VideoStream(proto.Message):
|
|
|
1632
1741
|
Note that certain values for this field may cause the
|
|
1633
1742
|
transcoder to override other fields you set in the
|
|
1634
1743
|
``H264CodecSettings`` message.
|
|
1744
|
+
sdr (google.cloud.video.transcoder_v1.types.VideoStream.H264ColorFormatSDR):
|
|
1745
|
+
Optional. SDR color format setting for H264.
|
|
1746
|
+
|
|
1747
|
+
This field is a member of `oneof`_ ``color_format``.
|
|
1748
|
+
hlg (google.cloud.video.transcoder_v1.types.VideoStream.H264ColorFormatHLG):
|
|
1749
|
+
Optional. HLG color format setting for H264.
|
|
1750
|
+
|
|
1751
|
+
This field is a member of `oneof`_ ``color_format``.
|
|
1635
1752
|
"""
|
|
1636
1753
|
|
|
1637
1754
|
width_pixels: int = proto.Field(
|
|
@@ -1646,6 +1763,13 @@ class VideoStream(proto.Message):
|
|
|
1646
1763
|
proto.DOUBLE,
|
|
1647
1764
|
number=3,
|
|
1648
1765
|
)
|
|
1766
|
+
frame_rate_conversion_strategy: "VideoStream.FrameRateConversionStrategy" = (
|
|
1767
|
+
proto.Field(
|
|
1768
|
+
proto.ENUM,
|
|
1769
|
+
number=23,
|
|
1770
|
+
enum="VideoStream.FrameRateConversionStrategy",
|
|
1771
|
+
)
|
|
1772
|
+
)
|
|
1649
1773
|
bitrate_bps: int = proto.Field(
|
|
1650
1774
|
proto.INT32,
|
|
1651
1775
|
number=4,
|
|
@@ -1717,6 +1841,33 @@ class VideoStream(proto.Message):
|
|
|
1717
1841
|
proto.STRING,
|
|
1718
1842
|
number=20,
|
|
1719
1843
|
)
|
|
1844
|
+
sdr: "VideoStream.H264ColorFormatSDR" = proto.Field(
|
|
1845
|
+
proto.MESSAGE,
|
|
1846
|
+
number=21,
|
|
1847
|
+
oneof="color_format",
|
|
1848
|
+
message="VideoStream.H264ColorFormatSDR",
|
|
1849
|
+
)
|
|
1850
|
+
hlg: "VideoStream.H264ColorFormatHLG" = proto.Field(
|
|
1851
|
+
proto.MESSAGE,
|
|
1852
|
+
number=22,
|
|
1853
|
+
oneof="color_format",
|
|
1854
|
+
message="VideoStream.H264ColorFormatHLG",
|
|
1855
|
+
)
|
|
1856
|
+
|
|
1857
|
+
class H265ColorFormatSDR(proto.Message):
|
|
1858
|
+
r"""Convert the input video to a Standard Dynamic Range (SDR)
|
|
1859
|
+
video.
|
|
1860
|
+
|
|
1861
|
+
"""
|
|
1862
|
+
|
|
1863
|
+
class H265ColorFormatHLG(proto.Message):
|
|
1864
|
+
r"""Convert the input video to a Hybrid Log Gamma (HLG) video."""
|
|
1865
|
+
|
|
1866
|
+
class H265ColorFormatHDR10(proto.Message):
|
|
1867
|
+
r"""Convert the input video to a High Dynamic Range 10 (HDR10)
|
|
1868
|
+
video.
|
|
1869
|
+
|
|
1870
|
+
"""
|
|
1720
1871
|
|
|
1721
1872
|
class H265CodecSettings(proto.Message):
|
|
1722
1873
|
r"""H265 codec settings.
|
|
@@ -1756,14 +1907,12 @@ class VideoStream(proto.Message):
|
|
|
1756
1907
|
API detects any rotation metadata and swaps the
|
|
1757
1908
|
requested height and width for the output.
|
|
1758
1909
|
frame_rate (float):
|
|
1759
|
-
Required. The target video frame rate in
|
|
1760
|
-
(FPS). Must be less than or
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
rate <https://cloud.google.com/transcoder/docs/concepts/frame-rate>`__
|
|
1766
|
-
for more information.
|
|
1910
|
+
Required. The target video frame rate in
|
|
1911
|
+
frames per second (FPS). Must be less than or
|
|
1912
|
+
equal to 120.
|
|
1913
|
+
frame_rate_conversion_strategy (google.cloud.video.transcoder_v1.types.VideoStream.FrameRateConversionStrategy):
|
|
1914
|
+
Optional. Frame rate conversion strategy for desired frame
|
|
1915
|
+
rate. The default is ``DOWNSAMPLE``.
|
|
1767
1916
|
bitrate_bps (int):
|
|
1768
1917
|
Required. The video bitrate in bits per
|
|
1769
1918
|
second. The minimum value is 1,000. The maximum
|
|
@@ -1783,7 +1932,7 @@ class VideoStream(proto.Message):
|
|
|
1783
1932
|
- ``yuv422p12`` 12-bit HDR pixel format
|
|
1784
1933
|
- ``yuv444p12`` 12-bit HDR pixel format
|
|
1785
1934
|
rate_control_mode (str):
|
|
1786
|
-
Specify the
|
|
1935
|
+
Specify the mode. The default is ``vbr``.
|
|
1787
1936
|
|
|
1788
1937
|
Supported rate control modes:
|
|
1789
1938
|
|
|
@@ -1811,8 +1960,9 @@ class VideoStream(proto.Message):
|
|
|
1811
1960
|
This field is a member of `oneof`_ ``gop_mode``.
|
|
1812
1961
|
enable_two_pass (bool):
|
|
1813
1962
|
Use two-pass encoding strategy to achieve better video
|
|
1814
|
-
quality.
|
|
1815
|
-
|
|
1963
|
+
quality.
|
|
1964
|
+
[H265CodecSettings.rate_control_mode][google.cloud.video.transcoder.v1.VideoStream.H265CodecSettings.rate_control_mode]
|
|
1965
|
+
must be ``vbr``. The default is ``false``.
|
|
1816
1966
|
vbv_size_bits (int):
|
|
1817
1967
|
Size of the Video Buffering Verifier (VBV) buffer in bits.
|
|
1818
1968
|
Must be greater than zero. The default is equal to
|
|
@@ -1820,14 +1970,16 @@ class VideoStream(proto.Message):
|
|
|
1820
1970
|
vbv_fullness_bits (int):
|
|
1821
1971
|
Initial fullness of the Video Buffering Verifier (VBV)
|
|
1822
1972
|
buffer in bits. Must be greater than zero. The default is
|
|
1823
|
-
equal to 90% of
|
|
1973
|
+
equal to 90% of
|
|
1974
|
+
[H265CodecSettings.vbv_size_bits][google.cloud.video.transcoder.v1.VideoStream.H265CodecSettings.vbv_size_bits].
|
|
1824
1975
|
b_pyramid (bool):
|
|
1825
1976
|
Allow B-pyramid for reference frame selection. This may not
|
|
1826
1977
|
be supported on all decoders. The default is ``false``.
|
|
1827
1978
|
b_frame_count (int):
|
|
1828
1979
|
The number of consecutive B-frames. Must be greater than or
|
|
1829
1980
|
equal to zero. Must be less than
|
|
1830
|
-
|
|
1981
|
+
[H265CodecSettings.gop_frame_count][google.cloud.video.transcoder.v1.VideoStream.H265CodecSettings.gop_frame_count]
|
|
1982
|
+
if set. The default is 0.
|
|
1831
1983
|
aq_strength (float):
|
|
1832
1984
|
Specify the intensity of the adaptive
|
|
1833
1985
|
quantizer (AQ). Must be between 0 and 1, where 0
|
|
@@ -1880,6 +2032,19 @@ class VideoStream(proto.Message):
|
|
|
1880
2032
|
Note that certain values for this field may cause the
|
|
1881
2033
|
transcoder to override other fields you set in the
|
|
1882
2034
|
``H265CodecSettings`` message.
|
|
2035
|
+
sdr (google.cloud.video.transcoder_v1.types.VideoStream.H265ColorFormatSDR):
|
|
2036
|
+
Optional. SDR color format setting for H265.
|
|
2037
|
+
|
|
2038
|
+
This field is a member of `oneof`_ ``color_format``.
|
|
2039
|
+
hlg (google.cloud.video.transcoder_v1.types.VideoStream.H265ColorFormatHLG):
|
|
2040
|
+
Optional. HLG color format setting for H265.
|
|
2041
|
+
|
|
2042
|
+
This field is a member of `oneof`_ ``color_format``.
|
|
2043
|
+
hdr10 (google.cloud.video.transcoder_v1.types.VideoStream.H265ColorFormatHDR10):
|
|
2044
|
+
Optional. HDR10 color format setting for
|
|
2045
|
+
H265.
|
|
2046
|
+
|
|
2047
|
+
This field is a member of `oneof`_ ``color_format``.
|
|
1883
2048
|
"""
|
|
1884
2049
|
|
|
1885
2050
|
width_pixels: int = proto.Field(
|
|
@@ -1894,6 +2059,13 @@ class VideoStream(proto.Message):
|
|
|
1894
2059
|
proto.DOUBLE,
|
|
1895
2060
|
number=3,
|
|
1896
2061
|
)
|
|
2062
|
+
frame_rate_conversion_strategy: "VideoStream.FrameRateConversionStrategy" = (
|
|
2063
|
+
proto.Field(
|
|
2064
|
+
proto.ENUM,
|
|
2065
|
+
number=23,
|
|
2066
|
+
enum="VideoStream.FrameRateConversionStrategy",
|
|
2067
|
+
)
|
|
2068
|
+
)
|
|
1897
2069
|
bitrate_bps: int = proto.Field(
|
|
1898
2070
|
proto.INT32,
|
|
1899
2071
|
number=4,
|
|
@@ -1961,6 +2133,33 @@ class VideoStream(proto.Message):
|
|
|
1961
2133
|
proto.STRING,
|
|
1962
2134
|
number=19,
|
|
1963
2135
|
)
|
|
2136
|
+
sdr: "VideoStream.H265ColorFormatSDR" = proto.Field(
|
|
2137
|
+
proto.MESSAGE,
|
|
2138
|
+
number=20,
|
|
2139
|
+
oneof="color_format",
|
|
2140
|
+
message="VideoStream.H265ColorFormatSDR",
|
|
2141
|
+
)
|
|
2142
|
+
hlg: "VideoStream.H265ColorFormatHLG" = proto.Field(
|
|
2143
|
+
proto.MESSAGE,
|
|
2144
|
+
number=21,
|
|
2145
|
+
oneof="color_format",
|
|
2146
|
+
message="VideoStream.H265ColorFormatHLG",
|
|
2147
|
+
)
|
|
2148
|
+
hdr10: "VideoStream.H265ColorFormatHDR10" = proto.Field(
|
|
2149
|
+
proto.MESSAGE,
|
|
2150
|
+
number=22,
|
|
2151
|
+
oneof="color_format",
|
|
2152
|
+
message="VideoStream.H265ColorFormatHDR10",
|
|
2153
|
+
)
|
|
2154
|
+
|
|
2155
|
+
class Vp9ColorFormatSDR(proto.Message):
|
|
2156
|
+
r"""Convert the input video to a Standard Dynamic Range (SDR)
|
|
2157
|
+
video.
|
|
2158
|
+
|
|
2159
|
+
"""
|
|
2160
|
+
|
|
2161
|
+
class Vp9ColorFormatHLG(proto.Message):
|
|
2162
|
+
r"""Convert the input video to a Hybrid Log Gamma (HLG) video."""
|
|
1964
2163
|
|
|
1965
2164
|
class Vp9CodecSettings(proto.Message):
|
|
1966
2165
|
r"""VP9 codec settings.
|
|
@@ -2000,14 +2199,12 @@ class VideoStream(proto.Message):
|
|
|
2000
2199
|
API detects any rotation metadata and swaps the
|
|
2001
2200
|
requested height and width for the output.
|
|
2002
2201
|
frame_rate (float):
|
|
2003
|
-
Required. The target video frame rate in
|
|
2004
|
-
(FPS). Must be less than or
|
|
2005
|
-
|
|
2006
|
-
|
|
2007
|
-
|
|
2008
|
-
|
|
2009
|
-
rate <https://cloud.google.com/transcoder/docs/concepts/frame-rate>`__
|
|
2010
|
-
for more information.
|
|
2202
|
+
Required. The target video frame rate in
|
|
2203
|
+
frames per second (FPS). Must be less than or
|
|
2204
|
+
equal to 120.
|
|
2205
|
+
frame_rate_conversion_strategy (google.cloud.video.transcoder_v1.types.VideoStream.FrameRateConversionStrategy):
|
|
2206
|
+
Optional. Frame rate conversion strategy for desired frame
|
|
2207
|
+
rate. The default is ``DOWNSAMPLE``.
|
|
2011
2208
|
bitrate_bps (int):
|
|
2012
2209
|
Required. The video bitrate in bits per
|
|
2013
2210
|
second. The minimum value is 1,000. The maximum
|
|
@@ -2027,7 +2224,7 @@ class VideoStream(proto.Message):
|
|
|
2027
2224
|
- ``yuv422p12`` 12-bit HDR pixel format
|
|
2028
2225
|
- ``yuv444p12`` 12-bit HDR pixel format
|
|
2029
2226
|
rate_control_mode (str):
|
|
2030
|
-
Specify the
|
|
2227
|
+
Specify the mode. The default is ``vbr``.
|
|
2031
2228
|
|
|
2032
2229
|
Supported rate control modes:
|
|
2033
2230
|
|
|
@@ -2065,6 +2262,14 @@ class VideoStream(proto.Message):
|
|
|
2065
2262
|
Note that certain values for this field may cause the
|
|
2066
2263
|
transcoder to override other fields you set in the
|
|
2067
2264
|
``Vp9CodecSettings`` message.
|
|
2265
|
+
sdr (google.cloud.video.transcoder_v1.types.VideoStream.Vp9ColorFormatSDR):
|
|
2266
|
+
Optional. SDR color format setting for VP9.
|
|
2267
|
+
|
|
2268
|
+
This field is a member of `oneof`_ ``color_format``.
|
|
2269
|
+
hlg (google.cloud.video.transcoder_v1.types.VideoStream.Vp9ColorFormatHLG):
|
|
2270
|
+
Optional. HLG color format setting for VP9.
|
|
2271
|
+
|
|
2272
|
+
This field is a member of `oneof`_ ``color_format``.
|
|
2068
2273
|
"""
|
|
2069
2274
|
|
|
2070
2275
|
width_pixels: int = proto.Field(
|
|
@@ -2079,6 +2284,13 @@ class VideoStream(proto.Message):
|
|
|
2079
2284
|
proto.DOUBLE,
|
|
2080
2285
|
number=3,
|
|
2081
2286
|
)
|
|
2287
|
+
frame_rate_conversion_strategy: "VideoStream.FrameRateConversionStrategy" = (
|
|
2288
|
+
proto.Field(
|
|
2289
|
+
proto.ENUM,
|
|
2290
|
+
number=13,
|
|
2291
|
+
enum="VideoStream.FrameRateConversionStrategy",
|
|
2292
|
+
)
|
|
2293
|
+
)
|
|
2082
2294
|
bitrate_bps: int = proto.Field(
|
|
2083
2295
|
proto.INT32,
|
|
2084
2296
|
number=4,
|
|
@@ -2110,6 +2322,18 @@ class VideoStream(proto.Message):
|
|
|
2110
2322
|
proto.STRING,
|
|
2111
2323
|
number=10,
|
|
2112
2324
|
)
|
|
2325
|
+
sdr: "VideoStream.Vp9ColorFormatSDR" = proto.Field(
|
|
2326
|
+
proto.MESSAGE,
|
|
2327
|
+
number=11,
|
|
2328
|
+
oneof="color_format",
|
|
2329
|
+
message="VideoStream.Vp9ColorFormatSDR",
|
|
2330
|
+
)
|
|
2331
|
+
hlg: "VideoStream.Vp9ColorFormatHLG" = proto.Field(
|
|
2332
|
+
proto.MESSAGE,
|
|
2333
|
+
number=12,
|
|
2334
|
+
oneof="color_format",
|
|
2335
|
+
message="VideoStream.Vp9ColorFormatHLG",
|
|
2336
|
+
)
|
|
2113
2337
|
|
|
2114
2338
|
h264: H264CodecSettings = proto.Field(
|
|
2115
2339
|
proto.MESSAGE,
|
|
@@ -2146,6 +2370,7 @@ class AudioStream(proto.Message):
|
|
|
2146
2370
|
- ``mp3``
|
|
2147
2371
|
- ``ac3``
|
|
2148
2372
|
- ``eac3``
|
|
2373
|
+
- ``vorbis``
|
|
2149
2374
|
bitrate_bps (int):
|
|
2150
2375
|
Required. Audio bitrate in bits per second.
|
|
2151
2376
|
Must be between 1 and 10,000,000.
|
|
@@ -2167,8 +2392,10 @@ class AudioStream(proto.Message):
|
|
|
2167
2392
|
- ``fc`` - Front center channel
|
|
2168
2393
|
- ``lfe`` - Low frequency
|
|
2169
2394
|
mapping_ (MutableSequence[google.cloud.video.transcoder_v1.types.AudioStream.AudioMapping]):
|
|
2170
|
-
The mapping for the
|
|
2171
|
-
|
|
2395
|
+
The mapping for the
|
|
2396
|
+
[JobConfig.edit_list][google.cloud.video.transcoder.v1.JobConfig.edit_list]
|
|
2397
|
+
atoms with audio
|
|
2398
|
+
[EditAtom.inputs][google.cloud.video.transcoder.v1.EditAtom.inputs].
|
|
2172
2399
|
sample_rate_hertz (int):
|
|
2173
2400
|
The audio sample rate in Hertz. The default
|
|
2174
2401
|
is 48000 Hertz.
|
|
@@ -2184,15 +2411,21 @@ class AudioStream(proto.Message):
|
|
|
2184
2411
|
"""
|
|
2185
2412
|
|
|
2186
2413
|
class AudioMapping(proto.Message):
|
|
2187
|
-
r"""The mapping for the
|
|
2188
|
-
|
|
2414
|
+
r"""The mapping for the
|
|
2415
|
+
[JobConfig.edit_list][google.cloud.video.transcoder.v1.JobConfig.edit_list]
|
|
2416
|
+
atoms with audio
|
|
2417
|
+
[EditAtom.inputs][google.cloud.video.transcoder.v1.EditAtom.inputs].
|
|
2189
2418
|
|
|
2190
2419
|
Attributes:
|
|
2191
2420
|
atom_key (str):
|
|
2192
|
-
Required. The
|
|
2193
|
-
|
|
2421
|
+
Required. The
|
|
2422
|
+
[EditAtom.key][google.cloud.video.transcoder.v1.EditAtom.key]
|
|
2423
|
+
that references the atom with audio inputs in the
|
|
2424
|
+
[JobConfig.edit_list][google.cloud.video.transcoder.v1.JobConfig.edit_list].
|
|
2194
2425
|
input_key (str):
|
|
2195
|
-
Required. The
|
|
2426
|
+
Required. The
|
|
2427
|
+
[Input.key][google.cloud.video.transcoder.v1.Input.key] that
|
|
2428
|
+
identifies the input file.
|
|
2196
2429
|
input_track (int):
|
|
2197
2430
|
Required. The zero-based index of the track
|
|
2198
2431
|
in the input file.
|
|
@@ -2289,8 +2522,10 @@ class TextStream(proto.Message):
|
|
|
2289
2522
|
https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
|
|
2290
2523
|
Not supported in MP4 files.
|
|
2291
2524
|
mapping_ (MutableSequence[google.cloud.video.transcoder_v1.types.TextStream.TextMapping]):
|
|
2292
|
-
The mapping for the
|
|
2293
|
-
|
|
2525
|
+
The mapping for the
|
|
2526
|
+
[JobConfig.edit_list][google.cloud.video.transcoder.v1.JobConfig.edit_list]
|
|
2527
|
+
atoms with text
|
|
2528
|
+
[EditAtom.inputs][google.cloud.video.transcoder.v1.EditAtom.inputs].
|
|
2294
2529
|
display_name (str):
|
|
2295
2530
|
The name for this particular text stream that
|
|
2296
2531
|
will be added to the HLS/DASH manifest. Not
|
|
@@ -2298,15 +2533,21 @@ class TextStream(proto.Message):
|
|
|
2298
2533
|
"""
|
|
2299
2534
|
|
|
2300
2535
|
class TextMapping(proto.Message):
|
|
2301
|
-
r"""The mapping for the
|
|
2302
|
-
|
|
2536
|
+
r"""The mapping for the
|
|
2537
|
+
[JobConfig.edit_list][google.cloud.video.transcoder.v1.JobConfig.edit_list]
|
|
2538
|
+
atoms with text
|
|
2539
|
+
[EditAtom.inputs][google.cloud.video.transcoder.v1.EditAtom.inputs].
|
|
2303
2540
|
|
|
2304
2541
|
Attributes:
|
|
2305
2542
|
atom_key (str):
|
|
2306
|
-
Required. The
|
|
2307
|
-
|
|
2543
|
+
Required. The
|
|
2544
|
+
[EditAtom.key][google.cloud.video.transcoder.v1.EditAtom.key]
|
|
2545
|
+
that references atom with text inputs in the
|
|
2546
|
+
[JobConfig.edit_list][google.cloud.video.transcoder.v1.JobConfig.edit_list].
|
|
2308
2547
|
input_key (str):
|
|
2309
|
-
Required. The
|
|
2548
|
+
Required. The
|
|
2549
|
+
[Input.key][google.cloud.video.transcoder.v1.Input.key] that
|
|
2550
|
+
identifies the input file.
|
|
2310
2551
|
input_track (int):
|
|
2311
2552
|
Required. The zero-based index of the track
|
|
2312
2553
|
in the input file.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: google-cloud-video-transcoder
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.16.0
|
|
4
4
|
Summary: Google Cloud Video Transcoder API client library
|
|
5
5
|
Home-page: https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-video-transcoder
|
|
6
6
|
Author: Google LLC
|
|
@@ -1181,6 +1181,7 @@ def test_create_job(request_type, transport: str = "grpc"):
|
|
|
1181
1181
|
mode=resources.Job.ProcessingMode.PROCESSING_MODE_INTERACTIVE,
|
|
1182
1182
|
batch_mode_priority=2023,
|
|
1183
1183
|
optimization=resources.Job.OptimizationStrategy.AUTODETECT,
|
|
1184
|
+
fill_content_gaps=True,
|
|
1184
1185
|
template_id="template_id_value",
|
|
1185
1186
|
)
|
|
1186
1187
|
response = client.create_job(request)
|
|
@@ -1201,6 +1202,7 @@ def test_create_job(request_type, transport: str = "grpc"):
|
|
|
1201
1202
|
assert response.mode == resources.Job.ProcessingMode.PROCESSING_MODE_INTERACTIVE
|
|
1202
1203
|
assert response.batch_mode_priority == 2023
|
|
1203
1204
|
assert response.optimization == resources.Job.OptimizationStrategy.AUTODETECT
|
|
1205
|
+
assert response.fill_content_gaps is True
|
|
1204
1206
|
|
|
1205
1207
|
|
|
1206
1208
|
def test_create_job_non_empty_request_with_auto_populated_field():
|
|
@@ -1332,6 +1334,7 @@ async def test_create_job_async(
|
|
|
1332
1334
|
mode=resources.Job.ProcessingMode.PROCESSING_MODE_INTERACTIVE,
|
|
1333
1335
|
batch_mode_priority=2023,
|
|
1334
1336
|
optimization=resources.Job.OptimizationStrategy.AUTODETECT,
|
|
1337
|
+
fill_content_gaps=True,
|
|
1335
1338
|
)
|
|
1336
1339
|
)
|
|
1337
1340
|
response = await client.create_job(request)
|
|
@@ -1352,6 +1355,7 @@ async def test_create_job_async(
|
|
|
1352
1355
|
assert response.mode == resources.Job.ProcessingMode.PROCESSING_MODE_INTERACTIVE
|
|
1353
1356
|
assert response.batch_mode_priority == 2023
|
|
1354
1357
|
assert response.optimization == resources.Job.OptimizationStrategy.AUTODETECT
|
|
1358
|
+
assert response.fill_content_gaps is True
|
|
1355
1359
|
|
|
1356
1360
|
|
|
1357
1361
|
@pytest.mark.asyncio
|
|
@@ -2062,6 +2066,7 @@ def test_get_job(request_type, transport: str = "grpc"):
|
|
|
2062
2066
|
mode=resources.Job.ProcessingMode.PROCESSING_MODE_INTERACTIVE,
|
|
2063
2067
|
batch_mode_priority=2023,
|
|
2064
2068
|
optimization=resources.Job.OptimizationStrategy.AUTODETECT,
|
|
2069
|
+
fill_content_gaps=True,
|
|
2065
2070
|
template_id="template_id_value",
|
|
2066
2071
|
)
|
|
2067
2072
|
response = client.get_job(request)
|
|
@@ -2082,6 +2087,7 @@ def test_get_job(request_type, transport: str = "grpc"):
|
|
|
2082
2087
|
assert response.mode == resources.Job.ProcessingMode.PROCESSING_MODE_INTERACTIVE
|
|
2083
2088
|
assert response.batch_mode_priority == 2023
|
|
2084
2089
|
assert response.optimization == resources.Job.OptimizationStrategy.AUTODETECT
|
|
2090
|
+
assert response.fill_content_gaps is True
|
|
2085
2091
|
|
|
2086
2092
|
|
|
2087
2093
|
def test_get_job_non_empty_request_with_auto_populated_field():
|
|
@@ -2213,6 +2219,7 @@ async def test_get_job_async(
|
|
|
2213
2219
|
mode=resources.Job.ProcessingMode.PROCESSING_MODE_INTERACTIVE,
|
|
2214
2220
|
batch_mode_priority=2023,
|
|
2215
2221
|
optimization=resources.Job.OptimizationStrategy.AUTODETECT,
|
|
2222
|
+
fill_content_gaps=True,
|
|
2216
2223
|
)
|
|
2217
2224
|
)
|
|
2218
2225
|
response = await client.get_job(request)
|
|
@@ -2233,6 +2240,7 @@ async def test_get_job_async(
|
|
|
2233
2240
|
assert response.mode == resources.Job.ProcessingMode.PROCESSING_MODE_INTERACTIVE
|
|
2234
2241
|
assert response.batch_mode_priority == 2023
|
|
2235
2242
|
assert response.optimization == resources.Job.OptimizationStrategy.AUTODETECT
|
|
2243
|
+
assert response.fill_content_gaps is True
|
|
2236
2244
|
|
|
2237
2245
|
|
|
2238
2246
|
@pytest.mark.asyncio
|
|
@@ -6198,6 +6206,7 @@ async def test_create_job_empty_call_grpc_asyncio():
|
|
|
6198
6206
|
mode=resources.Job.ProcessingMode.PROCESSING_MODE_INTERACTIVE,
|
|
6199
6207
|
batch_mode_priority=2023,
|
|
6200
6208
|
optimization=resources.Job.OptimizationStrategy.AUTODETECT,
|
|
6209
|
+
fill_content_gaps=True,
|
|
6201
6210
|
)
|
|
6202
6211
|
)
|
|
6203
6212
|
await client.create_job(request=None)
|
|
@@ -6260,6 +6269,7 @@ async def test_get_job_empty_call_grpc_asyncio():
|
|
|
6260
6269
|
mode=resources.Job.ProcessingMode.PROCESSING_MODE_INTERACTIVE,
|
|
6261
6270
|
batch_mode_priority=2023,
|
|
6262
6271
|
optimization=resources.Job.OptimizationStrategy.AUTODETECT,
|
|
6272
|
+
fill_content_gaps=True,
|
|
6263
6273
|
)
|
|
6264
6274
|
)
|
|
6265
6275
|
await client.get_job(request=None)
|
|
@@ -6513,6 +6523,7 @@ def test_create_job_rest_call_success(request_type):
|
|
|
6513
6523
|
"width_pixels": 1300,
|
|
6514
6524
|
"height_pixels": 1389,
|
|
6515
6525
|
"frame_rate": 0.1046,
|
|
6526
|
+
"frame_rate_conversion_strategy": 1,
|
|
6516
6527
|
"bitrate_bps": 1167,
|
|
6517
6528
|
"pixel_format": "pixel_format_value",
|
|
6518
6529
|
"rate_control_mode": "rate_control_mode_value",
|
|
@@ -6530,11 +6541,14 @@ def test_create_job_rest_call_success(request_type):
|
|
|
6530
6541
|
"profile": "profile_value",
|
|
6531
6542
|
"tune": "tune_value",
|
|
6532
6543
|
"preset": "preset_value",
|
|
6544
|
+
"sdr": {},
|
|
6545
|
+
"hlg": {},
|
|
6533
6546
|
},
|
|
6534
6547
|
"h265": {
|
|
6535
6548
|
"width_pixels": 1300,
|
|
6536
6549
|
"height_pixels": 1389,
|
|
6537
6550
|
"frame_rate": 0.1046,
|
|
6551
|
+
"frame_rate_conversion_strategy": 1,
|
|
6538
6552
|
"bitrate_bps": 1167,
|
|
6539
6553
|
"pixel_format": "pixel_format_value",
|
|
6540
6554
|
"rate_control_mode": "rate_control_mode_value",
|
|
@@ -6551,11 +6565,15 @@ def test_create_job_rest_call_success(request_type):
|
|
|
6551
6565
|
"profile": "profile_value",
|
|
6552
6566
|
"tune": "tune_value",
|
|
6553
6567
|
"preset": "preset_value",
|
|
6568
|
+
"sdr": {},
|
|
6569
|
+
"hlg": {},
|
|
6570
|
+
"hdr10": {},
|
|
6554
6571
|
},
|
|
6555
6572
|
"vp9": {
|
|
6556
6573
|
"width_pixels": 1300,
|
|
6557
6574
|
"height_pixels": 1389,
|
|
6558
6575
|
"frame_rate": 0.1046,
|
|
6576
|
+
"frame_rate_conversion_strategy": 1,
|
|
6559
6577
|
"bitrate_bps": 1167,
|
|
6560
6578
|
"pixel_format": "pixel_format_value",
|
|
6561
6579
|
"rate_control_mode": "rate_control_mode_value",
|
|
@@ -6563,6 +6581,8 @@ def test_create_job_rest_call_success(request_type):
|
|
|
6563
6581
|
"gop_frame_count": 1592,
|
|
6564
6582
|
"gop_duration": {},
|
|
6565
6583
|
"profile": "profile_value",
|
|
6584
|
+
"sdr": {},
|
|
6585
|
+
"hlg": {},
|
|
6566
6586
|
},
|
|
6567
6587
|
},
|
|
6568
6588
|
"audio_stream": {
|
|
@@ -6615,6 +6635,7 @@ def test_create_job_rest_call_success(request_type):
|
|
|
6615
6635
|
"individual_segments": True,
|
|
6616
6636
|
},
|
|
6617
6637
|
"encryption_id": "encryption_id_value",
|
|
6638
|
+
"fmp4": {"codec_tag": "codec_tag_value"},
|
|
6618
6639
|
}
|
|
6619
6640
|
],
|
|
6620
6641
|
"manifests": [
|
|
@@ -6701,6 +6722,7 @@ def test_create_job_rest_call_success(request_type):
|
|
|
6701
6722
|
"mode": 1,
|
|
6702
6723
|
"batch_mode_priority": 2023,
|
|
6703
6724
|
"optimization": 1,
|
|
6725
|
+
"fill_content_gaps": True,
|
|
6704
6726
|
}
|
|
6705
6727
|
# The version of a generated dependency at test runtime may differ from the version used during generation.
|
|
6706
6728
|
# Delete any fields which are not present in the current runtime dependency
|
|
@@ -6783,6 +6805,7 @@ def test_create_job_rest_call_success(request_type):
|
|
|
6783
6805
|
mode=resources.Job.ProcessingMode.PROCESSING_MODE_INTERACTIVE,
|
|
6784
6806
|
batch_mode_priority=2023,
|
|
6785
6807
|
optimization=resources.Job.OptimizationStrategy.AUTODETECT,
|
|
6808
|
+
fill_content_gaps=True,
|
|
6786
6809
|
template_id="template_id_value",
|
|
6787
6810
|
)
|
|
6788
6811
|
|
|
@@ -6808,6 +6831,7 @@ def test_create_job_rest_call_success(request_type):
|
|
|
6808
6831
|
assert response.mode == resources.Job.ProcessingMode.PROCESSING_MODE_INTERACTIVE
|
|
6809
6832
|
assert response.batch_mode_priority == 2023
|
|
6810
6833
|
assert response.optimization == resources.Job.OptimizationStrategy.AUTODETECT
|
|
6834
|
+
assert response.fill_content_gaps is True
|
|
6811
6835
|
|
|
6812
6836
|
|
|
6813
6837
|
@pytest.mark.parametrize("null_interceptor", [True, False])
|
|
@@ -7046,6 +7070,7 @@ def test_get_job_rest_call_success(request_type):
|
|
|
7046
7070
|
mode=resources.Job.ProcessingMode.PROCESSING_MODE_INTERACTIVE,
|
|
7047
7071
|
batch_mode_priority=2023,
|
|
7048
7072
|
optimization=resources.Job.OptimizationStrategy.AUTODETECT,
|
|
7073
|
+
fill_content_gaps=True,
|
|
7049
7074
|
template_id="template_id_value",
|
|
7050
7075
|
)
|
|
7051
7076
|
|
|
@@ -7071,6 +7096,7 @@ def test_get_job_rest_call_success(request_type):
|
|
|
7071
7096
|
assert response.mode == resources.Job.ProcessingMode.PROCESSING_MODE_INTERACTIVE
|
|
7072
7097
|
assert response.batch_mode_priority == 2023
|
|
7073
7098
|
assert response.optimization == resources.Job.OptimizationStrategy.AUTODETECT
|
|
7099
|
+
assert response.fill_content_gaps is True
|
|
7074
7100
|
|
|
7075
7101
|
|
|
7076
7102
|
@pytest.mark.parametrize("null_interceptor", [True, False])
|
|
@@ -7337,6 +7363,7 @@ def test_create_job_template_rest_call_success(request_type):
|
|
|
7337
7363
|
"width_pixels": 1300,
|
|
7338
7364
|
"height_pixels": 1389,
|
|
7339
7365
|
"frame_rate": 0.1046,
|
|
7366
|
+
"frame_rate_conversion_strategy": 1,
|
|
7340
7367
|
"bitrate_bps": 1167,
|
|
7341
7368
|
"pixel_format": "pixel_format_value",
|
|
7342
7369
|
"rate_control_mode": "rate_control_mode_value",
|
|
@@ -7354,11 +7381,14 @@ def test_create_job_template_rest_call_success(request_type):
|
|
|
7354
7381
|
"profile": "profile_value",
|
|
7355
7382
|
"tune": "tune_value",
|
|
7356
7383
|
"preset": "preset_value",
|
|
7384
|
+
"sdr": {},
|
|
7385
|
+
"hlg": {},
|
|
7357
7386
|
},
|
|
7358
7387
|
"h265": {
|
|
7359
7388
|
"width_pixels": 1300,
|
|
7360
7389
|
"height_pixels": 1389,
|
|
7361
7390
|
"frame_rate": 0.1046,
|
|
7391
|
+
"frame_rate_conversion_strategy": 1,
|
|
7362
7392
|
"bitrate_bps": 1167,
|
|
7363
7393
|
"pixel_format": "pixel_format_value",
|
|
7364
7394
|
"rate_control_mode": "rate_control_mode_value",
|
|
@@ -7375,11 +7405,15 @@ def test_create_job_template_rest_call_success(request_type):
|
|
|
7375
7405
|
"profile": "profile_value",
|
|
7376
7406
|
"tune": "tune_value",
|
|
7377
7407
|
"preset": "preset_value",
|
|
7408
|
+
"sdr": {},
|
|
7409
|
+
"hlg": {},
|
|
7410
|
+
"hdr10": {},
|
|
7378
7411
|
},
|
|
7379
7412
|
"vp9": {
|
|
7380
7413
|
"width_pixels": 1300,
|
|
7381
7414
|
"height_pixels": 1389,
|
|
7382
7415
|
"frame_rate": 0.1046,
|
|
7416
|
+
"frame_rate_conversion_strategy": 1,
|
|
7383
7417
|
"bitrate_bps": 1167,
|
|
7384
7418
|
"pixel_format": "pixel_format_value",
|
|
7385
7419
|
"rate_control_mode": "rate_control_mode_value",
|
|
@@ -7387,6 +7421,8 @@ def test_create_job_template_rest_call_success(request_type):
|
|
|
7387
7421
|
"gop_frame_count": 1592,
|
|
7388
7422
|
"gop_duration": {},
|
|
7389
7423
|
"profile": "profile_value",
|
|
7424
|
+
"sdr": {},
|
|
7425
|
+
"hlg": {},
|
|
7390
7426
|
},
|
|
7391
7427
|
},
|
|
7392
7428
|
"audio_stream": {
|
|
@@ -7439,6 +7475,7 @@ def test_create_job_template_rest_call_success(request_type):
|
|
|
7439
7475
|
"individual_segments": True,
|
|
7440
7476
|
},
|
|
7441
7477
|
"encryption_id": "encryption_id_value",
|
|
7478
|
+
"fmp4": {"codec_tag": "codec_tag_value"},
|
|
7442
7479
|
}
|
|
7443
7480
|
],
|
|
7444
7481
|
"manifests": [
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/tests/__init__.py
RENAMED
|
File without changes
|
{google_cloud_video_transcoder-1.15.2 → google_cloud_video_transcoder-1.16.0}/tests/unit/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|