Skip to content
v2.276.0

Experimental

@aws-cdk/aws-medialive-alpha is an experimental (alpha) package: its API may change in any release, without a major version bump.

Scte35SegmentationScope Class ​

Controls which output groups receive SCTE-35 segmentation cues.

Example ​

ts
import { StringParameter } from 'aws-cdk-lib/aws-ssm';

declare const stack: Stack;
declare const input: medialive.IInput;
declare const bucket: s3.IBucket;
declare const video: medialive.EncodeConfiguration;
declare const poisPassword: StringParameter;

new medialive.Channel(stack, 'Channel', {
  inputs: [{ input }],
  availSettings: medialive.AvailSettings.esam({
    pois: {
      url: 'https://pois.example.com/esam',
      username: 'pois-user',
      password: poisPassword,
    },
    acquisitionPointId: 'acquisition-point-1',
    adAvailOffset: Duration.millis(200),
  }),
  scte35SegmentationScope: medialive.Scte35SegmentationScope.SCTE35_ENABLED_OUTPUT_GROUPS,
  outputGroups: [
    medialive.OutputGroupConfiguration.hls({
      name: 'hls',
      destinations: [medialive.OutputDestination.toBucket(bucket, 'live/stream')],
      outputs: [{ encodes: [video], outputName: 'hls_out' }],
    }),
  ],
});
python
from aws_cdk.aws_ssm import StringParameter

# stack: Stack
# input: medialive.IInput
# bucket: s3.IBucket
# video: medialive.EncodeConfiguration
# pois_password: StringParameter


medialive.Channel(stack, "Channel",
    inputs=[medialive.InputAttachment(input=input)],
    avail_settings=medialive.AvailSettings.esam(
        pois=medialive.PoisEndpoint(
            url="https://pois.example.com/esam",
            username="pois-user",
            password=pois_password
        ),
        acquisition_point_id="acquisition-point-1",
        ad_avail_offset=Duration.millis(200)
    ),
    scte35_segmentation_scope=medialive.Scte35SegmentationScope.SCTE35_ENABLED_OUTPUT_GROUPS,
    output_groups=[
        medialive.OutputGroupConfiguration.hls(
            name="hls",
            destinations=[medialive.OutputDestination.to_bucket(bucket, "live/stream")],
            outputs=[medialive.HlsOutputDefinition(encodes=[video], output_name="hls_out")]
        )
    ]
)
java
import software.amazon.awscdk.services.ssm.StringParameter;

Stack stack;
IInput input;
IBucket bucket;
EncodeConfiguration video;
StringParameter poisPassword;


Channel.Builder.create(stack, "Channel")
        .inputs(List.of(InputAttachment.builder().input(input).build()))
        .availSettings(AvailSettings.esam(EsamSettings.builder()
                .pois(PoisEndpoint.builder()
                        .url("https://pois.example.com/esam")
                        .username("pois-user")
                        .password(poisPassword)
                        .build())
                .acquisitionPointId("acquisition-point-1")
                .adAvailOffset(Duration.millis(200))
                .build()))
        .scte35SegmentationScope(Scte35SegmentationScope.SCTE35_ENABLED_OUTPUT_GROUPS)
        .outputGroups(List.of(OutputGroupConfiguration.hls(HlsOutputGroupProps.builder()
                .name("hls")
                .destinations(List.of(OutputDestination.toBucket(bucket, "live/stream")))
                .outputs(List.of(HlsOutputDefinition.builder().encodes(List.of(video)).outputName("hls_out").build()))
                .build())))
        .build();
csharp
// Install: dotnet add package Amazon.CDK.AWS.MediaLive.Alpha
using Amazon.CDK.AWS.SSM;

Stack stack;
IInput input;
IBucket bucket;
EncodeConfiguration video;
StringParameter poisPassword;


new Channel(stack, "Channel", new ChannelProps {
    Inputs = new [] { new InputAttachment { Input = input } },
    AvailSettings = AvailSettings.Esam(new EsamSettings {
        Pois = new PoisEndpoint {
            Url = "https://pois.example.com/esam",
            Username = "pois-user",
            Password = poisPassword
        },
        AcquisitionPointId = "acquisition-point-1",
        AdAvailOffset = Duration.Millis(200)
    }),
    Scte35SegmentationScope = Scte35SegmentationScope.SCTE35_ENABLED_OUTPUT_GROUPS,
    OutputGroups = new [] { OutputGroupConfiguration.Hls(new HlsOutputGroupProps {
        Name = "hls",
        Destinations = new [] { OutputDestination.ToBucket(bucket, "live/stream") },
        Outputs = new [] { new HlsOutputDefinition { Encodes = new [] { video }, OutputName = "hls_out" } }
    }) }
});
go
// Install: go get github.com/aws/aws-cdk-go/awsmedialivealpha/v2
import "github.com/aws/aws-cdk-go/awscdk"

var stack Stack
var input IInput
var bucket IBucket
var video EncodeConfiguration
var poisPassword StringParameter


medialive.NewChannel(stack, jsii.String("Channel"), &ChannelProps{
	Inputs: []InputAttachment{
		&InputAttachment{
			Input: *Input,
		},
	},
	AvailSettings: medialive.AvailSettings_Esam(&EsamSettings{
		Pois: &PoisEndpoint{
			Url: jsii.String("https://pois.example.com/esam"),
			Username: jsii.String("pois-user"),
			Password: poisPassword,
		},
		AcquisitionPointId: jsii.String("acquisition-point-1"),
		AdAvailOffset: awscdk.Duration_Millis(jsii.Number(200)),
	}),
	Scte35SegmentationScope: medialive.Scte35SegmentationScope_SCTE35_ENABLED_OUTPUT_GROUPS(),
	OutputGroups: []OutputGroupConfiguration{
		medialive.OutputGroupConfiguration_Hls(&HlsOutputGroupProps{
			Name: jsii.String("hls"),
			Destinations: []OutputDestination{
				medialive.OutputDestination_ToBucket(bucket, jsii.String("live/stream")),
			},
			Outputs: []HlsOutputDefinition{
				&HlsOutputDefinition{
					Encodes: []EncodeConfiguration{
						video,
					},
					OutputName: jsii.String("hls_out"),
				},
			},
		}),
	},
})

Properties ​

ALL_OUTPUT_GROUPSScte35SegmentationScopeall_output_groupsScte35SegmentationScopeALL_OUTPUT_GROUPSScte35SegmentationScopeALL_OUTPUT_GROUPSScte35SegmentationScopeALL_OUTPUT_GROUPSScte35SegmentationScopestatic#
Insert segment breaks in all output groups.
SCTE35_ENABLED_OUTPUT_GROUPSScte35SegmentationScopescte35_enabled_output_groupsScte35SegmentationScopeSCTE35_ENABLED_OUTPUT_GROUPSScte35SegmentationScopeSCTE35_ENABLED_OUTPUT_GROUPSScte35SegmentationScopeSCTE35_ENABLED_OUTPUT_GROUPSScte35SegmentationScopestatic#
Insert segment breaks only in output groups with SCTE-35 passthrough enabled (recommended).
valuestringvaluestrvalueStringValuestringValue*string#
The underlying string value passed to CloudFormation.

Methods ​

of(value: string): Scte35SegmentationScope // chainable@staticmethod def of(value: str) -> Scte35SegmentationScopepublic static Scte35SegmentationScope of(String value)public static Scte35SegmentationScope Of(string value)func Of(Value *string) Scte35SegmentationScopestatic#
A value not yet modelled by AWS CDK.