Class: AWSCDK::MediaPackage::CfnOriginEndpoint::HlsManifestProperty

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

Overview

An HTTP Live Streaming (HLS) manifest configuration on a CMAF endpoint.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id:, ad_markers: nil, ads_on_delivery_restrictions: nil, ad_triggers: nil, include_iframe_only_stream: nil, manifest_name: nil, playlist_type: nil, playlist_window_seconds: nil, program_date_time_interval_seconds: nil, url: nil) ⇒ HlsManifestProperty

Returns a new instance of HlsManifestProperty.

Parameters:

  • id (String)

    The manifest ID is required and must be unique within the OriginEndpoint.

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

    Controls how ad markers are included in the packaged endpoint.

  • 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.

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

    Applies to stream sets with a single video track only.

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

    A short string that's appended to the end of the endpoint URL to create a unique path to this endpoint.

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

    When specified as either event or vod , a corresponding EXT-X-PLAYLIST-TYPE entry is included in the media playlist.

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

    Time window (in seconds) contained in each parent manifest.

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

    Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval that you specify.

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

    The URL that's used to request this manifest from this endpoint.



1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
# File 'media_package/cfn_origin_endpoint.rb', line 1319

def initialize(id:, ad_markers: nil, ads_on_delivery_restrictions: nil, ad_triggers: nil, include_iframe_only_stream: nil, manifest_name: nil, playlist_type: nil, playlist_window_seconds: nil, program_date_time_interval_seconds: nil, url: nil)
  @id = id
  Jsii::Type.check_type(@id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id")
  @ad_markers = ad_markers
  Jsii::Type.check_type(@ad_markers, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "adMarkers") unless @ad_markers.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?
  @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_name = manifest_name
  Jsii::Type.check_type(@manifest_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "manifestName") unless @manifest_name.nil?
  @playlist_type = playlist_type
  Jsii::Type.check_type(@playlist_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "playlistType") unless @playlist_type.nil?
  @playlist_window_seconds = playlist_window_seconds
  Jsii::Type.check_type(@playlist_window_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "playlistWindowSeconds") unless @playlist_window_seconds.nil?
  @program_date_time_interval_seconds = program_date_time_interval_seconds
  Jsii::Type.check_type(@program_date_time_interval_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "programDateTimeIntervalSeconds") unless @program_date_time_interval_seconds.nil?
  @url = url
  Jsii::Type.check_type(@url, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "url") unless @url.nil?
end

Instance Attribute Details

#ad_markersString? (readonly)

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.


1359
1360
1361
# File 'media_package/cfn_origin_endpoint.rb', line 1359

def ad_markers
  @ad_markers
end

#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


1382
1383
1384
# File 'media_package/cfn_origin_endpoint.rb', line 1382

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 .



1366
1367
1368
# File 'media_package/cfn_origin_endpoint.rb', line 1366

def ads_on_delivery_restrictions
  @ads_on_delivery_restrictions
end

#idString (readonly)

The manifest ID is required and must be unique within the OriginEndpoint.

The ID can't be changed after the endpoint is created.



1348
1349
1350
# File 'media_package/cfn_origin_endpoint.rb', line 1348

def id
  @id
end

#include_iframe_only_streamBoolean, ... (readonly)

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.



1389
1390
1391
# File 'media_package/cfn_origin_endpoint.rb', line 1389

def include_iframe_only_stream
  @include_iframe_only_stream
end

#manifest_nameString? (readonly)

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.



1396
1397
1398
# File 'media_package/cfn_origin_endpoint.rb', line 1396

def manifest_name
  @manifest_name
end

#playlist_typeString? (readonly)

When specified as either event or vod , a corresponding EXT-X-PLAYLIST-TYPE entry is included in the media playlist.

Indicates if the playlist is live-to-VOD content.



1403
1404
1405
# File 'media_package/cfn_origin_endpoint.rb', line 1403

def playlist_type
  @playlist_type
end

#playlist_window_secondsNumeric? (readonly)

Time window (in seconds) contained in each parent manifest.



1408
1409
1410
# File 'media_package/cfn_origin_endpoint.rb', line 1408

def playlist_window_seconds
  @playlist_window_seconds
end

#program_date_time_interval_secondsNumeric? (readonly)

Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval that you specify.

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 the EXT-X-PROGRAM-DATE-TIME tags are not included in the manifest.



1417
1418
1419
# File 'media_package/cfn_origin_endpoint.rb', line 1417

def program_date_time_interval_seconds
  @program_date_time_interval_seconds
end

#urlString? (readonly)

The URL that's used to request this manifest from this endpoint.



1422
1423
1424
# File 'media_package/cfn_origin_endpoint.rb', line 1422

def url
  @url
end

Class Method Details

.jsii_propertiesObject



1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
# File 'media_package/cfn_origin_endpoint.rb', line 1424

def self.jsii_properties
  {
    :id => "id",
    :ad_markers => "adMarkers",
    :ads_on_delivery_restrictions => "adsOnDeliveryRestrictions",
    :ad_triggers => "adTriggers",
    :include_iframe_only_stream => "includeIframeOnlyStream",
    :manifest_name => "manifestName",
    :playlist_type => "playlistType",
    :playlist_window_seconds => "playlistWindowSeconds",
    :program_date_time_interval_seconds => "programDateTimeIntervalSeconds",
    :url => "url",
  }
end

Instance Method Details

#to_jsiiObject



1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
# File 'media_package/cfn_origin_endpoint.rb', line 1439

def to_jsii
  result = {}
  result.merge!({
    "id" => @id,
    "adMarkers" => @ad_markers,
    "adsOnDeliveryRestrictions" => @ads_on_delivery_restrictions,
    "adTriggers" => @ad_triggers,
    "includeIframeOnlyStream" => @include_iframe_only_stream,
    "manifestName" => @manifest_name,
    "playlistType" => @playlist_type,
    "playlistWindowSeconds" => @playlist_window_seconds,
    "programDateTimeIntervalSeconds" => @program_date_time_interval_seconds,
    "url" => @url,
  })
  result.compact
end