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