CfnOriginEndpoint
- class aws_cdk.aws_mediapackage.CfnOriginEndpoint(scope, id_, *, channel_id, id, authorization=None, cmaf_package=None, dash_package=None, description=None, hls_package=None, manifest_name=None, mss_package=None, origination=None, startover_window_seconds=None, tags=None, time_delay_seconds=None, whitelist=None)
Bases:
CfnResource
Create an endpoint on an AWS Elemental MediaPackage channel.
An endpoint represents a single delivery point of a channel, and defines content output handling through various components, such as packaging protocols, DRM and encryption integration, and more.
After it’s created, an endpoint provides a fixed public URL. This URL remains the same throughout the lifetime of the endpoint, regardless of any failures or upgrades that might occur. Integrate the URL with a downstream CDN (such as Amazon CloudFront) or playback device.
- See:
- CloudformationResource:
AWS::MediaPackage::OriginEndpoint
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_mediapackage as mediapackage cfn_origin_endpoint = mediapackage.CfnOriginEndpoint(self, "MyCfnOriginEndpoint", channel_id="channelId", id="id", # the properties below are optional authorization=mediapackage.CfnOriginEndpoint.AuthorizationProperty( cdn_identifier_secret="cdnIdentifierSecret", secrets_role_arn="secretsRoleArn" ), cmaf_package=mediapackage.CfnOriginEndpoint.CmafPackageProperty( encryption=mediapackage.CfnOriginEndpoint.CmafEncryptionProperty( speke_key_provider=mediapackage.CfnOriginEndpoint.SpekeKeyProviderProperty( resource_id="resourceId", role_arn="roleArn", system_ids=["systemIds"], url="url", # the properties below are optional certificate_arn="certificateArn", encryption_contract_configuration=mediapackage.CfnOriginEndpoint.EncryptionContractConfigurationProperty( preset_speke20_audio="presetSpeke20Audio", preset_speke20_video="presetSpeke20Video" ) ), # the properties below are optional constant_initialization_vector="constantInitializationVector", encryption_method="encryptionMethod", key_rotation_interval_seconds=123 ), hls_manifests=[mediapackage.CfnOriginEndpoint.HlsManifestProperty( id="id", # the properties below are optional ad_markers="adMarkers", ads_on_delivery_restrictions="adsOnDeliveryRestrictions", ad_triggers=["adTriggers"], include_iframe_only_stream=False, manifest_name="manifestName", playlist_type="playlistType", playlist_window_seconds=123, program_date_time_interval_seconds=123, url="url" )], segment_duration_seconds=123, segment_prefix="segmentPrefix", stream_selection=mediapackage.CfnOriginEndpoint.StreamSelectionProperty( max_video_bits_per_second=123, min_video_bits_per_second=123, stream_order="streamOrder" ) ), dash_package=mediapackage.CfnOriginEndpoint.DashPackageProperty( ads_on_delivery_restrictions="adsOnDeliveryRestrictions", ad_triggers=["adTriggers"], encryption=mediapackage.CfnOriginEndpoint.DashEncryptionProperty( speke_key_provider=mediapackage.CfnOriginEndpoint.SpekeKeyProviderProperty( resource_id="resourceId", role_arn="roleArn", system_ids=["systemIds"], url="url", # the properties below are optional certificate_arn="certificateArn", encryption_contract_configuration=mediapackage.CfnOriginEndpoint.EncryptionContractConfigurationProperty( preset_speke20_audio="presetSpeke20Audio", preset_speke20_video="presetSpeke20Video" ) ), # the properties below are optional key_rotation_interval_seconds=123 ), include_iframe_only_stream=False, manifest_layout="manifestLayout", manifest_window_seconds=123, min_buffer_time_seconds=123, min_update_period_seconds=123, period_triggers=["periodTriggers"], profile="profile", segment_duration_seconds=123, segment_template_format="segmentTemplateFormat", stream_selection=mediapackage.CfnOriginEndpoint.StreamSelectionProperty( max_video_bits_per_second=123, min_video_bits_per_second=123, stream_order="streamOrder" ), suggested_presentation_delay_seconds=123, utc_timing="utcTiming", utc_timing_uri="utcTimingUri" ), description="description", hls_package=mediapackage.CfnOriginEndpoint.HlsPackageProperty( ad_markers="adMarkers", ads_on_delivery_restrictions="adsOnDeliveryRestrictions", ad_triggers=["adTriggers"], encryption=mediapackage.CfnOriginEndpoint.HlsEncryptionProperty( speke_key_provider=mediapackage.CfnOriginEndpoint.SpekeKeyProviderProperty( resource_id="resourceId", role_arn="roleArn", system_ids=["systemIds"], url="url", # the properties below are optional certificate_arn="certificateArn", encryption_contract_configuration=mediapackage.CfnOriginEndpoint.EncryptionContractConfigurationProperty( preset_speke20_audio="presetSpeke20Audio", preset_speke20_video="presetSpeke20Video" ) ), # the properties below are optional constant_initialization_vector="constantInitializationVector", encryption_method="encryptionMethod", key_rotation_interval_seconds=123, repeat_ext_xKey=False ), include_dvb_subtitles=False, include_iframe_only_stream=False, playlist_type="playlistType", playlist_window_seconds=123, program_date_time_interval_seconds=123, segment_duration_seconds=123, stream_selection=mediapackage.CfnOriginEndpoint.StreamSelectionProperty( max_video_bits_per_second=123, min_video_bits_per_second=123, stream_order="streamOrder" ), use_audio_rendition_group=False ), manifest_name="manifestName", mss_package=mediapackage.CfnOriginEndpoint.MssPackageProperty( encryption=mediapackage.CfnOriginEndpoint.MssEncryptionProperty( speke_key_provider=mediapackage.CfnOriginEndpoint.SpekeKeyProviderProperty( resource_id="resourceId", role_arn="roleArn", system_ids=["systemIds"], url="url", # the properties below are optional certificate_arn="certificateArn", encryption_contract_configuration=mediapackage.CfnOriginEndpoint.EncryptionContractConfigurationProperty( preset_speke20_audio="presetSpeke20Audio", preset_speke20_video="presetSpeke20Video" ) ) ), manifest_window_seconds=123, segment_duration_seconds=123, stream_selection=mediapackage.CfnOriginEndpoint.StreamSelectionProperty( max_video_bits_per_second=123, min_video_bits_per_second=123, stream_order="streamOrder" ) ), origination="origination", startover_window_seconds=123, tags=[CfnTag( key="key", value="value" )], time_delay_seconds=123, whitelist=["whitelist"] )
- Parameters:
scope (
Construct
) – Scope in which this resource is defined.id (
str
) – Construct identifier for this resource (unique in its scope).channel_id (
str
) – The ID of the channel associated with this endpoint.id – The manifest ID is required and must be unique within the OriginEndpoint. The ID can’t be changed after the endpoint is created.
authorization (
Union
[IResolvable
,AuthorizationProperty
,Dict
[str
,Any
],None
]) – Parameters for CDN authorization.cmaf_package (
Union
[IResolvable
,CmafPackageProperty
,Dict
[str
,Any
],None
]) – Parameters for Common Media Application Format (CMAF) packaging.dash_package (
Union
[IResolvable
,DashPackageProperty
,Dict
[str
,Any
],None
]) – Parameters for DASH packaging.description (
Optional
[str
]) – Any descriptive information that you want to add to the endpoint for future identification purposes.hls_package (
Union
[IResolvable
,HlsPackageProperty
,Dict
[str
,Any
],None
]) – Parameters for Apple HLS packaging.manifest_name (
Optional
[str
]) – A short string that’s appended to the end of the endpoint URL to create a unique path to this endpoint.mss_package (
Union
[IResolvable
,MssPackageProperty
,Dict
[str
,Any
],None
]) – Parameters for Microsoft Smooth Streaming packaging.origination (
Optional
[str
]) – Controls video origination from this endpoint. Valid values: -ALLOW
- enables this endpoint to serve content to requesting devices. -DENY
- prevents this endpoint from serving content. Denying origination is helpful for harvesting live-to-VOD assets. For more information about harvesting and origination, see Live-to-VOD Requirements .startover_window_seconds (
Union
[int
,float
,None
]) – Maximum duration (seconds) of content to retain for startover playback. Omit this attribute or enter0
to indicate that startover playback is disabled for this endpoint.tags (
Optional
[Sequence
[Union
[CfnTag
,Dict
[str
,Any
]]]]) – The tags to assign to the endpoint.time_delay_seconds (
Union
[int
,float
,None
]) – Minimum duration (seconds) of delay to enforce on the playback of live content. Omit this attribute or enter0
to indicate that there is no time delay in effect for this endpoint.whitelist (
Optional
[Sequence
[str
]]) – The IP addresses that can access this endpoint.
Methods
- add_deletion_override(path)
Syntactic sugar for
addOverride(path, undefined)
.- Parameters:
path (
str
) – The path of the value to delete.- Return type:
None
- add_dependency(target)
Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope.
- Parameters:
target (
CfnResource
) –- Return type:
None
- add_depends_on(target)
(deprecated) Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
- Parameters:
target (
CfnResource
) –- Deprecated:
use addDependency
- Stability:
deprecated
- Return type:
None
- add_metadata(key, value)
Add a value to the CloudFormation Resource Metadata.
- Parameters:
key (
str
) –value (
Any
) –
- See:
- Return type:
None
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.
- add_override(path, value)
Adds an override to the synthesized CloudFormation resource.
To add a property override, either use
addPropertyOverride
or prefixpath
with “Properties.” (i.e.Properties.TopicName
).If the override is nested, separate each nested level using a dot (.) in the path parameter. If there is an array as part of the nesting, specify the index in the path.
To include a literal
.
in the property name, prefix with a\
. In most programming languages you will need to write this as"\\."
because the\
itself will need to be escaped.For example:
cfn_resource.add_override("Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes", ["myattribute"]) cfn_resource.add_override("Properties.GlobalSecondaryIndexes.1.ProjectionType", "INCLUDE")
would add the overrides Example:
"Properties": { "GlobalSecondaryIndexes": [ { "Projection": { "NonKeyAttributes": [ "myattribute" ] ... } ... }, { "ProjectionType": "INCLUDE" ... }, ] ... }
The
value
argument toaddOverride
will not be processed or translated in any way. Pass raw JSON values in here with the correct capitalization for CloudFormation. If you pass CDK classes or structs, they will be rendered with lowercased key names, and CloudFormation will reject the template.- Parameters:
path (
str
) –The path of the property, you can use dot notation to override values in complex types. Any intermediate keys will be created as needed.
value (
Any
) –The value. Could be primitive or complex.
- Return type:
None
- add_property_deletion_override(property_path)
Adds an override that deletes the value of a property from the resource definition.
- Parameters:
property_path (
str
) – The path to the property.- Return type:
None
- add_property_override(property_path, value)
Adds an override to a resource property.
Syntactic sugar for
addOverride("Properties.<...>", value)
.- Parameters:
property_path (
str
) – The path of the property.value (
Any
) – The value.
- Return type:
None
- apply_removal_policy(policy=None, *, apply_to_update_replace_policy=None, default=None)
Sets the deletion policy of the resource based on the removal policy specified.
The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you’ve removed it from the CDK application or because you’ve made a change that requires the resource to be replaced.
The resource can be deleted (
RemovalPolicy.DESTROY
), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN
). In some cases, a snapshot can be taken of the resource prior to deletion (RemovalPolicy.SNAPSHOT
). A list of resources that support this policy can be found in the following link:- Parameters:
policy (
Optional
[RemovalPolicy
]) –apply_to_update_replace_policy (
Optional
[bool
]) – Apply the same deletion policy to the resource’s “UpdateReplacePolicy”. Default: truedefault (
Optional
[RemovalPolicy
]) – The default policy to apply in case the removal policy is not defined. Default: - Default value is resource specific. To determine the default value for a resource, please consult that specific resource’s documentation.
- See:
- Return type:
None
- get_att(attribute_name, type_hint=None)
Returns a token for an runtime attribute of this resource.
Ideally, use generated attribute accessors (e.g.
resource.arn
), but this can be used for future compatibility in case there is no generated attribute.- Parameters:
attribute_name (
str
) – The name of the attribute.type_hint (
Optional
[ResolutionTypeHint
]) –
- Return type:
- get_metadata(key)
Retrieve a value value from the CloudFormation Resource Metadata.
- Parameters:
key (
str
) –- See:
- Return type:
Any
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.
- inspect(inspector)
Examines the CloudFormation resource and discloses attributes.
- Parameters:
inspector (
TreeInspector
) – tree inspector to collect and process attributes.- Return type:
None
- obtain_dependencies()
Retrieves an array of resources this resource depends on.
This assembles dependencies on resources across stacks (including nested stacks) automatically.
- Return type:
List
[Union
[Stack
,CfnResource
]]
- obtain_resource_dependencies()
Get a shallow copy of dependencies between this resource and other resources in the same stack.
- Return type:
List
[CfnResource
]
- override_logical_id(new_logical_id)
Overrides the auto-generated logical ID with a specific ID.
- Parameters:
new_logical_id (
str
) – The new logical ID to use for this stack element.- Return type:
None
- remove_dependency(target)
Indicates that this resource no longer depends on another resource.
This can be used for resources across stacks (including nested stacks) and the dependency will automatically be removed from the relevant scope.
- Parameters:
target (
CfnResource
) –- Return type:
None
- replace_dependency(target, new_target)
Replaces one dependency with another.
- Parameters:
target (
CfnResource
) – The dependency to replace.new_target (
CfnResource
) – The new dependency to add.
- Return type:
None
- to_string()
Returns a string representation of this construct.
- Return type:
str
- Returns:
a string representation of this resource
Attributes
- CFN_RESOURCE_TYPE_NAME = 'AWS::MediaPackage::OriginEndpoint'
- attr_arn
The endpoint’s unique system-generated resource name, based on the AWS record.
- CloudformationAttribute:
Arn
- attr_url
URL for the key provider’s key retrieval API endpoint.
Must start with https://.
- CloudformationAttribute:
Url
- authorization
Parameters for CDN authorization.
- cfn_options
Options for this resource, such as condition, update policy etc.
- cfn_resource_type
AWS resource type.
- channel_id
The ID of the channel associated with this endpoint.
- cmaf_package
Parameters for Common Media Application Format (CMAF) packaging.
- creation_stack
return:
the stack trace of the point where this Resource was created from, sourced from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most node +internal+ entries filtered.
- dash_package
Parameters for DASH packaging.
- description
Any descriptive information that you want to add to the endpoint for future identification purposes.
- hls_package
Parameters for Apple HLS packaging.
- id
The manifest ID is required and must be unique within the OriginEndpoint.
- logical_id
The logical ID for this CloudFormation stack element.
The logical ID of the element is calculated from the path of the resource node in the construct tree.
To override this value, use
overrideLogicalId(newLogicalId)
.- Returns:
the logical ID as a stringified token. This value will only get resolved during synthesis.
- manifest_name
A short string that’s appended to the end of the endpoint URL to create a unique path to this endpoint.
- mss_package
Parameters for Microsoft Smooth Streaming packaging.
- node
The tree node.
- origination
Controls video origination from this endpoint.
- ref
Return a string that will be resolved to a CloudFormation
{ Ref }
for this element.If, by any chance, the intrinsic reference of a resource is not a string, you could coerce it to an IResolvable through
Lazy.any({ produce: resource.ref })
.
- stack
The stack in which this element is defined.
CfnElements must be defined within a stack scope (directly or indirectly).
- startover_window_seconds
Maximum duration (seconds) of content to retain for startover playback.
- tags
Tag Manager which manages the tags for this resource.
- tags_raw
The tags to assign to the endpoint.
- time_delay_seconds
Minimum duration (seconds) of delay to enforce on the playback of live content.
- whitelist
The IP addresses that can access this endpoint.
Static Methods
- classmethod is_cfn_element(x)
Returns
true
if a construct is a stack element (i.e. part of the synthesized cloudformation template).Uses duck-typing instead of
instanceof
to allow stack elements from different versions of this library to be included in the same stack.- Parameters:
x (
Any
) –- Return type:
bool
- Returns:
The construct as a stack element or undefined if it is not a stack element.
- classmethod is_cfn_resource(x)
Check whether the given object is a CfnResource.
- Parameters:
x (
Any
) –- Return type:
bool
- classmethod is_construct(x)
Checks if
x
is a construct.Use this method instead of
instanceof
to properly detectConstruct
instances, even when the construct library is symlinked.Explanation: in JavaScript, multiple copies of the
constructs
library on disk are seen as independent, completely different libraries. As a consequence, the classConstruct
in each copy of theconstructs
library is seen as a different class, and an instance of one class will not test asinstanceof
the other class.npm install
will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of theconstructs
library can be accidentally installed, andinstanceof
will behave unpredictably. It is safest to avoid usinginstanceof
, and using this type-testing method instead.- Parameters:
x (
Any
) – Any object.- Return type:
bool
- Returns:
true if
x
is an object created from a class which extendsConstruct
.
CmafEncryptionProperty
- class CfnOriginEndpoint.CmafEncryptionProperty(*, speke_key_provider, constant_initialization_vector=None, encryption_method=None, key_rotation_interval_seconds=None)
Bases:
object
Holds encryption information so that access to the content can be controlled by a DRM solution.
- Parameters:
speke_key_provider (
Union
[IResolvable
,SpekeKeyProviderProperty
,Dict
[str
,Any
]]) – Parameters for the SPEKE key provider.constant_initialization_vector (
Optional
[str
]) – An optional 128-bit, 16-byte hex value represented by a 32-character string, used in conjunction with the key for encrypting blocks. If you don’t specify a value, then AWS Elemental MediaPackage creates the constant initialization vector (IV).encryption_method (
Optional
[str
]) – The encryption method to use.key_rotation_interval_seconds (
Union
[int
,float
,None
]) – Number of seconds before AWS Elemental MediaPackage rotates to a new key. By default, rotation is set to 60 seconds. Set to0
to disable key rotation.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_mediapackage as mediapackage cmaf_encryption_property = mediapackage.CfnOriginEndpoint.CmafEncryptionProperty( speke_key_provider=mediapackage.CfnOriginEndpoint.SpekeKeyProviderProperty( resource_id="resourceId", role_arn="roleArn", system_ids=["systemIds"], url="url", # the properties below are optional certificate_arn="certificateArn", encryption_contract_configuration=mediapackage.CfnOriginEndpoint.EncryptionContractConfigurationProperty( preset_speke20_audio="presetSpeke20Audio", preset_speke20_video="presetSpeke20Video" ) ), # the properties below are optional constant_initialization_vector="constantInitializationVector", encryption_method="encryptionMethod", key_rotation_interval_seconds=123 )
Attributes
- constant_initialization_vector
An optional 128-bit, 16-byte hex value represented by a 32-character string, used in conjunction with the key for encrypting blocks.
If you don’t specify a value, then AWS Elemental MediaPackage creates the constant initialization vector (IV).
- encryption_method
The encryption method to use.
- key_rotation_interval_seconds
Number of seconds before AWS Elemental MediaPackage rotates to a new key.
By default, rotation is set to 60 seconds. Set to
0
to disable key rotation.
- speke_key_provider
Parameters for the SPEKE key provider.
CmafPackageProperty
- class CfnOriginEndpoint.CmafPackageProperty(*, encryption=None, hls_manifests=None, segment_duration_seconds=None, segment_prefix=None, stream_selection=None)
Bases:
object
Parameters for Common Media Application Format (CMAF) packaging.
- Parameters:
encryption (
Union
[IResolvable
,CmafEncryptionProperty
,Dict
[str
,Any
],None
]) – Parameters for encrypting content.hls_manifests (
Union
[IResolvable
,Sequence
[Union
[IResolvable
,HlsManifestProperty
,Dict
[str
,Any
]]],None
]) – A list of HLS manifest configurations that are available from this endpoint.segment_duration_seconds (
Union
[int
,float
,None
]) – Duration (in seconds) of each segment. Actual segments are rounded to the nearest multiple of the source segment duration.segment_prefix (
Optional
[str
]) – An optional custom string that is prepended to the name of each segment. If not specified, the segment prefix defaults to the ChannelId.stream_selection (
Union
[IResolvable
,StreamSelectionProperty
,Dict
[str
,Any
],None
]) – Limitations for outputs from the endpoint, based on the video bitrate.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_mediapackage as mediapackage cmaf_package_property = mediapackage.CfnOriginEndpoint.CmafPackageProperty( encryption=mediapackage.CfnOriginEndpoint.CmafEncryptionProperty( speke_key_provider=mediapackage.CfnOriginEndpoint.SpekeKeyProviderProperty( resource_id="resourceId", role_arn="roleArn", system_ids=["systemIds"], url="url", # the properties below are optional certificate_arn="certificateArn", encryption_contract_configuration=mediapackage.CfnOriginEndpoint.EncryptionContractConfigurationProperty( preset_speke20_audio="presetSpeke20Audio", preset_speke20_video="presetSpeke20Video" ) ), # the properties below are optional constant_initialization_vector="constantInitializationVector", encryption_method="encryptionMethod", key_rotation_interval_seconds=123 ), hls_manifests=[mediapackage.CfnOriginEndpoint.HlsManifestProperty( id="id", # the properties below are optional ad_markers="adMarkers", ads_on_delivery_restrictions="adsOnDeliveryRestrictions", ad_triggers=["adTriggers"], include_iframe_only_stream=False, manifest_name="manifestName", playlist_type="playlistType", playlist_window_seconds=123, program_date_time_interval_seconds=123, url="url" )], segment_duration_seconds=123, segment_prefix="segmentPrefix", stream_selection=mediapackage.CfnOriginEndpoint.StreamSelectionProperty( max_video_bits_per_second=123, min_video_bits_per_second=123, stream_order="streamOrder" ) )
Attributes
- encryption
Parameters for encrypting content.
- hls_manifests
A list of HLS manifest configurations that are available from this endpoint.
- segment_duration_seconds
Duration (in seconds) of each segment.
Actual segments are rounded to the nearest multiple of the source segment duration.
- segment_prefix
An optional custom string that is prepended to the name of each segment.
If not specified, the segment prefix defaults to the ChannelId.
- stream_selection
Limitations for outputs from the endpoint, based on the video bitrate.
DashEncryptionProperty
- class CfnOriginEndpoint.DashEncryptionProperty(*, speke_key_provider, key_rotation_interval_seconds=None)
Bases:
object
Holds encryption information so that access to the content can be controlled by a DRM solution.
- Parameters:
speke_key_provider (
Union
[IResolvable
,SpekeKeyProviderProperty
,Dict
[str
,Any
]]) – Parameters for the SPEKE key provider.key_rotation_interval_seconds (
Union
[int
,float
,None
]) – Number of seconds before AWS Elemental MediaPackage rotates to a new key. By default, rotation is set to 60 seconds. Set to0
to disable key rotation.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_mediapackage as mediapackage dash_encryption_property = mediapackage.CfnOriginEndpoint.DashEncryptionProperty( speke_key_provider=mediapackage.CfnOriginEndpoint.SpekeKeyProviderProperty( resource_id="resourceId", role_arn="roleArn", system_ids=["systemIds"], url="url", # the properties below are optional certificate_arn="certificateArn", encryption_contract_configuration=mediapackage.CfnOriginEndpoint.EncryptionContractConfigurationProperty( preset_speke20_audio="presetSpeke20Audio", preset_speke20_video="presetSpeke20Video" ) ), # the properties below are optional key_rotation_interval_seconds=123 )
Attributes
- key_rotation_interval_seconds
Number of seconds before AWS Elemental MediaPackage rotates to a new key.
By default, rotation is set to 60 seconds. Set to
0
to disable key rotation.
- speke_key_provider
Parameters for the SPEKE key provider.
DashPackageProperty
- class CfnOriginEndpoint.DashPackageProperty(*, ads_on_delivery_restrictions=None, ad_triggers=None, encryption=None, include_iframe_only_stream=None, manifest_layout=None, manifest_window_seconds=None, min_buffer_time_seconds=None, min_update_period_seconds=None, period_triggers=None, profile=None, segment_duration_seconds=None, segment_template_format=None, stream_selection=None, suggested_presentation_delay_seconds=None, utc_timing=None, utc_timing_uri=None)
Bases:
object
Parameters for DASH packaging.
- Parameters:
ads_on_delivery_restrictions (
Optional
[str
]) – The flags on SCTE-35 segmentation descriptors that have to be present for AWS Elemental MediaPackage to insert ad markers in the output manifest. For information about SCTE-35 in AWS Elemental MediaPackage , see SCTE-35 Message Options in AWS Elemental MediaPackage .ad_triggers (
Optional
[Sequence
[str
]]) – Specifies the SCTE-35 message types that AWS Elemental MediaPackage treats as ad markers in the output manifest. Valid values: -BREAK
-DISTRIBUTOR_ADVERTISEMENT
-DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY
. -DISTRIBUTOR_PLACEMENT_OPPORTUNITY
. -PROVIDER_ADVERTISEMENT
. -PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY
. -PROVIDER_PLACEMENT_OPPORTUNITY
. -SPLICE_INSERT
.encryption (
Union
[IResolvable
,DashEncryptionProperty
,Dict
[str
,Any
],None
]) – Parameters for encrypting content.include_iframe_only_stream (
Union
[bool
,IResolvable
,None
]) – This applies only to stream sets with a single video track. When true, the stream set includes an additional I-frame trick-play only stream, along with the other tracks. If false, this extra stream is not included.manifest_layout (
Optional
[str
]) – Determines the position of some tags in the manifest. Valid values: -FULL
- Elements likeSegmentTemplate
andContentProtection
are included in eachRepresentation
. -COMPACT
- Duplicate elements are combined and presented at theAdaptationSet
level.manifest_window_seconds (
Union
[int
,float
,None
]) – Time window (in seconds) contained in each manifest.min_buffer_time_seconds (
Union
[int
,float
,None
]) – Minimum amount of content (measured in seconds) that a player must keep available in the buffer.min_update_period_seconds (
Union
[int
,float
,None
]) – Minimum amount of time (in seconds) that the player should wait before requesting updates to the manifest.period_triggers (
Optional
[Sequence
[str
]]) – Controls whether AWS Elemental MediaPackage produces single-period or multi-period DASH manifests. For more information about periods, see Multi-period DASH in AWS Elemental MediaPackage . Valid values: -ADS
- AWS Elemental MediaPackage will produce multi-period DASH manifests. Periods are created based on the SCTE-35 ad markers present in the input manifest. - No value - AWS Elemental MediaPackage will produce single-period DASH manifests. This is the default setting.profile (
Optional
[str
]) – The DASH profile for the output. Valid values: -NONE
- The output doesn’t use a DASH profile. -HBBTV_1_5
- The output is compliant with HbbTV v1.5. -DVB_DASH_2014
- The output is compliant with DVB-DASH 2014.segment_duration_seconds (
Union
[int
,float
,None
]) – Duration (in seconds) of each fragment. Actual fragments are rounded to the nearest multiple of the source fragment duration.segment_template_format (
Optional
[str
]) – Determines the type of variable used in themedia
URL of theSegmentTemplate
tag in the manifest. Also specifies if segment timeline information is included inSegmentTimeline
orSegmentTemplate
. Valid values: -NUMBER_WITH_TIMELINE
- The$Number$
variable is used in themedia
URL. The value of this variable is the sequential number of the segment. A fullSegmentTimeline
object is presented in eachSegmentTemplate
. -NUMBER_WITH_DURATION
- The$Number$
variable is used in themedia
URL and aduration
attribute is added to the segment template. TheSegmentTimeline
object is removed from the representation. -TIME_WITH_TIMELINE
- The$Time$
variable is used in themedia
URL. The value of this variable is the timestamp of when the segment starts. A fullSegmentTimeline
object is presented in eachSegmentTemplate
.stream_selection (
Union
[IResolvable
,StreamSelectionProperty
,Dict
[str
,Any
],None
]) – Limitations for outputs from the endpoint, based on the video bitrate.suggested_presentation_delay_seconds (
Union
[int
,float
,None
]) – Amount of time (in seconds) that the player should be from the live point at the end of the manifest.utc_timing (
Optional
[str
]) – Determines the type of UTC timing included in the DASH Media Presentation Description (MPD).utc_timing_uri (
Optional
[str
]) – Specifies the value attribute of the UTC timing field when utcTiming is set to HTTP-ISO or HTTP-HEAD.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_mediapackage as mediapackage dash_package_property = mediapackage.CfnOriginEndpoint.DashPackageProperty( ads_on_delivery_restrictions="adsOnDeliveryRestrictions", ad_triggers=["adTriggers"], encryption=mediapackage.CfnOriginEndpoint.DashEncryptionProperty( speke_key_provider=mediapackage.CfnOriginEndpoint.SpekeKeyProviderProperty( resource_id="resourceId", role_arn="roleArn", system_ids=["systemIds"], url="url", # the properties below are optional certificate_arn="certificateArn", encryption_contract_configuration=mediapackage.CfnOriginEndpoint.EncryptionContractConfigurationProperty( preset_speke20_audio="presetSpeke20Audio", preset_speke20_video="presetSpeke20Video" ) ), # the properties below are optional key_rotation_interval_seconds=123 ), include_iframe_only_stream=False, manifest_layout="manifestLayout", manifest_window_seconds=123, min_buffer_time_seconds=123, min_update_period_seconds=123, period_triggers=["periodTriggers"], profile="profile", segment_duration_seconds=123, segment_template_format="segmentTemplateFormat", stream_selection=mediapackage.CfnOriginEndpoint.StreamSelectionProperty( max_video_bits_per_second=123, min_video_bits_per_second=123, stream_order="streamOrder" ), suggested_presentation_delay_seconds=123, utc_timing="utcTiming", utc_timing_uri="utcTimingUri" )
Attributes
- ad_triggers
Specifies the SCTE-35 message types that AWS Elemental MediaPackage treats as ad markers in the output manifest.
Valid values:
BREAK
DISTRIBUTOR_ADVERTISEMENT
DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY
.DISTRIBUTOR_PLACEMENT_OPPORTUNITY
.PROVIDER_ADVERTISEMENT
.PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY
.PROVIDER_PLACEMENT_OPPORTUNITY
.SPLICE_INSERT
.
- ads_on_delivery_restrictions
The flags on SCTE-35 segmentation descriptors that have to be present for AWS Elemental MediaPackage to insert ad markers in the output manifest.
For information about SCTE-35 in AWS Elemental MediaPackage , see SCTE-35 Message Options in AWS Elemental MediaPackage .
- encryption
Parameters for encrypting content.
- include_iframe_only_stream
This applies only to stream sets with a single video track.
When true, the stream set includes an additional I-frame trick-play only stream, along with the other tracks. If false, this extra stream is not included.
- manifest_layout
Determines the position of some tags in the manifest.
Valid values:
FULL
- Elements likeSegmentTemplate
andContentProtection
are included in eachRepresentation
.COMPACT
- Duplicate elements are combined and presented at theAdaptationSet
level.
- manifest_window_seconds
Time window (in seconds) contained in each manifest.
- min_buffer_time_seconds
Minimum amount of content (measured in seconds) that a player must keep available in the buffer.
- min_update_period_seconds
Minimum amount of time (in seconds) that the player should wait before requesting updates to the manifest.
- period_triggers
Controls whether AWS Elemental MediaPackage produces single-period or multi-period DASH manifests.
For more information about periods, see Multi-period DASH in AWS Elemental MediaPackage .
Valid values:
ADS
- AWS Elemental MediaPackage will produce multi-period DASH manifests. Periods are created based on the SCTE-35 ad markers present in the input manifest.No value - AWS Elemental MediaPackage will produce single-period DASH manifests. This is the default setting.
- profile
The DASH profile for the output.
Valid values:
NONE
- The output doesn’t use a DASH profile.HBBTV_1_5
- The output is compliant with HbbTV v1.5.DVB_DASH_2014
- The output is compliant with DVB-DASH 2014.
- segment_duration_seconds
Duration (in seconds) of each fragment.
Actual fragments are rounded to the nearest multiple of the source fragment duration.
- segment_template_format
Determines the type of variable used in the
media
URL of theSegmentTemplate
tag in the manifest.Also specifies if segment timeline information is included in
SegmentTimeline
orSegmentTemplate
.Valid values:
NUMBER_WITH_TIMELINE
- The$Number$
variable is used in themedia
URL. The value of this variable is the sequential number of the segment. A fullSegmentTimeline
object is presented in eachSegmentTemplate
.NUMBER_WITH_DURATION
- The$Number$
variable is used in themedia
URL and aduration
attribute is added to the segment template. TheSegmentTimeline
object is removed from the representation.TIME_WITH_TIMELINE
- The$Time$
variable is used in themedia
URL. The value of this variable is the timestamp of when the segment starts. A fullSegmentTimeline
object is presented in eachSegmentTemplate
.
- stream_selection
Limitations for outputs from the endpoint, based on the video bitrate.
- suggested_presentation_delay_seconds
Amount of time (in seconds) that the player should be from the live point at the end of the manifest.
- utc_timing
Determines the type of UTC timing included in the DASH Media Presentation Description (MPD).
- utc_timing_uri
Specifies the value attribute of the UTC timing field when utcTiming is set to HTTP-ISO or HTTP-HEAD.
EncryptionContractConfigurationProperty
- class CfnOriginEndpoint.EncryptionContractConfigurationProperty(*, preset_speke20_audio, preset_speke20_video)
Bases:
object
Use
encryptionContractConfiguration
to configure one or more content encryption keys for your endpoints that use SPEKE Version 2.0. The encryption contract defines the content keys used to encrypt the audio and video tracks in your stream. To configure the encryption contract, specify which audio and video encryption presets to use. For more information about these presets, see SPEKE Version 2.0 Presets .Note the following considerations when using
encryptionContractConfiguration
:You can use
encryptionContractConfiguration
for DASH endpoints that use SPEKE Version 2.0. SPEKE Version 2.0 relies on the CPIX Version 2.3 specification.You cannot combine an
UNENCRYPTED
preset withUNENCRYPTED
orSHARED
presets acrosspresetSpeke20Audio
andpresetSpeke20Video
.When you use a
SHARED
preset, you must use it for bothpresetSpeke20Audio
andpresetSpeke20Video
.
- Parameters:
preset_speke20_audio (
str
) – A collection of audio encryption presets. Value description: -PRESET-AUDIO-1
- Use one content key to encrypt all of the audio tracks in your stream. -PRESET-AUDIO-2
- Use one content key to encrypt all of the stereo audio tracks and one content key to encrypt all of the multichannel audio tracks. -PRESET-AUDIO-3
- Use one content key to encrypt all of the stereo audio tracks, one content key to encrypt all of the multichannel audio tracks with 3 to 6 channels, and one content key to encrypt all of the multichannel audio tracks with more than 6 channels. -SHARED
- Use the same content key for all of the audio and video tracks in your stream. -UNENCRYPTED
- Don’t encrypt any of the audio tracks in your stream.preset_speke20_video (
str
) – A collection of video encryption presets. Value description: -PRESET-VIDEO-1
- Use one content key to encrypt all of the video tracks in your stream. -PRESET-VIDEO-2
- Use one content key to encrypt all of the SD video tracks and one content key for all HD and higher resolutions video tracks. -PRESET-VIDEO-3
- Use one content key to encrypt all of the SD video tracks, one content key for HD video tracks and one content key for all UHD video tracks. -PRESET-VIDEO-4
- Use one content key to encrypt all of the SD video tracks, one content key for HD video tracks, one content key for all UHD1 video tracks and one content key for all UHD2 video tracks. -PRESET-VIDEO-5
- Use one content key to encrypt all of the SD video tracks, one content key for HD1 video tracks, one content key for HD2 video tracks, one content key for all UHD1 video tracks and one content key for all UHD2 video tracks. -PRESET-VIDEO-6
- Use one content key to encrypt all of the SD video tracks, one content key for HD1 video tracks, one content key for HD2 video tracks and one content key for all UHD video tracks. -PRESET-VIDEO-7
- Use one content key to encrypt all of the SD+HD1 video tracks, one content key for HD2 video tracks and one content key for all UHD video tracks. -PRESET-VIDEO-8
- Use one content key to encrypt all of the SD+HD1 video tracks, one content key for HD2 video tracks, one content key for all UHD1 video tracks and one content key for all UHD2 video tracks. -SHARED
- Use the same content key for all of the video and audio tracks in your stream. -UNENCRYPTED
- Don’t encrypt any of the video tracks in your stream.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_mediapackage as mediapackage encryption_contract_configuration_property = mediapackage.CfnOriginEndpoint.EncryptionContractConfigurationProperty( preset_speke20_audio="presetSpeke20Audio", preset_speke20_video="presetSpeke20Video" )
Attributes
- preset_speke20_audio
A collection of audio encryption presets.
Value description:
PRESET-AUDIO-1
- Use one content key to encrypt all of the audio tracks in your stream.PRESET-AUDIO-2
- Use one content key to encrypt all of the stereo audio tracks and one content key to encrypt all of the multichannel audio tracks.PRESET-AUDIO-3
- Use one content key to encrypt all of the stereo audio tracks, one content key to encrypt all of the multichannel audio tracks with 3 to 6 channels, and one content key to encrypt all of the multichannel audio tracks with more than 6 channels.SHARED
- Use the same content key for all of the audio and video tracks in your stream.UNENCRYPTED
- Don’t encrypt any of the audio tracks in your stream.
- preset_speke20_video
A collection of video encryption presets.
Value description:
PRESET-VIDEO-1
- Use one content key to encrypt all of the video tracks in your stream.PRESET-VIDEO-2
- Use one content key to encrypt all of the SD video tracks and one content key for all HD and higher resolutions video tracks.PRESET-VIDEO-3
- Use one content key to encrypt all of the SD video tracks, one content key for HD video tracks and one content key for all UHD video tracks.PRESET-VIDEO-4
- Use one content key to encrypt all of the SD video tracks, one content key for HD video tracks, one content key for all UHD1 video tracks and one content key for all UHD2 video tracks.PRESET-VIDEO-5
- Use one content key to encrypt all of the SD video tracks, one content key for HD1 video tracks, one content key for HD2 video tracks, one content key for all UHD1 video tracks and one content key for all UHD2 video tracks.PRESET-VIDEO-6
- Use one content key to encrypt all of the SD video tracks, one content key for HD1 video tracks, one content key for HD2 video tracks and one content key for all UHD video tracks.PRESET-VIDEO-7
- Use one content key to encrypt all of the SD+HD1 video tracks, one content key for HD2 video tracks and one content key for all UHD video tracks.PRESET-VIDEO-8
- Use one content key to encrypt all of the SD+HD1 video tracks, one content key for HD2 video tracks, one content key for all UHD1 video tracks and one content key for all UHD2 video tracks.SHARED
- Use the same content key for all of the video and audio tracks in your stream.UNENCRYPTED
- Don’t encrypt any of the video tracks in your stream.
HlsEncryptionProperty
- class CfnOriginEndpoint.HlsEncryptionProperty(*, speke_key_provider, constant_initialization_vector=None, encryption_method=None, key_rotation_interval_seconds=None, repeat_ext_x_key=None)
Bases:
object
Holds encryption information so that access to the content can be controlled by a DRM solution.
- Parameters:
speke_key_provider (
Union
[IResolvable
,SpekeKeyProviderProperty
,Dict
[str
,Any
]]) – Parameters for the SPEKE key provider.constant_initialization_vector (
Optional
[str
]) – A 128-bit, 16-byte hex value represented by a 32-character string, used with the key for encrypting blocks.encryption_method (
Optional
[str
]) – HLS encryption type.key_rotation_interval_seconds (
Union
[int
,float
,None
]) – Number of seconds before AWS Elemental MediaPackage rotates to a new key. By default, rotation is set to 60 seconds. Set to0
to disable key rotation.repeat_ext_x_key (
Union
[bool
,IResolvable
,None
]) – Repeat theEXT-X-KEY
directive for every media segment. This might result in an increase in client requests to the DRM server.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_mediapackage as mediapackage hls_encryption_property = mediapackage.CfnOriginEndpoint.HlsEncryptionProperty( speke_key_provider=mediapackage.CfnOriginEndpoint.SpekeKeyProviderProperty( resource_id="resourceId", role_arn="roleArn", system_ids=["systemIds"], url="url", # the properties below are optional certificate_arn="certificateArn", encryption_contract_configuration=mediapackage.CfnOriginEndpoint.EncryptionContractConfigurationProperty( preset_speke20_audio="presetSpeke20Audio", preset_speke20_video="presetSpeke20Video" ) ), # the properties below are optional constant_initialization_vector="constantInitializationVector", encryption_method="encryptionMethod", key_rotation_interval_seconds=123, repeat_ext_xKey=False )
Attributes
- constant_initialization_vector
A 128-bit, 16-byte hex value represented by a 32-character string, used with the key for encrypting blocks.
- encryption_method
HLS encryption type.
- key_rotation_interval_seconds
Number of seconds before AWS Elemental MediaPackage rotates to a new key.
By default, rotation is set to 60 seconds. Set to
0
to disable key rotation.
- repeat_ext_x_key
Repeat the
EXT-X-KEY
directive for every media segment.This might result in an increase in client requests to the DRM server.
- speke_key_provider
Parameters for the SPEKE key provider.
HlsManifestProperty
- class CfnOriginEndpoint.HlsManifestProperty(*, id, ad_markers=None, ads_on_delivery_restrictions=None, ad_triggers=None, include_iframe_only_stream=None, manifest_name=None, playlist_type=None, playlist_window_seconds=None, program_date_time_interval_seconds=None, url=None)
Bases:
object
An HTTP Live Streaming (HLS) manifest configuration on a CMAF endpoint.
- Parameters:
id (
str
) – The manifest ID is required and must be unique within the OriginEndpoint. The ID can’t be changed after the endpoint is created.ad_markers (
Optional
[str
]) – Controls how ad markers are included in the packaged endpoint. Valid values: -NONE
- Omits all SCTE-35 ad markers from the output. -PASSTHROUGH
- Creates a copy in the output of the SCTE-35 ad markers (comments) taken directly from the input manifest. -SCTE35_ENHANCED
- Generates ad markers and blackout tags in the output based on the SCTE-35 messages from the input manifest.ads_on_delivery_restrictions (
Optional
[str
]) –The flags on SCTE-35 segmentation descriptors that have to be present for AWS Elemental MediaPackage to insert ad markers in the output manifest. For information about SCTE-35 in AWS Elemental MediaPackage , see SCTE-35 Message Options in AWS Elemental MediaPackage .
ad_triggers (
Optional
[Sequence
[str
]]) – Specifies the SCTE-35 message types that AWS Elemental MediaPackage treats as ad markers in the output manifest. Valid values: -BREAK
-DISTRIBUTOR_ADVERTISEMENT
-DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY
-DISTRIBUTOR_PLACEMENT_OPPORTUNITY
-PROVIDER_ADVERTISEMENT
-PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY
-PROVIDER_PLACEMENT_OPPORTUNITY
-SPLICE_INSERT
include_iframe_only_stream (
Union
[bool
,IResolvable
,None
]) – Applies to stream sets with a single video track only. When true, the stream set includes an additional I-frame only stream, along with the other tracks. If false, this extra stream is not included.manifest_name (
Optional
[str
]) – A short string that’s appended to the end of the endpoint URL to create a unique path to this endpoint. The manifestName on the HLSManifest object overrides the manifestName that you provided on the originEndpoint object.playlist_type (
Optional
[str
]) – When specified as eitherevent
orvod
, a correspondingEXT-X-PLAYLIST-TYPE
entry is included in the media playlist. Indicates if the playlist is live-to-VOD content.playlist_window_seconds (
Union
[int
,float
,None
]) – Time window (in seconds) contained in each parent manifest.program_date_time_interval_seconds (
Union
[int
,float
,None
]) – InsertsEXT-X-PROGRAM-DATE-TIME
tags in the output manifest at the interval that you specify. Additionally, ID3Timed metadata messages are generated every 5 seconds starting when the content was ingested. Irrespective of this parameter, if any ID3Timed metadata is in the HLS input, it is passed through to the HLS output. Omit this attribute or enter0
to indicate that theEXT-X-PROGRAM-DATE-TIME
tags are not included in the manifest.url (
Optional
[str
]) – The URL that’s used to request this manifest from this endpoint.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_mediapackage as mediapackage hls_manifest_property = mediapackage.CfnOriginEndpoint.HlsManifestProperty( id="id", # the properties below are optional ad_markers="adMarkers", ads_on_delivery_restrictions="adsOnDeliveryRestrictions", ad_triggers=["adTriggers"], include_iframe_only_stream=False, manifest_name="manifestName", playlist_type="playlistType", playlist_window_seconds=123, program_date_time_interval_seconds=123, url="url" )
Attributes
- ad_markers
Controls how ad markers are included in the packaged endpoint.
Valid values:
NONE
- Omits all SCTE-35 ad markers from the output.PASSTHROUGH
- Creates a copy in the output of the SCTE-35 ad markers (comments) taken directly from the input manifest.SCTE35_ENHANCED
- Generates ad markers and blackout tags in the output based on the SCTE-35 messages from the input manifest.
- ad_triggers
Specifies the SCTE-35 message types that AWS Elemental MediaPackage treats as ad markers in the output manifest.
Valid values:
BREAK
DISTRIBUTOR_ADVERTISEMENT
DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY
DISTRIBUTOR_PLACEMENT_OPPORTUNITY
PROVIDER_ADVERTISEMENT
PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY
PROVIDER_PLACEMENT_OPPORTUNITY
SPLICE_INSERT
- ads_on_delivery_restrictions
The flags on SCTE-35 segmentation descriptors that have to be present for AWS Elemental MediaPackage to insert ad markers in the output manifest.
For information about SCTE-35 in AWS Elemental MediaPackage , see SCTE-35 Message Options in AWS Elemental MediaPackage .
- id
The manifest ID is required and must be unique within the OriginEndpoint.
The ID can’t be changed after the endpoint is created.
- include_iframe_only_stream
Applies to stream sets with a single video track only.
When true, the stream set includes an additional I-frame only stream, along with the other tracks. If false, this extra stream is not included.
- manifest_name
A short string that’s appended to the end of the endpoint URL to create a unique path to this endpoint.
The manifestName on the HLSManifest object overrides the manifestName that you provided on the originEndpoint object.
- playlist_type
When specified as either
event
orvod
, a correspondingEXT-X-PLAYLIST-TYPE
entry is included in the media playlist.Indicates if the playlist is live-to-VOD content.
- playlist_window_seconds
Time window (in seconds) contained in each parent manifest.
- program_date_time_interval_seconds
Inserts
EXT-X-PROGRAM-DATE-TIME
tags in the output manifest at the interval that you specify.Additionally, ID3Timed metadata messages are generated every 5 seconds starting when the content was ingested.
Irrespective of this parameter, if any ID3Timed metadata is in the HLS input, it is passed through to the HLS output.
Omit this attribute or enter
0
to indicate that theEXT-X-PROGRAM-DATE-TIME
tags are not included in the manifest.
- url
The URL that’s used to request this manifest from this endpoint.
HlsPackageProperty
- class CfnOriginEndpoint.HlsPackageProperty(*, ad_markers=None, ads_on_delivery_restrictions=None, ad_triggers=None, encryption=None, include_dvb_subtitles=None, include_iframe_only_stream=None, playlist_type=None, playlist_window_seconds=None, program_date_time_interval_seconds=None, segment_duration_seconds=None, stream_selection=None, use_audio_rendition_group=None)
Bases:
object
Parameters for Apple HLS packaging.
- Parameters:
ad_markers (
Optional
[str
]) – Controls how ad markers are included in the packaged endpoint. Valid values: -NONE
- Omits all SCTE-35 ad markers from the output. -PASSTHROUGH
- Creates a copy in the output of the SCTE-35 ad markers (comments) taken directly from the input manifest. -SCTE35_ENHANCED
- Generates ad markers and blackout tags in the output based on the SCTE-35 messages from the input manifest.ads_on_delivery_restrictions (
Optional
[str
]) –The flags on SCTE-35 segmentation descriptors that have to be present for AWS Elemental MediaPackage to insert ad markers in the output manifest. For information about SCTE-35 in AWS Elemental MediaPackage , see SCTE-35 Message Options in AWS Elemental MediaPackage .
ad_triggers (
Optional
[Sequence
[str
]]) – Specifies the SCTE-35 message types that AWS Elemental MediaPackage treats as ad markers in the output manifest. Valid values: -BREAK
-DISTRIBUTOR_ADVERTISEMENT
-DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY
-DISTRIBUTOR_PLACEMENT_OPPORTUNITY
-PROVIDER_ADVERTISEMENT
-PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY
-PROVIDER_PLACEMENT_OPPORTUNITY
-SPLICE_INSERT
encryption (
Union
[IResolvable
,HlsEncryptionProperty
,Dict
[str
,Any
],None
]) – Parameters for encrypting content.include_dvb_subtitles (
Union
[bool
,IResolvable
,None
]) – When enabled, MediaPackage passes through digital video broadcasting (DVB) subtitles into the output.include_iframe_only_stream (
Union
[bool
,IResolvable
,None
]) – Only applies to stream sets with a single video track. When true, the stream set includes an additional I-frame only stream, along with the other tracks. If false, this extra stream is not included.playlist_type (
Optional
[str
]) – When specified as eitherevent
orvod
, a correspondingEXT-X-PLAYLIST-TYPE
entry is included in the media playlist. Indicates if the playlist is live-to-VOD content.playlist_window_seconds (
Union
[int
,float
,None
]) – Time window (in seconds) contained in each parent manifest.program_date_time_interval_seconds (
Union
[int
,float
,None
]) – InsertsEXT-X-PROGRAM-DATE-TIME
tags in the output manifest at the interval that you specify. Additionally, ID3Timed metadata messages are generated every 5 seconds starting when the content was ingested. Irrespective of this parameter, if any ID3Timed metadata is in the HLS input, it is passed through to the HLS output. Omit this attribute or enter0
to indicate that theEXT-X-PROGRAM-DATE-TIME
tags are not included in the manifest.segment_duration_seconds (
Union
[int
,float
,None
]) – Duration (in seconds) of each fragment. Actual fragments are rounded to the nearest multiple of the source fragment duration.stream_selection (
Union
[IResolvable
,StreamSelectionProperty
,Dict
[str
,Any
],None
]) – Limitations for outputs from the endpoint, based on the video bitrate.use_audio_rendition_group (
Union
[bool
,IResolvable
,None
]) – When true, AWS Elemental MediaPackage bundles all audio tracks in a rendition group. All other tracks in the stream can be used with any audio rendition from the group.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_mediapackage as mediapackage hls_package_property = mediapackage.CfnOriginEndpoint.HlsPackageProperty( ad_markers="adMarkers", ads_on_delivery_restrictions="adsOnDeliveryRestrictions", ad_triggers=["adTriggers"], encryption=mediapackage.CfnOriginEndpoint.HlsEncryptionProperty( speke_key_provider=mediapackage.CfnOriginEndpoint.SpekeKeyProviderProperty( resource_id="resourceId", role_arn="roleArn", system_ids=["systemIds"], url="url", # the properties below are optional certificate_arn="certificateArn", encryption_contract_configuration=mediapackage.CfnOriginEndpoint.EncryptionContractConfigurationProperty( preset_speke20_audio="presetSpeke20Audio", preset_speke20_video="presetSpeke20Video" ) ), # the properties below are optional constant_initialization_vector="constantInitializationVector", encryption_method="encryptionMethod", key_rotation_interval_seconds=123, repeat_ext_xKey=False ), include_dvb_subtitles=False, include_iframe_only_stream=False, playlist_type="playlistType", playlist_window_seconds=123, program_date_time_interval_seconds=123, segment_duration_seconds=123, stream_selection=mediapackage.CfnOriginEndpoint.StreamSelectionProperty( max_video_bits_per_second=123, min_video_bits_per_second=123, stream_order="streamOrder" ), use_audio_rendition_group=False )
Attributes
- ad_markers
Controls how ad markers are included in the packaged endpoint.
Valid values:
NONE
- Omits all SCTE-35 ad markers from the output.PASSTHROUGH
- Creates a copy in the output of the SCTE-35 ad markers (comments) taken directly from the input manifest.SCTE35_ENHANCED
- Generates ad markers and blackout tags in the output based on the SCTE-35 messages from the input manifest.
- ad_triggers
Specifies the SCTE-35 message types that AWS Elemental MediaPackage treats as ad markers in the output manifest.
Valid values:
BREAK
DISTRIBUTOR_ADVERTISEMENT
DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY
DISTRIBUTOR_PLACEMENT_OPPORTUNITY
PROVIDER_ADVERTISEMENT
PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY
PROVIDER_PLACEMENT_OPPORTUNITY
SPLICE_INSERT
- ads_on_delivery_restrictions
The flags on SCTE-35 segmentation descriptors that have to be present for AWS Elemental MediaPackage to insert ad markers in the output manifest.
For information about SCTE-35 in AWS Elemental MediaPackage , see SCTE-35 Message Options in AWS Elemental MediaPackage .
- encryption
Parameters for encrypting content.
- include_dvb_subtitles
When enabled, MediaPackage passes through digital video broadcasting (DVB) subtitles into the output.
- include_iframe_only_stream
Only applies to stream sets with a single video track.
When true, the stream set includes an additional I-frame only stream, along with the other tracks. If false, this extra stream is not included.
- playlist_type
When specified as either
event
orvod
, a correspondingEXT-X-PLAYLIST-TYPE
entry is included in the media playlist.Indicates if the playlist is live-to-VOD content.
- playlist_window_seconds
Time window (in seconds) contained in each parent manifest.
- program_date_time_interval_seconds
Inserts
EXT-X-PROGRAM-DATE-TIME
tags in the output manifest at the interval that you specify.Additionally, ID3Timed metadata messages are generated every 5 seconds starting when the content was ingested.
Irrespective of this parameter, if any ID3Timed metadata is in the HLS input, it is passed through to the HLS output.
Omit this attribute or enter
0
to indicate that theEXT-X-PROGRAM-DATE-TIME
tags are not included in the manifest.
- segment_duration_seconds
Duration (in seconds) of each fragment.
Actual fragments are rounded to the nearest multiple of the source fragment duration.
- stream_selection
Limitations for outputs from the endpoint, based on the video bitrate.
- use_audio_rendition_group
When true, AWS Elemental MediaPackage bundles all audio tracks in a rendition group.
All other tracks in the stream can be used with any audio rendition from the group.
MssEncryptionProperty
- class CfnOriginEndpoint.MssEncryptionProperty(*, speke_key_provider)
Bases:
object
Holds encryption information so that access to the content can be controlled by a DRM solution.
- Parameters:
speke_key_provider (
Union
[IResolvable
,SpekeKeyProviderProperty
,Dict
[str
,Any
]]) – Parameters for the SPEKE key provider.- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_mediapackage as mediapackage mss_encryption_property = mediapackage.CfnOriginEndpoint.MssEncryptionProperty( speke_key_provider=mediapackage.CfnOriginEndpoint.SpekeKeyProviderProperty( resource_id="resourceId", role_arn="roleArn", system_ids=["systemIds"], url="url", # the properties below are optional certificate_arn="certificateArn", encryption_contract_configuration=mediapackage.CfnOriginEndpoint.EncryptionContractConfigurationProperty( preset_speke20_audio="presetSpeke20Audio", preset_speke20_video="presetSpeke20Video" ) ) )
Attributes
- speke_key_provider
Parameters for the SPEKE key provider.
MssPackageProperty
- class CfnOriginEndpoint.MssPackageProperty(*, encryption=None, manifest_window_seconds=None, segment_duration_seconds=None, stream_selection=None)
Bases:
object
Parameters for Microsoft Smooth Streaming packaging.
- Parameters:
encryption (
Union
[IResolvable
,MssEncryptionProperty
,Dict
[str
,Any
],None
]) – Parameters for encrypting content.manifest_window_seconds (
Union
[int
,float
,None
]) – Time window (in seconds) contained in each manifest.segment_duration_seconds (
Union
[int
,float
,None
]) – Duration (in seconds) of each fragment. Actual fragments are rounded to the nearest multiple of the source fragment duration.stream_selection (
Union
[IResolvable
,StreamSelectionProperty
,Dict
[str
,Any
],None
]) – Limitations for outputs from the endpoint, based on the video bitrate.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_mediapackage as mediapackage mss_package_property = mediapackage.CfnOriginEndpoint.MssPackageProperty( encryption=mediapackage.CfnOriginEndpoint.MssEncryptionProperty( speke_key_provider=mediapackage.CfnOriginEndpoint.SpekeKeyProviderProperty( resource_id="resourceId", role_arn="roleArn", system_ids=["systemIds"], url="url", # the properties below are optional certificate_arn="certificateArn", encryption_contract_configuration=mediapackage.CfnOriginEndpoint.EncryptionContractConfigurationProperty( preset_speke20_audio="presetSpeke20Audio", preset_speke20_video="presetSpeke20Video" ) ) ), manifest_window_seconds=123, segment_duration_seconds=123, stream_selection=mediapackage.CfnOriginEndpoint.StreamSelectionProperty( max_video_bits_per_second=123, min_video_bits_per_second=123, stream_order="streamOrder" ) )
Attributes
- encryption
Parameters for encrypting content.
- manifest_window_seconds
Time window (in seconds) contained in each manifest.
- segment_duration_seconds
Duration (in seconds) of each fragment.
Actual fragments are rounded to the nearest multiple of the source fragment duration.
- stream_selection
Limitations for outputs from the endpoint, based on the video bitrate.
SpekeKeyProviderProperty
- class CfnOriginEndpoint.SpekeKeyProviderProperty(*, resource_id, role_arn, system_ids, url, certificate_arn=None, encryption_contract_configuration=None)
Bases:
object
Key provider settings for DRM.
- Parameters:
resource_id (
str
) – Unique identifier for this endpoint, as it is configured in the key provider service.role_arn (
str
) – The ARN for the IAM role that’s granted by the key provider to provide access to the key provider API. This role must have a trust policy that allows AWS Elemental MediaPackage to assume the role, and it must have a sufficient permissions policy to allow access to the specific key retrieval URL. Valid format: arn:aws:iam::{accountID}:role/{name}system_ids (
Sequence
[str
]) – List of unique identifiers for the DRM systems to use, as defined in the CPIX specification.url (
str
) – URL for the key provider’s key retrieval API endpoint. Must start with https://.certificate_arn (
Optional
[str
]) – The Amazon Resource Name (ARN) for the certificate that you imported to AWS Certificate Manager to add content key encryption to this endpoint. For this feature to work, your DRM key provider must support content key encryption.encryption_contract_configuration (
Union
[IResolvable
,EncryptionContractConfigurationProperty
,Dict
[str
,Any
],None
]) – UseencryptionContractConfiguration
to configure one or more content encryption keys for your endpoints that use SPEKE Version 2.0. The encryption contract defines which content keys are used to encrypt the audio and video tracks in your stream. To configure the encryption contract, specify which audio and video encryption presets to use.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_mediapackage as mediapackage speke_key_provider_property = mediapackage.CfnOriginEndpoint.SpekeKeyProviderProperty( resource_id="resourceId", role_arn="roleArn", system_ids=["systemIds"], url="url", # the properties below are optional certificate_arn="certificateArn", encryption_contract_configuration=mediapackage.CfnOriginEndpoint.EncryptionContractConfigurationProperty( preset_speke20_audio="presetSpeke20Audio", preset_speke20_video="presetSpeke20Video" ) )
Attributes
- certificate_arn
The Amazon Resource Name (ARN) for the certificate that you imported to AWS Certificate Manager to add content key encryption to this endpoint.
For this feature to work, your DRM key provider must support content key encryption.
- encryption_contract_configuration
Use
encryptionContractConfiguration
to configure one or more content encryption keys for your endpoints that use SPEKE Version 2.0. The encryption contract defines which content keys are used to encrypt the audio and video tracks in your stream. To configure the encryption contract, specify which audio and video encryption presets to use.
- resource_id
Unique identifier for this endpoint, as it is configured in the key provider service.
- role_arn
The ARN for the IAM role that’s granted by the key provider to provide access to the key provider API.
This role must have a trust policy that allows AWS Elemental MediaPackage to assume the role, and it must have a sufficient permissions policy to allow access to the specific key retrieval URL. Valid format: arn:aws:iam::{accountID}:role/{name}
- system_ids
List of unique identifiers for the DRM systems to use, as defined in the CPIX specification.
StreamSelectionProperty
- class CfnOriginEndpoint.StreamSelectionProperty(*, max_video_bits_per_second=None, min_video_bits_per_second=None, stream_order=None)
Bases:
object
Limitations for outputs from the endpoint, based on the video bitrate.
- Parameters:
max_video_bits_per_second (
Union
[int
,float
,None
]) – The upper limit of the bitrates that this endpoint serves. If the video track exceeds this threshold, then AWS Elemental MediaPackage excludes it from output. If you don’t specify a value, it defaults to 2147483647 bits per second.min_video_bits_per_second (
Union
[int
,float
,None
]) – The lower limit of the bitrates that this endpoint serves. If the video track is below this threshold, then AWS Elemental MediaPackage excludes it from output. If you don’t specify a value, it defaults to 0 bits per second.stream_order (
Optional
[str
]) – Order in which the different video bitrates are presented to the player. Valid values:ORIGINAL
,VIDEO_BITRATE_ASCENDING
,VIDEO_BITRATE_DESCENDING
.
- See:
- ExampleMetadata:
fixture=_generated
Example:
# The code below shows an example of how to instantiate this type. # The values are placeholders you should change. from aws_cdk import aws_mediapackage as mediapackage stream_selection_property = mediapackage.CfnOriginEndpoint.StreamSelectionProperty( max_video_bits_per_second=123, min_video_bits_per_second=123, stream_order="streamOrder" )
Attributes
- max_video_bits_per_second
The upper limit of the bitrates that this endpoint serves.
If the video track exceeds this threshold, then AWS Elemental MediaPackage excludes it from output. If you don’t specify a value, it defaults to 2147483647 bits per second.
- min_video_bits_per_second
The lower limit of the bitrates that this endpoint serves.
If the video track is below this threshold, then AWS Elemental MediaPackage excludes it from output. If you don’t specify a value, it defaults to 0 bits per second.
- stream_order
Order in which the different video bitrates are presented to the player.
Valid values:
ORIGINAL
,VIDEO_BITRATE_ASCENDING
,VIDEO_BITRATE_DESCENDING
.