Class: AWSCDK::MediaPackage::CfnOriginEndpoint::DashPackageProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
media_package/cfn_origin_endpoint.rb

Overview

Parameters for DASH packaging.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ads_on_delivery_restrictions: nil, ad_triggers: nil, encryption: nil, include_iframe_only_stream: nil, manifest_layout: nil, manifest_window_seconds: nil, min_buffer_time_seconds: nil, min_update_period_seconds: nil, period_triggers: nil, profile: nil, segment_duration_seconds: nil, segment_template_format: nil, stream_selection: nil, suggested_presentation_delay_seconds: nil, utc_timing: nil, utc_timing_uri: nil) ⇒ DashPackageProperty

Returns a new instance of DashPackageProperty.

Parameters:

  • ads_on_delivery_restrictions (String, nil) (defaults to: nil)

    The flags on SCTE-35 segmentation descriptors that have to be present for AWS Elemental MediaPackage to insert ad markers in the output manifest.

  • ad_triggers (Array<String>, nil) (defaults to: nil)

    Specifies the SCTE-35 message types that AWS Elemental MediaPackage treats as ad markers in the output manifest.

  • encryption (AWSCDK::IResolvable, AWSCDK::MediaPackage::CfnOriginEndpoint::DashEncryptionProperty, nil) (defaults to: nil)

    Parameters for encrypting content.

  • include_iframe_only_stream (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    This applies only to stream sets with a single video track.

  • manifest_layout (String, nil) (defaults to: nil)

    Determines the position of some tags in the manifest.

  • manifest_window_seconds (Numeric, nil) (defaults to: nil)

    Time window (in seconds) contained in each manifest.

  • min_buffer_time_seconds (Numeric, nil) (defaults to: nil)

    Minimum amount of content (measured in seconds) that a player must keep available in the buffer.

  • min_update_period_seconds (Numeric, nil) (defaults to: nil)

    Minimum amount of time (in seconds) that the player should wait before requesting updates to the manifest.

  • period_triggers (Array<String>, nil) (defaults to: nil)

    Controls whether AWS Elemental MediaPackage produces single-period or multi-period DASH manifests.

  • profile (String, nil) (defaults to: nil)

    The DASH profile for the output.

  • segment_duration_seconds (Numeric, nil) (defaults to: nil)

    Duration (in seconds) of each fragment.

  • segment_template_format (String, nil) (defaults to: nil)

    Determines the type of variable used in the media URL of the SegmentTemplate tag in the manifest.

  • stream_selection (AWSCDK::IResolvable, AWSCDK::MediaPackage::CfnOriginEndpoint::StreamSelectionProperty, nil) (defaults to: nil)

    Limitations for outputs from the endpoint, based on the video bitrate.

  • suggested_presentation_delay_seconds (Numeric, nil) (defaults to: nil)

    Amount of time (in seconds) that the player should be from the live point at the end of the manifest.

  • utc_timing (String, nil) (defaults to: nil)

    Determines the type of UTC timing included in the DASH Media Presentation Description (MPD).

  • utc_timing_uri (String, nil) (defaults to: nil)

    Specifies the value attribute of the UTC timing field when utcTiming is set to HTTP-ISO or HTTP-HEAD.



952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
# File 'media_package/cfn_origin_endpoint.rb', line 952

def initialize(ads_on_delivery_restrictions: nil, ad_triggers: nil, encryption: nil, include_iframe_only_stream: nil, manifest_layout: nil, manifest_window_seconds: nil, min_buffer_time_seconds: nil, min_update_period_seconds: nil, period_triggers: nil, profile: nil, segment_duration_seconds: nil, segment_template_format: nil, stream_selection: nil, suggested_presentation_delay_seconds: nil, utc_timing: nil, utc_timing_uri: nil)
  @ads_on_delivery_restrictions = ads_on_delivery_restrictions
  Jsii::Type.check_type(@ads_on_delivery_restrictions, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "adsOnDeliveryRestrictions") unless @ads_on_delivery_restrictions.nil?
  @ad_triggers = ad_triggers
  Jsii::Type.check_type(@ad_triggers, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "adTriggers") unless @ad_triggers.nil?
  @encryption = encryption.is_a?(Hash) ? ::AWSCDK::MediaPackage::CfnOriginEndpoint::DashEncryptionProperty.new(**encryption.transform_keys(&:to_sym)) : encryption
  Jsii::Type.check_type(@encryption, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYXBhY2thZ2UuQ2ZuT3JpZ2luRW5kcG9pbnQuRGFzaEVuY3J5cHRpb25Qcm9wZXJ0eSJ9XX19")), "encryption") unless @encryption.nil?
  @include_iframe_only_stream = include_iframe_only_stream
  Jsii::Type.check_type(@include_iframe_only_stream, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "includeIframeOnlyStream") unless @include_iframe_only_stream.nil?
  @manifest_layout = manifest_layout
  Jsii::Type.check_type(@manifest_layout, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "manifestLayout") unless @manifest_layout.nil?
  @manifest_window_seconds = manifest_window_seconds
  Jsii::Type.check_type(@manifest_window_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "manifestWindowSeconds") unless @manifest_window_seconds.nil?
  @min_buffer_time_seconds = min_buffer_time_seconds
  Jsii::Type.check_type(@min_buffer_time_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "minBufferTimeSeconds") unless @min_buffer_time_seconds.nil?
  @min_update_period_seconds = min_update_period_seconds
  Jsii::Type.check_type(@min_update_period_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "minUpdatePeriodSeconds") unless @min_update_period_seconds.nil?
  @period_triggers = period_triggers
  Jsii::Type.check_type(@period_triggers, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "periodTriggers") unless @period_triggers.nil?
  @profile = profile
  Jsii::Type.check_type(@profile, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "profile") unless @profile.nil?
  @segment_duration_seconds = segment_duration_seconds
  Jsii::Type.check_type(@segment_duration_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "segmentDurationSeconds") unless @segment_duration_seconds.nil?
  @segment_template_format = segment_template_format
  Jsii::Type.check_type(@segment_template_format, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "segmentTemplateFormat") unless @segment_template_format.nil?
  @stream_selection = stream_selection.is_a?(Hash) ? ::AWSCDK::MediaPackage::CfnOriginEndpoint::StreamSelectionProperty.new(**stream_selection.transform_keys(&:to_sym)) : stream_selection
  Jsii::Type.check_type(@stream_selection, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYXBhY2thZ2UuQ2ZuT3JpZ2luRW5kcG9pbnQuU3RyZWFtU2VsZWN0aW9uUHJvcGVydHkifV19fQ==")), "streamSelection") unless @stream_selection.nil?
  @suggested_presentation_delay_seconds = suggested_presentation_delay_seconds
  Jsii::Type.check_type(@suggested_presentation_delay_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "suggestedPresentationDelaySeconds") unless @suggested_presentation_delay_seconds.nil?
  @utc_timing = utc_timing
  Jsii::Type.check_type(@utc_timing, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "utcTiming") unless @utc_timing.nil?
  @utc_timing_uri = utc_timing_uri
  Jsii::Type.check_type(@utc_timing_uri, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "utcTimingUri") unless @utc_timing_uri.nil?
end

Instance Attribute Details

#ad_triggersArray<String>? (readonly)

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 .


1009
1010
1011
# File 'media_package/cfn_origin_endpoint.rb', line 1009

def ad_triggers
  @ad_triggers
end

#ads_on_delivery_restrictionsString? (readonly)

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 .



993
994
995
# File 'media_package/cfn_origin_endpoint.rb', line 993

def ads_on_delivery_restrictions
  @ads_on_delivery_restrictions
end

#encryptionAWSCDK::IResolvable, ... (readonly)

Parameters for encrypting content.



1014
1015
1016
# File 'media_package/cfn_origin_endpoint.rb', line 1014

def encryption
  @encryption
end

#include_iframe_only_streamBoolean, ... (readonly)

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.



1021
1022
1023
# File 'media_package/cfn_origin_endpoint.rb', line 1021

def include_iframe_only_stream
  @include_iframe_only_stream
end

#manifest_layoutString? (readonly)

Determines the position of some tags in the manifest.

Valid values:

  • FULL - Elements like SegmentTemplate and ContentProtection are included in each Representation .
  • COMPACT - Duplicate elements are combined and presented at the AdaptationSet level.


1031
1032
1033
# File 'media_package/cfn_origin_endpoint.rb', line 1031

def manifest_layout
  @manifest_layout
end

#manifest_window_secondsNumeric? (readonly)

Time window (in seconds) contained in each manifest.



1036
1037
1038
# File 'media_package/cfn_origin_endpoint.rb', line 1036

def manifest_window_seconds
  @manifest_window_seconds
end

#min_buffer_time_secondsNumeric? (readonly)

Minimum amount of content (measured in seconds) that a player must keep available in the buffer.



1041
1042
1043
# File 'media_package/cfn_origin_endpoint.rb', line 1041

def min_buffer_time_seconds
  @min_buffer_time_seconds
end

#min_update_period_secondsNumeric? (readonly)

Minimum amount of time (in seconds) that the player should wait before requesting updates to the manifest.



1046
1047
1048
# File 'media_package/cfn_origin_endpoint.rb', line 1046

def min_update_period_seconds
  @min_update_period_seconds
end

#period_triggersArray<String>? (readonly)

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.


1058
1059
1060
# File 'media_package/cfn_origin_endpoint.rb', line 1058

def period_triggers
  @period_triggers
end

#profileString? (readonly)

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.


1069
1070
1071
# File 'media_package/cfn_origin_endpoint.rb', line 1069

def profile
  @profile
end

#segment_duration_secondsNumeric? (readonly)

Duration (in seconds) of each fragment.

Actual fragments are rounded to the nearest multiple of the source fragment duration.



1076
1077
1078
# File 'media_package/cfn_origin_endpoint.rb', line 1076

def segment_duration_seconds
  @segment_duration_seconds
end

#segment_template_formatString? (readonly)

Determines the type of variable used in the media URL of the SegmentTemplate tag in the manifest.

Also specifies if segment timeline information is included in SegmentTimeline or SegmentTemplate .

Valid values:

  • NUMBER_WITH_TIMELINE - The $Number$ variable is used in the media URL. The value of this variable is the sequential number of the segment. A full SegmentTimeline object is presented in each SegmentTemplate .
  • NUMBER_WITH_DURATION - The $Number$ variable is used in the media URL and a duration attribute is added to the segment template. The SegmentTimeline object is removed from the representation.
  • TIME_WITH_TIMELINE - The $Time$ variable is used in the media URL. The value of this variable is the timestamp of when the segment starts. A full SegmentTimeline object is presented in each SegmentTemplate .


1089
1090
1091
# File 'media_package/cfn_origin_endpoint.rb', line 1089

def segment_template_format
  @segment_template_format
end

#stream_selectionAWSCDK::IResolvable, ... (readonly)

Limitations for outputs from the endpoint, based on the video bitrate.



1094
1095
1096
# File 'media_package/cfn_origin_endpoint.rb', line 1094

def stream_selection
  @stream_selection
end

#suggested_presentation_delay_secondsNumeric? (readonly)

Amount of time (in seconds) that the player should be from the live point at the end of the manifest.



1099
1100
1101
# File 'media_package/cfn_origin_endpoint.rb', line 1099

def suggested_presentation_delay_seconds
  @suggested_presentation_delay_seconds
end

#utc_timingString? (readonly)

Determines the type of UTC timing included in the DASH Media Presentation Description (MPD).



1104
1105
1106
# File 'media_package/cfn_origin_endpoint.rb', line 1104

def utc_timing
  @utc_timing
end

#utc_timing_uriString? (readonly)

Specifies the value attribute of the UTC timing field when utcTiming is set to HTTP-ISO or HTTP-HEAD.



1109
1110
1111
# File 'media_package/cfn_origin_endpoint.rb', line 1109

def utc_timing_uri
  @utc_timing_uri
end

Class Method Details

.jsii_propertiesObject



1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
# File 'media_package/cfn_origin_endpoint.rb', line 1111

def self.jsii_properties
  {
    :ads_on_delivery_restrictions => "adsOnDeliveryRestrictions",
    :ad_triggers => "adTriggers",
    :encryption => "encryption",
    :include_iframe_only_stream => "includeIframeOnlyStream",
    :manifest_layout => "manifestLayout",
    :manifest_window_seconds => "manifestWindowSeconds",
    :min_buffer_time_seconds => "minBufferTimeSeconds",
    :min_update_period_seconds => "minUpdatePeriodSeconds",
    :period_triggers => "periodTriggers",
    :profile => "profile",
    :segment_duration_seconds => "segmentDurationSeconds",
    :segment_template_format => "segmentTemplateFormat",
    :stream_selection => "streamSelection",
    :suggested_presentation_delay_seconds => "suggestedPresentationDelaySeconds",
    :utc_timing => "utcTiming",
    :utc_timing_uri => "utcTimingUri",
  }
end

Instance Method Details

#to_jsiiObject



1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
# File 'media_package/cfn_origin_endpoint.rb', line 1132

def to_jsii
  result = {}
  result.merge!({
    "adsOnDeliveryRestrictions" => @ads_on_delivery_restrictions,
    "adTriggers" => @ad_triggers,
    "encryption" => @encryption,
    "includeIframeOnlyStream" => @include_iframe_only_stream,
    "manifestLayout" => @manifest_layout,
    "manifestWindowSeconds" => @manifest_window_seconds,
    "minBufferTimeSeconds" => @min_buffer_time_seconds,
    "minUpdatePeriodSeconds" => @min_update_period_seconds,
    "periodTriggers" => @period_triggers,
    "profile" => @profile,
    "segmentDurationSeconds" => @segment_duration_seconds,
    "segmentTemplateFormat" => @segment_template_format,
    "streamSelection" => @stream_selection,
    "suggestedPresentationDelaySeconds" => @suggested_presentation_delay_seconds,
    "utcTiming" => @utc_timing,
    "utcTimingUri" => @utc_timing_uri,
  })
  result.compact
end