aws-cdk.aws-ivs-alpha 2.178.2a0__tar.gz → 2.180.0a0__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.
Potentially problematic release.
This version of aws-cdk.aws-ivs-alpha might be problematic. Click here for more details.
- {aws_cdk_aws_ivs_alpha-2.178.2a0/src/aws_cdk.aws_ivs_alpha.egg-info → aws_cdk_aws_ivs_alpha-2.180.0a0}/PKG-INFO +22 -2
- {aws_cdk_aws_ivs_alpha-2.178.2a0 → aws_cdk_aws_ivs_alpha-2.180.0a0}/README.md +20 -0
- {aws_cdk_aws_ivs_alpha-2.178.2a0 → aws_cdk_aws_ivs_alpha-2.180.0a0}/setup.py +3 -3
- {aws_cdk_aws_ivs_alpha-2.178.2a0 → aws_cdk_aws_ivs_alpha-2.180.0a0}/src/aws_cdk/aws_ivs_alpha/__init__.py +259 -3
- {aws_cdk_aws_ivs_alpha-2.178.2a0 → aws_cdk_aws_ivs_alpha-2.180.0a0}/src/aws_cdk/aws_ivs_alpha/_jsii/__init__.py +2 -2
- aws_cdk_aws_ivs_alpha-2.180.0a0/src/aws_cdk/aws_ivs_alpha/_jsii/aws-ivs-alpha@2.180.0-alpha.0.jsii.tgz +0 -0
- {aws_cdk_aws_ivs_alpha-2.178.2a0 → aws_cdk_aws_ivs_alpha-2.180.0a0/src/aws_cdk.aws_ivs_alpha.egg-info}/PKG-INFO +22 -2
- {aws_cdk_aws_ivs_alpha-2.178.2a0 → aws_cdk_aws_ivs_alpha-2.180.0a0}/src/aws_cdk.aws_ivs_alpha.egg-info/SOURCES.txt +1 -1
- {aws_cdk_aws_ivs_alpha-2.178.2a0 → aws_cdk_aws_ivs_alpha-2.180.0a0}/src/aws_cdk.aws_ivs_alpha.egg-info/requires.txt +1 -1
- aws_cdk_aws_ivs_alpha-2.178.2a0/src/aws_cdk/aws_ivs_alpha/_jsii/aws-ivs-alpha@2.178.2-alpha.0.jsii.tgz +0 -0
- {aws_cdk_aws_ivs_alpha-2.178.2a0 → aws_cdk_aws_ivs_alpha-2.180.0a0}/LICENSE +0 -0
- {aws_cdk_aws_ivs_alpha-2.178.2a0 → aws_cdk_aws_ivs_alpha-2.180.0a0}/MANIFEST.in +0 -0
- {aws_cdk_aws_ivs_alpha-2.178.2a0 → aws_cdk_aws_ivs_alpha-2.180.0a0}/NOTICE +0 -0
- {aws_cdk_aws_ivs_alpha-2.178.2a0 → aws_cdk_aws_ivs_alpha-2.180.0a0}/pyproject.toml +0 -0
- {aws_cdk_aws_ivs_alpha-2.178.2a0 → aws_cdk_aws_ivs_alpha-2.180.0a0}/setup.cfg +0 -0
- {aws_cdk_aws_ivs_alpha-2.178.2a0 → aws_cdk_aws_ivs_alpha-2.180.0a0}/src/aws_cdk/aws_ivs_alpha/py.typed +0 -0
- {aws_cdk_aws_ivs_alpha-2.178.2a0 → aws_cdk_aws_ivs_alpha-2.180.0a0}/src/aws_cdk.aws_ivs_alpha.egg-info/dependency_links.txt +0 -0
- {aws_cdk_aws_ivs_alpha-2.178.2a0 → aws_cdk_aws_ivs_alpha-2.180.0a0}/src/aws_cdk.aws_ivs_alpha.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: aws-cdk.aws-ivs-alpha
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.180.0a0
|
|
4
4
|
Summary: The CDK Construct Library for AWS::IVS
|
|
5
5
|
Home-page: https://github.com/aws/aws-cdk
|
|
6
6
|
Author: Amazon Web Services
|
|
@@ -23,7 +23,7 @@ Requires-Python: ~=3.8
|
|
|
23
23
|
Description-Content-Type: text/markdown
|
|
24
24
|
License-File: LICENSE
|
|
25
25
|
License-File: NOTICE
|
|
26
|
-
Requires-Dist: aws-cdk-lib<3.0.0,>=2.
|
|
26
|
+
Requires-Dist: aws-cdk-lib<3.0.0,>=2.180.0
|
|
27
27
|
Requires-Dist: constructs<11.0.0,>=10.0.0
|
|
28
28
|
Requires-Dist: jsii<2.0.0,>=1.106.0
|
|
29
29
|
Requires-Dist: publication>=0.0.3
|
|
@@ -97,6 +97,26 @@ my_rtmp_channel = ivs.Channel(self, "myRtmpChannel",
|
|
|
97
97
|
)
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
+
### Multitrack Video
|
|
101
|
+
|
|
102
|
+
Multitrack video is a new, low-latency streaming paradigm supported by Amazon Interactive Video Service (IVS) and services that use Amazon IVS.
|
|
103
|
+
|
|
104
|
+
You can use Multitrack Video by setting the `multitrackInputConfiguration` property.
|
|
105
|
+
Multitrack Video requires both a STANDARD Channel and Fragmented Mp4.
|
|
106
|
+
|
|
107
|
+
For more information, see [Amazon IVS Multitrack Video](https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/multitrack-video.html).
|
|
108
|
+
|
|
109
|
+
```python
|
|
110
|
+
ivs.Channel(self, "ChannelWithMultitrackVideo",
|
|
111
|
+
type=ivs.ChannelType.STANDARD,
|
|
112
|
+
container_format=ivs.ContainerFormat.FRAGMENTED_MP4,
|
|
113
|
+
multitrack_input_configuration=ivs.MultitrackInputConfiguration(
|
|
114
|
+
maximum_resolution=ivs.MaximumResolution.HD,
|
|
115
|
+
policy=ivs.Policy.ALLOW
|
|
116
|
+
)
|
|
117
|
+
)
|
|
118
|
+
```
|
|
119
|
+
|
|
100
120
|
### Importing an existing channel
|
|
101
121
|
|
|
102
122
|
You can reference an existing channel, for example, if you need to create a
|
|
@@ -66,6 +66,26 @@ my_rtmp_channel = ivs.Channel(self, "myRtmpChannel",
|
|
|
66
66
|
)
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
+
### Multitrack Video
|
|
70
|
+
|
|
71
|
+
Multitrack video is a new, low-latency streaming paradigm supported by Amazon Interactive Video Service (IVS) and services that use Amazon IVS.
|
|
72
|
+
|
|
73
|
+
You can use Multitrack Video by setting the `multitrackInputConfiguration` property.
|
|
74
|
+
Multitrack Video requires both a STANDARD Channel and Fragmented Mp4.
|
|
75
|
+
|
|
76
|
+
For more information, see [Amazon IVS Multitrack Video](https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/multitrack-video.html).
|
|
77
|
+
|
|
78
|
+
```python
|
|
79
|
+
ivs.Channel(self, "ChannelWithMultitrackVideo",
|
|
80
|
+
type=ivs.ChannelType.STANDARD,
|
|
81
|
+
container_format=ivs.ContainerFormat.FRAGMENTED_MP4,
|
|
82
|
+
multitrack_input_configuration=ivs.MultitrackInputConfiguration(
|
|
83
|
+
maximum_resolution=ivs.MaximumResolution.HD,
|
|
84
|
+
policy=ivs.Policy.ALLOW
|
|
85
|
+
)
|
|
86
|
+
)
|
|
87
|
+
```
|
|
88
|
+
|
|
69
89
|
### Importing an existing channel
|
|
70
90
|
|
|
71
91
|
You can reference an existing channel, for example, if you need to create a
|
|
@@ -5,7 +5,7 @@ kwargs = json.loads(
|
|
|
5
5
|
"""
|
|
6
6
|
{
|
|
7
7
|
"name": "aws-cdk.aws-ivs-alpha",
|
|
8
|
-
"version": "2.
|
|
8
|
+
"version": "2.180.0.a0",
|
|
9
9
|
"description": "The CDK Construct Library for AWS::IVS",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"url": "https://github.com/aws/aws-cdk",
|
|
@@ -26,7 +26,7 @@ kwargs = json.loads(
|
|
|
26
26
|
],
|
|
27
27
|
"package_data": {
|
|
28
28
|
"aws_cdk.aws_ivs_alpha._jsii": [
|
|
29
|
-
"aws-ivs-alpha@2.
|
|
29
|
+
"aws-ivs-alpha@2.180.0-alpha.0.jsii.tgz"
|
|
30
30
|
],
|
|
31
31
|
"aws_cdk.aws_ivs_alpha": [
|
|
32
32
|
"py.typed"
|
|
@@ -34,7 +34,7 @@ kwargs = json.loads(
|
|
|
34
34
|
},
|
|
35
35
|
"python_requires": "~=3.8",
|
|
36
36
|
"install_requires": [
|
|
37
|
-
"aws-cdk-lib>=2.
|
|
37
|
+
"aws-cdk-lib>=2.180.0, <3.0.0",
|
|
38
38
|
"constructs>=10.0.0, <11.0.0",
|
|
39
39
|
"jsii>=1.106.0, <2.0.0",
|
|
40
40
|
"publication>=0.0.3",
|
|
@@ -67,6 +67,26 @@ my_rtmp_channel = ivs.Channel(self, "myRtmpChannel",
|
|
|
67
67
|
)
|
|
68
68
|
```
|
|
69
69
|
|
|
70
|
+
### Multitrack Video
|
|
71
|
+
|
|
72
|
+
Multitrack video is a new, low-latency streaming paradigm supported by Amazon Interactive Video Service (IVS) and services that use Amazon IVS.
|
|
73
|
+
|
|
74
|
+
You can use Multitrack Video by setting the `multitrackInputConfiguration` property.
|
|
75
|
+
Multitrack Video requires both a STANDARD Channel and Fragmented Mp4.
|
|
76
|
+
|
|
77
|
+
For more information, see [Amazon IVS Multitrack Video](https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/multitrack-video.html).
|
|
78
|
+
|
|
79
|
+
```python
|
|
80
|
+
ivs.Channel(self, "ChannelWithMultitrackVideo",
|
|
81
|
+
type=ivs.ChannelType.STANDARD,
|
|
82
|
+
container_format=ivs.ContainerFormat.FRAGMENTED_MP4,
|
|
83
|
+
multitrack_input_configuration=ivs.MultitrackInputConfiguration(
|
|
84
|
+
maximum_resolution=ivs.MaximumResolution.HD,
|
|
85
|
+
policy=ivs.Policy.ALLOW
|
|
86
|
+
)
|
|
87
|
+
)
|
|
88
|
+
```
|
|
89
|
+
|
|
70
90
|
### Importing an existing channel
|
|
71
91
|
|
|
72
92
|
You can reference an existing channel, for example, if you need to create a
|
|
@@ -250,8 +270,10 @@ import constructs as _constructs_77d1e7e8
|
|
|
250
270
|
name_mapping={
|
|
251
271
|
"authorized": "authorized",
|
|
252
272
|
"channel_name": "channelName",
|
|
273
|
+
"container_format": "containerFormat",
|
|
253
274
|
"insecure_ingest": "insecureIngest",
|
|
254
275
|
"latency_mode": "latencyMode",
|
|
276
|
+
"multitrack_input_configuration": "multitrackInputConfiguration",
|
|
255
277
|
"preset": "preset",
|
|
256
278
|
"recording_configuration": "recordingConfiguration",
|
|
257
279
|
"type": "type",
|
|
@@ -263,8 +285,10 @@ class ChannelProps:
|
|
|
263
285
|
*,
|
|
264
286
|
authorized: typing.Optional[builtins.bool] = None,
|
|
265
287
|
channel_name: typing.Optional[builtins.str] = None,
|
|
288
|
+
container_format: typing.Optional["ContainerFormat"] = None,
|
|
266
289
|
insecure_ingest: typing.Optional[builtins.bool] = None,
|
|
267
290
|
latency_mode: typing.Optional["LatencyMode"] = None,
|
|
291
|
+
multitrack_input_configuration: typing.Optional[typing.Union["MultitrackInputConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
268
292
|
preset: typing.Optional["Preset"] = None,
|
|
269
293
|
recording_configuration: typing.Optional["IRecordingConfiguration"] = None,
|
|
270
294
|
type: typing.Optional["ChannelType"] = None,
|
|
@@ -273,8 +297,10 @@ class ChannelProps:
|
|
|
273
297
|
|
|
274
298
|
:param authorized: (experimental) Whether the channel is authorized. If you wish to make an authorized channel, you will need to ensure that a PlaybackKeyPair has been uploaded to your account as this is used to validate the signed JWT that is required for authorization Default: false
|
|
275
299
|
:param channel_name: (experimental) A name for the channel. Default: Automatically generated name
|
|
300
|
+
:param container_format: (experimental) Indicates which content-packaging format is used (MPEG-TS or fMP4). If ``multitrackInputConfiguration`` is specified, only fMP4 can be used. Otherwise, ``containerFormat`` may be set to ``ContainerFormat.TS`` or ``ContainerFormat.FRAGMENTED_MP4``. Default: - ``ContainerFormat.FRAGMENTED_MP4`` is automatically set when the ``multitrackInputConfiguration`` is specified. If not specified, it remains undefined and uses the IVS default setting (TS).
|
|
276
301
|
:param insecure_ingest: (experimental) Whether the channel allows insecure RTMP ingest. Default: false
|
|
277
302
|
:param latency_mode: (experimental) Channel latency mode. Default: LatencyMode.LOW
|
|
303
|
+
:param multitrack_input_configuration: (experimental) Object specifying multitrack input configuration. You must specify ``multitrackInputConfiguration`` if you want to use MultiTrack Video. ``multitrackInputConfiguration`` is only supported for ``ChannelType.STANDARD``. Default: undefined - IVS default setting is not use MultiTrack Video.
|
|
278
304
|
:param preset: (experimental) An optional transcode preset for the channel. Can be used for ADVANCED_HD and ADVANCED_SD channel types. When LOW or STANDARD is used, the preset will be overridden and set to none regardless of the value provided. Default: - Preset.HIGHER_BANDWIDTH_DELIVERY if channelType is ADVANCED_SD or ADVANCED_HD, none otherwise
|
|
279
305
|
:param recording_configuration: (experimental) A recording configuration for the channel. Default: - recording is disabled
|
|
280
306
|
:param type: (experimental) The channel type, which determines the allowable resolution and bitrate. If you exceed the allowable resolution or bitrate, the stream will disconnect immediately Default: ChannelType.STANDARD
|
|
@@ -284,17 +310,21 @@ class ChannelProps:
|
|
|
284
310
|
|
|
285
311
|
Example::
|
|
286
312
|
|
|
287
|
-
|
|
288
|
-
type=ivs.ChannelType.
|
|
289
|
-
|
|
313
|
+
my_channel = ivs.Channel(self, "myChannel",
|
|
314
|
+
type=ivs.ChannelType.ADVANCED_HD,
|
|
315
|
+
preset=ivs.Preset.CONSTRAINED_BANDWIDTH_DELIVERY
|
|
290
316
|
)
|
|
291
317
|
'''
|
|
318
|
+
if isinstance(multitrack_input_configuration, dict):
|
|
319
|
+
multitrack_input_configuration = MultitrackInputConfiguration(**multitrack_input_configuration)
|
|
292
320
|
if __debug__:
|
|
293
321
|
type_hints = typing.get_type_hints(_typecheckingstub__0ebf6a0e98bbd5b88d9676fbe616666a44f837cba80675eade5df1fea22c9d22)
|
|
294
322
|
check_type(argname="argument authorized", value=authorized, expected_type=type_hints["authorized"])
|
|
295
323
|
check_type(argname="argument channel_name", value=channel_name, expected_type=type_hints["channel_name"])
|
|
324
|
+
check_type(argname="argument container_format", value=container_format, expected_type=type_hints["container_format"])
|
|
296
325
|
check_type(argname="argument insecure_ingest", value=insecure_ingest, expected_type=type_hints["insecure_ingest"])
|
|
297
326
|
check_type(argname="argument latency_mode", value=latency_mode, expected_type=type_hints["latency_mode"])
|
|
327
|
+
check_type(argname="argument multitrack_input_configuration", value=multitrack_input_configuration, expected_type=type_hints["multitrack_input_configuration"])
|
|
298
328
|
check_type(argname="argument preset", value=preset, expected_type=type_hints["preset"])
|
|
299
329
|
check_type(argname="argument recording_configuration", value=recording_configuration, expected_type=type_hints["recording_configuration"])
|
|
300
330
|
check_type(argname="argument type", value=type, expected_type=type_hints["type"])
|
|
@@ -303,10 +333,14 @@ class ChannelProps:
|
|
|
303
333
|
self._values["authorized"] = authorized
|
|
304
334
|
if channel_name is not None:
|
|
305
335
|
self._values["channel_name"] = channel_name
|
|
336
|
+
if container_format is not None:
|
|
337
|
+
self._values["container_format"] = container_format
|
|
306
338
|
if insecure_ingest is not None:
|
|
307
339
|
self._values["insecure_ingest"] = insecure_ingest
|
|
308
340
|
if latency_mode is not None:
|
|
309
341
|
self._values["latency_mode"] = latency_mode
|
|
342
|
+
if multitrack_input_configuration is not None:
|
|
343
|
+
self._values["multitrack_input_configuration"] = multitrack_input_configuration
|
|
310
344
|
if preset is not None:
|
|
311
345
|
self._values["preset"] = preset
|
|
312
346
|
if recording_configuration is not None:
|
|
@@ -340,6 +374,20 @@ class ChannelProps:
|
|
|
340
374
|
result = self._values.get("channel_name")
|
|
341
375
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
342
376
|
|
|
377
|
+
@builtins.property
|
|
378
|
+
def container_format(self) -> typing.Optional["ContainerFormat"]:
|
|
379
|
+
'''(experimental) Indicates which content-packaging format is used (MPEG-TS or fMP4).
|
|
380
|
+
|
|
381
|
+
If ``multitrackInputConfiguration`` is specified, only fMP4 can be used.
|
|
382
|
+
Otherwise, ``containerFormat`` may be set to ``ContainerFormat.TS`` or ``ContainerFormat.FRAGMENTED_MP4``.
|
|
383
|
+
|
|
384
|
+
:default: - ``ContainerFormat.FRAGMENTED_MP4`` is automatically set when the ``multitrackInputConfiguration`` is specified. If not specified, it remains undefined and uses the IVS default setting (TS).
|
|
385
|
+
|
|
386
|
+
:stability: experimental
|
|
387
|
+
'''
|
|
388
|
+
result = self._values.get("container_format")
|
|
389
|
+
return typing.cast(typing.Optional["ContainerFormat"], result)
|
|
390
|
+
|
|
343
391
|
@builtins.property
|
|
344
392
|
def insecure_ingest(self) -> typing.Optional[builtins.bool]:
|
|
345
393
|
'''(experimental) Whether the channel allows insecure RTMP ingest.
|
|
@@ -362,6 +410,22 @@ class ChannelProps:
|
|
|
362
410
|
result = self._values.get("latency_mode")
|
|
363
411
|
return typing.cast(typing.Optional["LatencyMode"], result)
|
|
364
412
|
|
|
413
|
+
@builtins.property
|
|
414
|
+
def multitrack_input_configuration(
|
|
415
|
+
self,
|
|
416
|
+
) -> typing.Optional["MultitrackInputConfiguration"]:
|
|
417
|
+
'''(experimental) Object specifying multitrack input configuration. You must specify ``multitrackInputConfiguration`` if you want to use MultiTrack Video.
|
|
418
|
+
|
|
419
|
+
``multitrackInputConfiguration`` is only supported for ``ChannelType.STANDARD``.
|
|
420
|
+
|
|
421
|
+
:default: undefined - IVS default setting is not use MultiTrack Video.
|
|
422
|
+
|
|
423
|
+
:see: https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/multitrack-video.html
|
|
424
|
+
:stability: experimental
|
|
425
|
+
'''
|
|
426
|
+
result = self._values.get("multitrack_input_configuration")
|
|
427
|
+
return typing.cast(typing.Optional["MultitrackInputConfiguration"], result)
|
|
428
|
+
|
|
365
429
|
@builtins.property
|
|
366
430
|
def preset(self) -> typing.Optional["Preset"]:
|
|
367
431
|
'''(experimental) An optional transcode preset for the channel.
|
|
@@ -463,6 +527,37 @@ class ChannelType(enum.Enum):
|
|
|
463
527
|
'''
|
|
464
528
|
|
|
465
529
|
|
|
530
|
+
@jsii.enum(jsii_type="@aws-cdk/aws-ivs-alpha.ContainerFormat")
|
|
531
|
+
class ContainerFormat(enum.Enum):
|
|
532
|
+
'''(experimental) Container Format.
|
|
533
|
+
|
|
534
|
+
:stability: experimental
|
|
535
|
+
:exampleMetadata: infused
|
|
536
|
+
|
|
537
|
+
Example::
|
|
538
|
+
|
|
539
|
+
ivs.Channel(self, "ChannelWithMultitrackVideo",
|
|
540
|
+
type=ivs.ChannelType.STANDARD,
|
|
541
|
+
container_format=ivs.ContainerFormat.FRAGMENTED_MP4,
|
|
542
|
+
multitrack_input_configuration=ivs.MultitrackInputConfiguration(
|
|
543
|
+
maximum_resolution=ivs.MaximumResolution.HD,
|
|
544
|
+
policy=ivs.Policy.ALLOW
|
|
545
|
+
)
|
|
546
|
+
)
|
|
547
|
+
'''
|
|
548
|
+
|
|
549
|
+
TS = "TS"
|
|
550
|
+
'''(experimental) Use MPEG-TS.
|
|
551
|
+
|
|
552
|
+
:stability: experimental
|
|
553
|
+
'''
|
|
554
|
+
FRAGMENTED_MP4 = "FRAGMENTED_MP4"
|
|
555
|
+
'''(experimental) Use fMP4.
|
|
556
|
+
|
|
557
|
+
:stability: experimental
|
|
558
|
+
'''
|
|
559
|
+
|
|
560
|
+
|
|
466
561
|
@jsii.interface(jsii_type="@aws-cdk/aws-ivs-alpha.IChannel")
|
|
467
562
|
class IChannel(_aws_cdk_ceddda9d.IResource, typing_extensions.Protocol):
|
|
468
563
|
'''(experimental) Represents an IVS Channel.
|
|
@@ -705,6 +800,114 @@ class LatencyMode(enum.Enum):
|
|
|
705
800
|
'''
|
|
706
801
|
|
|
707
802
|
|
|
803
|
+
@jsii.enum(jsii_type="@aws-cdk/aws-ivs-alpha.MaximumResolution")
|
|
804
|
+
class MaximumResolution(enum.Enum):
|
|
805
|
+
'''(experimental) Maximum resolution for multitrack input.
|
|
806
|
+
|
|
807
|
+
:stability: experimental
|
|
808
|
+
:exampleMetadata: infused
|
|
809
|
+
|
|
810
|
+
Example::
|
|
811
|
+
|
|
812
|
+
ivs.Channel(self, "ChannelWithMultitrackVideo",
|
|
813
|
+
type=ivs.ChannelType.STANDARD,
|
|
814
|
+
container_format=ivs.ContainerFormat.FRAGMENTED_MP4,
|
|
815
|
+
multitrack_input_configuration=ivs.MultitrackInputConfiguration(
|
|
816
|
+
maximum_resolution=ivs.MaximumResolution.HD,
|
|
817
|
+
policy=ivs.Policy.ALLOW
|
|
818
|
+
)
|
|
819
|
+
)
|
|
820
|
+
'''
|
|
821
|
+
|
|
822
|
+
FULL_HD = "FULL_HD"
|
|
823
|
+
'''(experimental) Full HD (1080p).
|
|
824
|
+
|
|
825
|
+
:stability: experimental
|
|
826
|
+
'''
|
|
827
|
+
HD = "HD"
|
|
828
|
+
'''(experimental) HD (720p).
|
|
829
|
+
|
|
830
|
+
:stability: experimental
|
|
831
|
+
'''
|
|
832
|
+
SD = "SD"
|
|
833
|
+
'''(experimental) SD (480p).
|
|
834
|
+
|
|
835
|
+
:stability: experimental
|
|
836
|
+
'''
|
|
837
|
+
|
|
838
|
+
|
|
839
|
+
@jsii.data_type(
|
|
840
|
+
jsii_type="@aws-cdk/aws-ivs-alpha.MultitrackInputConfiguration",
|
|
841
|
+
jsii_struct_bases=[],
|
|
842
|
+
name_mapping={"maximum_resolution": "maximumResolution", "policy": "policy"},
|
|
843
|
+
)
|
|
844
|
+
class MultitrackInputConfiguration:
|
|
845
|
+
def __init__(
|
|
846
|
+
self,
|
|
847
|
+
*,
|
|
848
|
+
maximum_resolution: MaximumResolution,
|
|
849
|
+
policy: "Policy",
|
|
850
|
+
) -> None:
|
|
851
|
+
'''(experimental) A complex type that specifies multitrack input configuration.
|
|
852
|
+
|
|
853
|
+
:param maximum_resolution: (experimental) Maximum resolution for multitrack input.
|
|
854
|
+
:param policy: (experimental) Indicates whether multitrack input is allowed or required.
|
|
855
|
+
|
|
856
|
+
:stability: experimental
|
|
857
|
+
:exampleMetadata: infused
|
|
858
|
+
|
|
859
|
+
Example::
|
|
860
|
+
|
|
861
|
+
ivs.Channel(self, "ChannelWithMultitrackVideo",
|
|
862
|
+
type=ivs.ChannelType.STANDARD,
|
|
863
|
+
container_format=ivs.ContainerFormat.FRAGMENTED_MP4,
|
|
864
|
+
multitrack_input_configuration=ivs.MultitrackInputConfiguration(
|
|
865
|
+
maximum_resolution=ivs.MaximumResolution.HD,
|
|
866
|
+
policy=ivs.Policy.ALLOW
|
|
867
|
+
)
|
|
868
|
+
)
|
|
869
|
+
'''
|
|
870
|
+
if __debug__:
|
|
871
|
+
type_hints = typing.get_type_hints(_typecheckingstub__45e5ad260ecfc7dc92d23bd36a068b4a317871ab3322fe7e7ef92573084ea6b6)
|
|
872
|
+
check_type(argname="argument maximum_resolution", value=maximum_resolution, expected_type=type_hints["maximum_resolution"])
|
|
873
|
+
check_type(argname="argument policy", value=policy, expected_type=type_hints["policy"])
|
|
874
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
875
|
+
"maximum_resolution": maximum_resolution,
|
|
876
|
+
"policy": policy,
|
|
877
|
+
}
|
|
878
|
+
|
|
879
|
+
@builtins.property
|
|
880
|
+
def maximum_resolution(self) -> MaximumResolution:
|
|
881
|
+
'''(experimental) Maximum resolution for multitrack input.
|
|
882
|
+
|
|
883
|
+
:stability: experimental
|
|
884
|
+
'''
|
|
885
|
+
result = self._values.get("maximum_resolution")
|
|
886
|
+
assert result is not None, "Required property 'maximum_resolution' is missing"
|
|
887
|
+
return typing.cast(MaximumResolution, result)
|
|
888
|
+
|
|
889
|
+
@builtins.property
|
|
890
|
+
def policy(self) -> "Policy":
|
|
891
|
+
'''(experimental) Indicates whether multitrack input is allowed or required.
|
|
892
|
+
|
|
893
|
+
:stability: experimental
|
|
894
|
+
'''
|
|
895
|
+
result = self._values.get("policy")
|
|
896
|
+
assert result is not None, "Required property 'policy' is missing"
|
|
897
|
+
return typing.cast("Policy", result)
|
|
898
|
+
|
|
899
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
900
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
901
|
+
|
|
902
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
903
|
+
return not (rhs == self)
|
|
904
|
+
|
|
905
|
+
def __repr__(self) -> str:
|
|
906
|
+
return "MultitrackInputConfiguration(%s)" % ", ".join(
|
|
907
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
908
|
+
)
|
|
909
|
+
|
|
910
|
+
|
|
708
911
|
@jsii.implements(IPlaybackKeyPair)
|
|
709
912
|
class PlaybackKeyPair(
|
|
710
913
|
_aws_cdk_ceddda9d.Resource,
|
|
@@ -848,6 +1051,37 @@ class PlaybackKeyPairProps:
|
|
|
848
1051
|
)
|
|
849
1052
|
|
|
850
1053
|
|
|
1054
|
+
@jsii.enum(jsii_type="@aws-cdk/aws-ivs-alpha.Policy")
|
|
1055
|
+
class Policy(enum.Enum):
|
|
1056
|
+
'''(experimental) Whether multitrack input is allowed or required.
|
|
1057
|
+
|
|
1058
|
+
:stability: experimental
|
|
1059
|
+
:exampleMetadata: infused
|
|
1060
|
+
|
|
1061
|
+
Example::
|
|
1062
|
+
|
|
1063
|
+
ivs.Channel(self, "ChannelWithMultitrackVideo",
|
|
1064
|
+
type=ivs.ChannelType.STANDARD,
|
|
1065
|
+
container_format=ivs.ContainerFormat.FRAGMENTED_MP4,
|
|
1066
|
+
multitrack_input_configuration=ivs.MultitrackInputConfiguration(
|
|
1067
|
+
maximum_resolution=ivs.MaximumResolution.HD,
|
|
1068
|
+
policy=ivs.Policy.ALLOW
|
|
1069
|
+
)
|
|
1070
|
+
)
|
|
1071
|
+
'''
|
|
1072
|
+
|
|
1073
|
+
ALLOW = "ALLOW"
|
|
1074
|
+
'''(experimental) Multitrack input is allowed.
|
|
1075
|
+
|
|
1076
|
+
:stability: experimental
|
|
1077
|
+
'''
|
|
1078
|
+
REQUIRE = "REQUIRE"
|
|
1079
|
+
'''(experimental) Multitrack input is required.
|
|
1080
|
+
|
|
1081
|
+
:stability: experimental
|
|
1082
|
+
'''
|
|
1083
|
+
|
|
1084
|
+
|
|
851
1085
|
@jsii.enum(jsii_type="@aws-cdk/aws-ivs-alpha.Preset")
|
|
852
1086
|
class Preset(enum.Enum):
|
|
853
1087
|
'''(experimental) An optional transcode preset for the channel.
|
|
@@ -1584,8 +1818,10 @@ class Channel(
|
|
|
1584
1818
|
*,
|
|
1585
1819
|
authorized: typing.Optional[builtins.bool] = None,
|
|
1586
1820
|
channel_name: typing.Optional[builtins.str] = None,
|
|
1821
|
+
container_format: typing.Optional[ContainerFormat] = None,
|
|
1587
1822
|
insecure_ingest: typing.Optional[builtins.bool] = None,
|
|
1588
1823
|
latency_mode: typing.Optional[LatencyMode] = None,
|
|
1824
|
+
multitrack_input_configuration: typing.Optional[typing.Union[MultitrackInputConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
1589
1825
|
preset: typing.Optional[Preset] = None,
|
|
1590
1826
|
recording_configuration: typing.Optional[IRecordingConfiguration] = None,
|
|
1591
1827
|
type: typing.Optional[ChannelType] = None,
|
|
@@ -1595,8 +1831,10 @@ class Channel(
|
|
|
1595
1831
|
:param id: -
|
|
1596
1832
|
:param authorized: (experimental) Whether the channel is authorized. If you wish to make an authorized channel, you will need to ensure that a PlaybackKeyPair has been uploaded to your account as this is used to validate the signed JWT that is required for authorization Default: false
|
|
1597
1833
|
:param channel_name: (experimental) A name for the channel. Default: Automatically generated name
|
|
1834
|
+
:param container_format: (experimental) Indicates which content-packaging format is used (MPEG-TS or fMP4). If ``multitrackInputConfiguration`` is specified, only fMP4 can be used. Otherwise, ``containerFormat`` may be set to ``ContainerFormat.TS`` or ``ContainerFormat.FRAGMENTED_MP4``. Default: - ``ContainerFormat.FRAGMENTED_MP4`` is automatically set when the ``multitrackInputConfiguration`` is specified. If not specified, it remains undefined and uses the IVS default setting (TS).
|
|
1598
1835
|
:param insecure_ingest: (experimental) Whether the channel allows insecure RTMP ingest. Default: false
|
|
1599
1836
|
:param latency_mode: (experimental) Channel latency mode. Default: LatencyMode.LOW
|
|
1837
|
+
:param multitrack_input_configuration: (experimental) Object specifying multitrack input configuration. You must specify ``multitrackInputConfiguration`` if you want to use MultiTrack Video. ``multitrackInputConfiguration`` is only supported for ``ChannelType.STANDARD``. Default: undefined - IVS default setting is not use MultiTrack Video.
|
|
1600
1838
|
:param preset: (experimental) An optional transcode preset for the channel. Can be used for ADVANCED_HD and ADVANCED_SD channel types. When LOW or STANDARD is used, the preset will be overridden and set to none regardless of the value provided. Default: - Preset.HIGHER_BANDWIDTH_DELIVERY if channelType is ADVANCED_SD or ADVANCED_HD, none otherwise
|
|
1601
1839
|
:param recording_configuration: (experimental) A recording configuration for the channel. Default: - recording is disabled
|
|
1602
1840
|
:param type: (experimental) The channel type, which determines the allowable resolution and bitrate. If you exceed the allowable resolution or bitrate, the stream will disconnect immediately Default: ChannelType.STANDARD
|
|
@@ -1610,8 +1848,10 @@ class Channel(
|
|
|
1610
1848
|
props = ChannelProps(
|
|
1611
1849
|
authorized=authorized,
|
|
1612
1850
|
channel_name=channel_name,
|
|
1851
|
+
container_format=container_format,
|
|
1613
1852
|
insecure_ingest=insecure_ingest,
|
|
1614
1853
|
latency_mode=latency_mode,
|
|
1854
|
+
multitrack_input_configuration=multitrack_input_configuration,
|
|
1615
1855
|
preset=preset,
|
|
1616
1856
|
recording_configuration=recording_configuration,
|
|
1617
1857
|
type=type,
|
|
@@ -1696,13 +1936,17 @@ __all__ = [
|
|
|
1696
1936
|
"Channel",
|
|
1697
1937
|
"ChannelProps",
|
|
1698
1938
|
"ChannelType",
|
|
1939
|
+
"ContainerFormat",
|
|
1699
1940
|
"IChannel",
|
|
1700
1941
|
"IPlaybackKeyPair",
|
|
1701
1942
|
"IRecordingConfiguration",
|
|
1702
1943
|
"IStreamKey",
|
|
1703
1944
|
"LatencyMode",
|
|
1945
|
+
"MaximumResolution",
|
|
1946
|
+
"MultitrackInputConfiguration",
|
|
1704
1947
|
"PlaybackKeyPair",
|
|
1705
1948
|
"PlaybackKeyPairProps",
|
|
1949
|
+
"Policy",
|
|
1706
1950
|
"Preset",
|
|
1707
1951
|
"RecordingConfiguration",
|
|
1708
1952
|
"RecordingConfigurationProps",
|
|
@@ -1722,8 +1966,10 @@ def _typecheckingstub__0ebf6a0e98bbd5b88d9676fbe616666a44f837cba80675eade5df1fea
|
|
|
1722
1966
|
*,
|
|
1723
1967
|
authorized: typing.Optional[builtins.bool] = None,
|
|
1724
1968
|
channel_name: typing.Optional[builtins.str] = None,
|
|
1969
|
+
container_format: typing.Optional[ContainerFormat] = None,
|
|
1725
1970
|
insecure_ingest: typing.Optional[builtins.bool] = None,
|
|
1726
1971
|
latency_mode: typing.Optional[LatencyMode] = None,
|
|
1972
|
+
multitrack_input_configuration: typing.Optional[typing.Union[MultitrackInputConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
1727
1973
|
preset: typing.Optional[Preset] = None,
|
|
1728
1974
|
recording_configuration: typing.Optional[IRecordingConfiguration] = None,
|
|
1729
1975
|
type: typing.Optional[ChannelType] = None,
|
|
@@ -1737,6 +1983,14 @@ def _typecheckingstub__809e7d60e77d2ede718027f4d99dcf810db3b33f39daebb557b424c64
|
|
|
1737
1983
|
"""Type checking stubs"""
|
|
1738
1984
|
pass
|
|
1739
1985
|
|
|
1986
|
+
def _typecheckingstub__45e5ad260ecfc7dc92d23bd36a068b4a317871ab3322fe7e7ef92573084ea6b6(
|
|
1987
|
+
*,
|
|
1988
|
+
maximum_resolution: MaximumResolution,
|
|
1989
|
+
policy: Policy,
|
|
1990
|
+
) -> None:
|
|
1991
|
+
"""Type checking stubs"""
|
|
1992
|
+
pass
|
|
1993
|
+
|
|
1740
1994
|
def _typecheckingstub__75931c57bc0ba240c98824ea65da9a0bc0a3bc48be2344ac7b70c03f259e632f(
|
|
1741
1995
|
scope: _constructs_77d1e7e8.Construct,
|
|
1742
1996
|
id: builtins.str,
|
|
@@ -1831,8 +2085,10 @@ def _typecheckingstub__07139327925dc97a551bbf17c849a0f698e0c9c60d3da3f65f2b3d2be
|
|
|
1831
2085
|
*,
|
|
1832
2086
|
authorized: typing.Optional[builtins.bool] = None,
|
|
1833
2087
|
channel_name: typing.Optional[builtins.str] = None,
|
|
2088
|
+
container_format: typing.Optional[ContainerFormat] = None,
|
|
1834
2089
|
insecure_ingest: typing.Optional[builtins.bool] = None,
|
|
1835
2090
|
latency_mode: typing.Optional[LatencyMode] = None,
|
|
2091
|
+
multitrack_input_configuration: typing.Optional[typing.Union[MultitrackInputConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
1836
2092
|
preset: typing.Optional[Preset] = None,
|
|
1837
2093
|
recording_configuration: typing.Optional[IRecordingConfiguration] = None,
|
|
1838
2094
|
type: typing.Optional[ChannelType] = None,
|
|
@@ -33,9 +33,9 @@ import constructs._jsii
|
|
|
33
33
|
|
|
34
34
|
__jsii_assembly__ = jsii.JSIIAssembly.load(
|
|
35
35
|
"@aws-cdk/aws-ivs-alpha",
|
|
36
|
-
"2.
|
|
36
|
+
"2.180.0-alpha.0",
|
|
37
37
|
__name__[0:-6],
|
|
38
|
-
"aws-ivs-alpha@2.
|
|
38
|
+
"aws-ivs-alpha@2.180.0-alpha.0.jsii.tgz",
|
|
39
39
|
)
|
|
40
40
|
|
|
41
41
|
__all__ = [
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: aws-cdk.aws-ivs-alpha
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.180.0a0
|
|
4
4
|
Summary: The CDK Construct Library for AWS::IVS
|
|
5
5
|
Home-page: https://github.com/aws/aws-cdk
|
|
6
6
|
Author: Amazon Web Services
|
|
@@ -23,7 +23,7 @@ Requires-Python: ~=3.8
|
|
|
23
23
|
Description-Content-Type: text/markdown
|
|
24
24
|
License-File: LICENSE
|
|
25
25
|
License-File: NOTICE
|
|
26
|
-
Requires-Dist: aws-cdk-lib<3.0.0,>=2.
|
|
26
|
+
Requires-Dist: aws-cdk-lib<3.0.0,>=2.180.0
|
|
27
27
|
Requires-Dist: constructs<11.0.0,>=10.0.0
|
|
28
28
|
Requires-Dist: jsii<2.0.0,>=1.106.0
|
|
29
29
|
Requires-Dist: publication>=0.0.3
|
|
@@ -97,6 +97,26 @@ my_rtmp_channel = ivs.Channel(self, "myRtmpChannel",
|
|
|
97
97
|
)
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
+
### Multitrack Video
|
|
101
|
+
|
|
102
|
+
Multitrack video is a new, low-latency streaming paradigm supported by Amazon Interactive Video Service (IVS) and services that use Amazon IVS.
|
|
103
|
+
|
|
104
|
+
You can use Multitrack Video by setting the `multitrackInputConfiguration` property.
|
|
105
|
+
Multitrack Video requires both a STANDARD Channel and Fragmented Mp4.
|
|
106
|
+
|
|
107
|
+
For more information, see [Amazon IVS Multitrack Video](https://docs.aws.amazon.com/ivs/latest/LowLatencyUserGuide/multitrack-video.html).
|
|
108
|
+
|
|
109
|
+
```python
|
|
110
|
+
ivs.Channel(self, "ChannelWithMultitrackVideo",
|
|
111
|
+
type=ivs.ChannelType.STANDARD,
|
|
112
|
+
container_format=ivs.ContainerFormat.FRAGMENTED_MP4,
|
|
113
|
+
multitrack_input_configuration=ivs.MultitrackInputConfiguration(
|
|
114
|
+
maximum_resolution=ivs.MaximumResolution.HD,
|
|
115
|
+
policy=ivs.Policy.ALLOW
|
|
116
|
+
)
|
|
117
|
+
)
|
|
118
|
+
```
|
|
119
|
+
|
|
100
120
|
### Importing an existing channel
|
|
101
121
|
|
|
102
122
|
You can reference an existing channel, for example, if you need to create a
|
|
@@ -12,4 +12,4 @@ src/aws_cdk.aws_ivs_alpha.egg-info/top_level.txt
|
|
|
12
12
|
src/aws_cdk/aws_ivs_alpha/__init__.py
|
|
13
13
|
src/aws_cdk/aws_ivs_alpha/py.typed
|
|
14
14
|
src/aws_cdk/aws_ivs_alpha/_jsii/__init__.py
|
|
15
|
-
src/aws_cdk/aws_ivs_alpha/_jsii/aws-ivs-alpha@2.
|
|
15
|
+
src/aws_cdk/aws_ivs_alpha/_jsii/aws-ivs-alpha@2.180.0-alpha.0.jsii.tgz
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|