Class: AWSCDK::MediaPackage::CfnPackagingConfiguration::DashPackageProperty

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

Overview

Parameters for a packaging configuration that uses Dynamic Adaptive Streaming over HTTP (DASH) packaging.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dash_manifests:, encryption: nil, include_encoder_configuration_in_segments: nil, include_iframe_only_stream: nil, period_triggers: nil, segment_duration_seconds: nil, segment_template_format: nil) ⇒ DashPackageProperty

Returns a new instance of DashPackageProperty.

Parameters:

  • dash_manifests (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::MediaPackage::CfnPackagingConfiguration::DashManifestProperty>)

    A list of DASH manifest configurations that are available from this endpoint.

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

    Parameters for encrypting content.

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

    When includeEncoderConfigurationInSegments is set to true, AWS Elemental MediaPackage places your encoder's Sequence Parameter Set (SPS), Picture Parameter Set (PPS), and Video Parameter Set (VPS) metadata in every video segment instead of in the init fragment.

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

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

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

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

  • 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 SegmentTemplate included in the Media Presentation Description (MPD).



834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
# File 'media_package/cfn_packaging_configuration.rb', line 834

def initialize(dash_manifests:, encryption: nil, include_encoder_configuration_in_segments: nil, include_iframe_only_stream: nil, period_triggers: nil, segment_duration_seconds: nil, segment_template_format: nil)
  @dash_manifests = dash_manifests
  Jsii::Type.check_type(@dash_manifests, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbWVkaWFwYWNrYWdlLkNmblBhY2thZ2luZ0NvbmZpZ3VyYXRpb24uRGFzaE1hbmlmZXN0UHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "dashManifests")
  @encryption = encryption.is_a?(Hash) ? ::AWSCDK::MediaPackage::CfnPackagingConfiguration::DashEncryptionProperty.new(**encryption.transform_keys(&:to_sym)) : encryption
  Jsii::Type.check_type(@encryption, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYXBhY2thZ2UuQ2ZuUGFja2FnaW5nQ29uZmlndXJhdGlvbi5EYXNoRW5jcnlwdGlvblByb3BlcnR5In1dfX0=")), "encryption") unless @encryption.nil?
  @include_encoder_configuration_in_segments = include_encoder_configuration_in_segments
  Jsii::Type.check_type(@include_encoder_configuration_in_segments, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "includeEncoderConfigurationInSegments") unless @include_encoder_configuration_in_segments.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?
  @period_triggers = period_triggers
  Jsii::Type.check_type(@period_triggers, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "periodTriggers") unless @period_triggers.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?
end

Instance Attribute Details

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

Parameters for encrypting content.



860
861
862
# File 'media_package/cfn_packaging_configuration.rb', line 860

def encryption
  @encryption
end

#include_encoder_configuration_in_segmentsBoolean, ... (readonly)

When includeEncoderConfigurationInSegments is set to true, AWS Elemental MediaPackage places your encoder's Sequence Parameter Set (SPS), Picture Parameter Set (PPS), and Video Parameter Set (VPS) metadata in every video segment instead of in the init fragment.

This lets you use different SPS/PPS/VPS settings for your assets during content playback.



867
868
869
# File 'media_package/cfn_packaging_configuration.rb', line 867

def include_encoder_configuration_in_segments
  @include_encoder_configuration_in_segments
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.



874
875
876
# File 'media_package/cfn_packaging_configuration.rb', line 874

def include_iframe_only_stream
  @include_iframe_only_stream
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.


886
887
888
# File 'media_package/cfn_packaging_configuration.rb', line 886

def period_triggers
  @period_triggers
end

#segment_duration_secondsNumeric? (readonly)

Duration (in seconds) of each fragment.

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



893
894
895
# File 'media_package/cfn_packaging_configuration.rb', line 893

def segment_duration_seconds
  @segment_duration_seconds
end

#segment_template_formatString? (readonly)

Determines the type of SegmentTemplate included in the Media Presentation Description (MPD).

When set to NUMBER_WITH_TIMELINE , a full timeline is presented in each SegmentTemplate, with $Number$ media URLs. When set to TIME_WITH_TIMELINE , a full timeline is presented in each SegmentTemplate, with $Time$ media URLs. When set to NUMBER_WITH_DURATION , only a duration is included in each SegmentTemplate, with $Number$ media URLs.



900
901
902
# File 'media_package/cfn_packaging_configuration.rb', line 900

def segment_template_format
  @segment_template_format
end

Class Method Details

.jsii_propertiesObject



902
903
904
905
906
907
908
909
910
911
912
# File 'media_package/cfn_packaging_configuration.rb', line 902

def self.jsii_properties
  {
    :dash_manifests => "dashManifests",
    :encryption => "encryption",
    :include_encoder_configuration_in_segments => "includeEncoderConfigurationInSegments",
    :include_iframe_only_stream => "includeIframeOnlyStream",
    :period_triggers => "periodTriggers",
    :segment_duration_seconds => "segmentDurationSeconds",
    :segment_template_format => "segmentTemplateFormat",
  }
end

Instance Method Details

#to_jsiiObject



914
915
916
917
918
919
920
921
922
923
924
925
926
# File 'media_package/cfn_packaging_configuration.rb', line 914

def to_jsii
  result = {}
  result.merge!({
    "dashManifests" => @dash_manifests,
    "encryption" => @encryption,
    "includeEncoderConfigurationInSegments" => @include_encoder_configuration_in_segments,
    "includeIframeOnlyStream" => @include_iframe_only_stream,
    "periodTriggers" => @period_triggers,
    "segmentDurationSeconds" => @segment_duration_seconds,
    "segmentTemplateFormat" => @segment_template_format,
  })
  result.compact
end