Class: AWSCDK::MediaPackage::CfnPackagingConfiguration::CmafPackageProperty

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

Overview

Parameters for a packaging configuration that uses Common Media Application Format (CMAF) packaging.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(hls_manifests:, encryption: nil, include_encoder_configuration_in_segments: nil, segment_duration_seconds: nil) ⇒ CmafPackageProperty

Returns a new instance of CmafPackageProperty.

Parameters:



639
640
641
642
643
644
645
646
647
648
# File 'media_package/cfn_packaging_configuration.rb', line 639

def initialize(hls_manifests:, encryption: nil, include_encoder_configuration_in_segments: nil, segment_duration_seconds: nil)
  @hls_manifests = hls_manifests
  Jsii::Type.check_type(@hls_manifests, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbWVkaWFwYWNrYWdlLkNmblBhY2thZ2luZ0NvbmZpZ3VyYXRpb24uSGxzTWFuaWZlc3RQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "hlsManifests")
  @encryption = encryption.is_a?(Hash) ? ::AWSCDK::MediaPackage::CfnPackagingConfiguration::CmafEncryptionProperty.new(**encryption.transform_keys(&:to_sym)) : encryption
  Jsii::Type.check_type(@encryption, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYXBhY2thZ2UuQ2ZuUGFja2FnaW5nQ29uZmlndXJhdGlvbi5DbWFmRW5jcnlwdGlvblByb3BlcnR5In1dfX0=")), "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?
  @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?
end

Instance Attribute Details

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

Parameters for encrypting content.



659
660
661
# File 'media_package/cfn_packaging_configuration.rb', line 659

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.



666
667
668
# File 'media_package/cfn_packaging_configuration.rb', line 666

def include_encoder_configuration_in_segments
  @include_encoder_configuration_in_segments
end

#segment_duration_secondsNumeric? (readonly)

Duration (in seconds) of each segment.

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



673
674
675
# File 'media_package/cfn_packaging_configuration.rb', line 673

def segment_duration_seconds
  @segment_duration_seconds
end

Class Method Details

.jsii_propertiesObject



675
676
677
678
679
680
681
682
# File 'media_package/cfn_packaging_configuration.rb', line 675

def self.jsii_properties
  {
    :hls_manifests => "hlsManifests",
    :encryption => "encryption",
    :include_encoder_configuration_in_segments => "includeEncoderConfigurationInSegments",
    :segment_duration_seconds => "segmentDurationSeconds",
  }
end

Instance Method Details

#to_jsiiObject



684
685
686
687
688
689
690
691
692
693
# File 'media_package/cfn_packaging_configuration.rb', line 684

def to_jsii
  result = {}
  result.merge!({
    "hlsManifests" => @hls_manifests,
    "encryption" => @encryption,
    "includeEncoderConfigurationInSegments" => @include_encoder_configuration_in_segments,
    "segmentDurationSeconds" => @segment_duration_seconds,
  })
  result.compact
end