Experimental
@aws-cdk/aws-medialive-alpha is an experimental (alpha) package: its API may change in any release, without a major version bump.
ChannelProps Struct
Properties for creating a MediaLive Channel.
Example
declare const stack: Stack;
declare const input: medialive.IInput;
declare const bucket: s3.IBucket;
declare const video: medialive.EncodeConfiguration;
new medialive.Channel(stack, 'Channel', {
inputs: [{
input,
audioSelectors: [
medialive.AudioSelector.byLanguage('eng', 'eng', medialive.AudioLanguageSelectionPolicy.STRICT),
],
captionSelectors: [
medialive.CaptionSelector.embedded('embedded'),
],
videoSelector: {
colorSpace: medialive.VideoColorSpace.HDR10,
colorSpaceUsage: medialive.VideoColorSpaceUsage.FORCE,
selectBy: medialive.VideoSelection.byProgramId(1),
},
}],
outputGroups: [
medialive.OutputGroupConfiguration.hls({
name: 'hls',
destinations: [medialive.OutputDestination.toBucket(bucket, 'live/stream')],
outputs: [{ encodes: [video], outputName: 'hls_out' }],
}),
],
});
# stack: Stack
# input: medialive.IInput
# bucket: s3.IBucket
# video: medialive.EncodeConfiguration
medialive.Channel(stack, "Channel",
inputs=[medialive.InputAttachment(
input=input,
audio_selectors=[
medialive.AudioSelector.by_language("eng", "eng", medialive.AudioLanguageSelectionPolicy.STRICT)
],
caption_selectors=[
medialive.CaptionSelector.embedded("embedded")
],
video_selector=medialive.VideoSelectorSettings(
color_space=medialive.VideoColorSpace.HDR10,
color_space_usage=medialive.VideoColorSpaceUsage.FORCE,
select_by=medialive.VideoSelection.by_program_id(1)
)
)],
output_groups=[
medialive.OutputGroupConfiguration.hls(
name="hls",
destinations=[medialive.OutputDestination.to_bucket(bucket, "live/stream")],
outputs=[medialive.HlsOutputDefinition(encodes=[video], output_name="hls_out")]
)
]
)
Stack stack;
IInput input;
IBucket bucket;
EncodeConfiguration video;
Channel.Builder.create(stack, "Channel")
.inputs(List.of(InputAttachment.builder()
.input(input)
.audioSelectors(List.of(AudioSelector.byLanguage("eng", "eng", AudioLanguageSelectionPolicy.STRICT)))
.captionSelectors(List.of(CaptionSelector.embedded("embedded")))
.videoSelector(VideoSelectorSettings.builder()
.colorSpace(VideoColorSpace.HDR10)
.colorSpaceUsage(VideoColorSpaceUsage.FORCE)
.selectBy(VideoSelection.byProgramId(1))
.build())
.build()))
.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();
// Install: dotnet add package Amazon.CDK.AWS.MediaLive.Alpha
Stack stack;
IInput input;
IBucket bucket;
EncodeConfiguration video;
new Channel(stack, "Channel", new ChannelProps {
Inputs = new [] { new InputAttachment {
Input = input,
AudioSelectors = new [] { AudioSelector.ByLanguage("eng", "eng", AudioLanguageSelectionPolicy.STRICT) },
CaptionSelectors = new [] { CaptionSelector.Embedded("embedded") },
VideoSelector = new VideoSelectorSettings {
ColorSpace = VideoColorSpace.HDR10,
ColorSpaceUsage = VideoColorSpaceUsage.FORCE,
SelectBy = VideoSelection.ByProgramId(1)
}
} },
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" } }
}) }
});
// Install: go get github.com/aws/aws-cdk-go/awsmedialivealpha/v2
var stack Stack
var input IInput
var bucket IBucket
var video EncodeConfiguration
medialive.NewChannel(stack, jsii.String("Channel"), &ChannelProps{
Inputs: []InputAttachment{
&InputAttachment{
Input: *Input,
AudioSelectors: []AudioSelector{
medialive.AudioSelector_ByLanguage(jsii.String("eng"), jsii.String("eng"), medialive.AudioLanguageSelectionPolicy_STRICT()),
},
CaptionSelectors: []CaptionSelector{
medialive.CaptionSelector_Embedded(jsii.String("embedded")),
},
VideoSelector: &VideoSelectorSettings{
ColorSpace: medialive.VideoColorSpace_HDR10(),
ColorSpaceUsage: medialive.VideoColorSpaceUsage_FORCE(),
SelectBy: medialive.VideoSelection_ByProgramId(jsii.Number(1)),
},
},
},
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
anywhereSettingsoptionalAnywhereSettingsanywhere_settingsoptionalAnywhereSettingsanywhereSettingsoptionalAnywhereSettingsAnywhereSettingsoptionalAnywhereSettingsAnywhereSettingsoptionalAnywhereSettings#Default: not an Anywhere channel
availBlankingoptionalAvailBlankingavail_blankingoptionalAvailBlankingavailBlankingoptionalAvailBlankingAvailBlankingoptionalAvailBlankingAvailBlankingoptionalAvailBlanking#Default: avail blanking disabled
availSettingsoptionalAvailSettingsavail_settingsoptionalAvailSettingsavailSettingsoptionalAvailSettingsAvailSettingsoptionalAvailSettingsAvailSettingsoptionalAvailSettings#Default: no avail configuration
Defines how SCTE-35 markers are processed.
blackoutSlateoptionalBlackoutSlateblackout_slateoptionalBlackoutSlateblackoutSlateoptionalBlackoutSlateBlackoutSlateoptionalBlackoutSlateBlackoutSlateoptionalBlackoutSlate#Default: blackout slate disabled
Controls what is displayed during blackout events.
channelClassoptionalChannelClasschannel_classoptionalChannelClasschannelClassoptionalChannelClassChannelClassoptionalChannelClassChannelClassoptionalChannelClass= ChannelClass.SINGLE_PIPELINE#channelEngineVersionoptionalstringchannel_engine_versionoptionalstrchannelEngineVersionoptionalStringChannelEngineVersionoptionalstringChannelEngineVersionoptional*string#Default: service default
channelNameoptionalstringchannel_nameoptionalstrchannelNameoptionalStringChannelNameoptionalstringChannelNameoptional*string= auto-generated#channelSecurityGroupsoptionalIInputSecurityGroupRef[]channel_security_groupsoptionaltyping.List[IInputSecurityGroupRef]channelSecurityGroupsoptionalList<IInputSecurityGroupRef>ChannelSecurityGroupsoptionalIInputSecurityGroupRef[]ChannelSecurityGroupsoptional*[]IInputSecurityGroupRef#Default: no channel security groups
Controls which IP addresses can connect to the channel's outputs (pull-style outputs where downstream systems initiate connections).
colorCorrectionsoptionalColorCorrection[]color_correctionsoptionaltyping.List[ColorCorrection]colorCorrectionsoptionalList<ColorCorrection>ColorCorrectionsoptionalColorCorrection[]ColorCorrectionsoptional*[]ColorCorrection#Default: no color corrections
featureActivationsoptionalFeatureActivationsfeature_activationsoptionalFeatureActivationsfeatureActivationsoptionalFeatureActivationsFeatureActivationsoptionalFeatureActivationsFeatureActivationsoptionalFeatureActivations#Default: all features disabled
globalConfigurationoptionalGlobalConfigurationglobal_configurationoptionalGlobalConfigurationglobalConfigurationoptionalGlobalConfigurationGlobalConfigurationoptionalGlobalConfigurationGlobalConfigurationoptionalGlobalConfiguration#Default: default global configuration
inferenceFeedArnoptionalstringinference_feed_arnoptionalstrinferenceFeedArnoptionalStringInferenceFeedArnoptionalstringInferenceFeedArnoptional*string#Default: the channel is not associated to an inference feed
Future breaking change: this will change when Elemental Inference is released as an L2 construct.
inputsInputAttachment[]inputstyping.List[InputAttachment]inputsList<InputAttachment>InputsInputAttachment[]Inputs*[]InputAttachmentrequired#At least one is required. Additional inputs can be added with addInput().
inputSpecificationoptionalInputSpecificationinput_specificationoptionalInputSpecificationinputSpecificationoptionalInputSpecificationInputSpecificationoptionalInputSpecificationInputSpecificationoptionalInputSpecification#Default: InputSpecification.standard() (AVC codec, 20 Mbps max, HD resolution)
Defines the expected codec, bitrate, and resolution of the inputs, and whether they are standard, CDI, or Elemental Link inputs.
linkedChannelSettingsoptionalLinkedChannelSettingslinked_channel_settingsoptionalLinkedChannelSettingslinkedChannelSettingsoptionalLinkedChannelSettingsLinkedChannelSettingsoptionalLinkedChannelSettingsLinkedChannelSettingsoptionalLinkedChannelSettings#Default: not a linked channel
logLeveloptionalLogLevellog_leveloptionalLogLevellogLeveloptionalLogLevelLogLeveloptionalLogLevelLogLeveloptionalLogLevel= LogLevel.DISABLED#maintenanceoptionalMaintenanceSettingsmaintenanceoptionalMaintenanceSettingsmaintenanceoptionalMaintenanceSettingsMaintenanceoptionalMaintenanceSettingsMaintenanceoptionalMaintenanceSettings#Default: default maintenance window
motionGraphicsConfigurationoptionalMotionGraphicsConfigurationmotion_graphics_configurationoptionalMotionGraphicsConfigurationmotionGraphicsConfigurationoptionalMotionGraphicsConfigurationMotionGraphicsConfigurationoptionalMotionGraphicsConfigurationMotionGraphicsConfigurationoptionalMotionGraphicsConfiguration#Default: motion graphics disabled
nielsenConfigurationoptionalNielsenConfigurationnielsen_configurationoptionalNielsenConfigurationnielsenConfigurationoptionalNielsenConfigurationNielsenConfigurationoptionalNielsenConfigurationNielsenConfigurationoptionalNielsenConfiguration#Default: no Nielsen configuration
outputGroupsOutputGroupConfiguration[]output_groupstyping.List[OutputGroupConfiguration]outputGroupsList<OutputGroupConfiguration>OutputGroupsOutputGroupConfiguration[]OutputGroups*[]OutputGroupConfigurationrequired#A single channel can contain multiple output groups with different codecs (e.g. H.264 and H.265 ladders) sharing the same input.
Default: a role is auto-created with confused-deputy prevention
[disable-awslint:prefer-ref-interface]
scte35SegmentationScopeoptionalScte35SegmentationScopescte35_segmentation_scopeoptionalScte35SegmentationScopescte35SegmentationScopeoptionalScte35SegmentationScopeScte35SegmentationScopeoptionalScte35SegmentationScopeScte35SegmentationScopeoptionalScte35SegmentationScope#Default: service default
tagsoptional{ [key: string]: string }tagsoptionaltyping.Mapping[str, str]tagsoptionalMap<String, String>TagsoptionalIDictionary<string, string>Tagsoptional*map[string]*string#Default: no tags
thumbnailConfigurationoptionalThumbnailConfigurationthumbnail_configurationoptionalThumbnailConfigurationthumbnailConfigurationoptionalThumbnailConfigurationThumbnailConfigurationoptionalThumbnailConfigurationThumbnailConfigurationoptionalThumbnailConfiguration#Default: thumbnails disabled
timecodeConfigoptionalTimecodeConfigtimecode_configoptionalTimecodeConfigtimecodeConfigoptionalTimecodeConfigTimecodeConfigoptionalTimecodeConfigTimecodeConfigoptionalTimecodeConfig#Default: EMBEDDED source, no sync threshold
vpcoptionalVpcOutputSettingsvpcoptionalVpcOutputSettingsvpcoptionalVpcOutputSettingsVpcoptionalVpcOutputSettingsVpcoptionalVpcOutputSettings#Default: no VPC (outputs use public endpoints)
When set, all output endpoints are created in the specified VPC.