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.

ChannelProps Struct ​

Properties for creating a MediaLive Channel.

Example ​

ts
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' }],
    }),
  ],
});
python
# 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")]
        )
    ]
)
java
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();
csharp
// 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" } }
    }) }
});
go
// 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#
Anywhere settings for running the channel on AWS Elemental Anywhere.

Default: not an Anywhere channel

availBlankingoptionalAvailBlankingavail_blankingoptionalAvailBlankingavailBlankingoptionalAvailBlankingAvailBlankingoptionalAvailBlankingAvailBlankingoptionalAvailBlanking#
Settings for blanking video, audio, and captions during ad avails.

Default: avail blanking disabled

availSettingsoptionalAvailSettingsavail_settingsoptionalAvailSettingsavailSettingsoptionalAvailSettingsAvailSettingsoptionalAvailSettingsAvailSettingsoptionalAvailSettings#
Ad avail handling configuration.

Default: no avail configuration

Defines how SCTE-35 markers are processed.

blackoutSlateoptionalBlackoutSlateblackout_slateoptionalBlackoutSlateblackoutSlateoptionalBlackoutSlateBlackoutSlateoptionalBlackoutSlateBlackoutSlateoptionalBlackoutSlate#
Blackout slate configuration.

Default: blackout slate disabled

Controls what is displayed during blackout events.

channelClassoptionalChannelClasschannel_classoptionalChannelClasschannelClassoptionalChannelClassChannelClassoptionalChannelClassChannelClassoptionalChannelClass= ChannelClass.SINGLE_PIPELINE#
The class of the channel (STANDARD for redundancy, SINGLE_PIPELINE for cost savings).
channelEngineVersionoptionalstringchannel_engine_versionoptionalstrchannelEngineVersionoptionalStringChannelEngineVersionoptionalstringChannelEngineVersionoptional*string#
The engine version for the channel.

Default: service default

channelNameoptionalstringchannel_nameoptionalstrchannelNameoptionalStringChannelNameoptionalstringChannelNameoptional*string= auto-generated#
The name of the channel.
channelSecurityGroupsoptionalIInputSecurityGroupRef[]channel_security_groupsoptionaltyping.List[IInputSecurityGroupRef]channelSecurityGroupsoptionalList<IInputSecurityGroupRef>ChannelSecurityGroupsoptionalIInputSecurityGroupRef[]ChannelSecurityGroupsoptional*[]IInputSecurityGroupRef#
Input security groups to associate with the channel.

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#
Global color correction rules applied to all outputs.

Default: no color corrections

featureActivationsoptionalFeatureActivationsfeature_activationsoptionalFeatureActivationsfeatureActivationsoptionalFeatureActivationsFeatureActivationsoptionalFeatureActivationsFeatureActivationsoptionalFeatureActivations#
Feature activations for the channel (e.g. Input Prepare schedule actions).

Default: all features disabled

globalConfigurationoptionalGlobalConfigurationglobal_configurationoptionalGlobalConfigurationglobalConfigurationoptionalGlobalConfigurationGlobalConfigurationoptionalGlobalConfigurationGlobalConfigurationoptionalGlobalConfiguration#
Global configuration settings for the channel.

Default: default global configuration

inferenceFeedArnoptionalstringinference_feed_arnoptionalstrinferenceFeedArnoptionalStringInferenceFeedArnoptionalstringInferenceFeedArnoptional*string#
An AWS Elemental Inference feed to send this channel's media to for inference processing.

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#
The input attachments for this channel.

At least one is required. Additional inputs can be added with addInput().

inputSpecificationoptionalInputSpecificationinput_specificationoptionalInputSpecificationinputSpecificationoptionalInputSpecificationInputSpecificationoptionalInputSpecificationInputSpecificationoptionalInputSpecification#
The input specification for this channel.

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#
Linked channel settings for primary/follower channel configurations.

Default: not a linked channel

logLeveloptionalLogLevellog_leveloptionalLogLevellogLeveloptionalLogLevelLogLeveloptionalLogLevelLogLeveloptionalLogLevel= LogLevel.DISABLED#
The log level for the channel.
maintenanceoptionalMaintenanceSettingsmaintenanceoptionalMaintenanceSettingsmaintenanceoptionalMaintenanceSettingsMaintenanceoptionalMaintenanceSettingsMaintenanceoptionalMaintenanceSettings#
Maintenance window configuration for the channel.

Default: default maintenance window

motionGraphicsConfigurationoptionalMotionGraphicsConfigurationmotion_graphics_configurationoptionalMotionGraphicsConfigurationmotionGraphicsConfigurationoptionalMotionGraphicsConfigurationMotionGraphicsConfigurationoptionalMotionGraphicsConfigurationMotionGraphicsConfigurationoptionalMotionGraphicsConfiguration#
Motion graphics overlay configuration.

Default: motion graphics disabled

nielsenConfigurationoptionalNielsenConfigurationnielsen_configurationoptionalNielsenConfigurationnielsenConfigurationoptionalNielsenConfigurationNielsenConfigurationoptionalNielsenConfigurationNielsenConfigurationoptionalNielsenConfiguration#
Nielsen watermark configuration.

Default: no Nielsen configuration

outputGroupsOutputGroupConfiguration[]output_groupstyping.List[OutputGroupConfiguration]outputGroupsList<OutputGroupConfiguration>OutputGroupsOutputGroupConfiguration[]OutputGroups*[]OutputGroupConfigurationrequired#
The initial output groups for this channel. At least one is required. Additional output groups can be added with `addOutputGroup()`.

A single channel can contain multiple output groups with different codecs (e.g. H.264 and H.265 ladders) sharing the same input.

roleoptionalIRoleroleoptionalIRoleroleoptionalIRoleRoleoptionalIRoleRoleoptionalIRole#
The IAM role for MediaLive to assume when running this channel.

Default: a role is auto-created with confused-deputy prevention

[disable-awslint:prefer-ref-interface]

scte35SegmentationScopeoptionalScte35SegmentationScopescte35_segmentation_scopeoptionalScte35SegmentationScopescte35SegmentationScopeoptionalScte35SegmentationScopeScte35SegmentationScopeoptionalScte35SegmentationScopeScte35SegmentationScopeoptionalScte35SegmentationScope#
Which output groups receive SCTE-35 segmentation cues.

Default: service default

tagsoptional{ [key: string]: string }tagsoptionaltyping.Mapping[str, str]tagsoptionalMap<String, String>TagsoptionalIDictionary<string, string>Tagsoptional*map[string]*string#
Tags to add to the channel.

Default: no tags

thumbnailConfigurationoptionalThumbnailConfigurationthumbnail_configurationoptionalThumbnailConfigurationthumbnailConfigurationoptionalThumbnailConfigurationThumbnailConfigurationoptionalThumbnailConfigurationThumbnailConfigurationoptionalThumbnailConfiguration#
Thumbnail generation configuration.

Default: thumbnails disabled

timecodeConfigoptionalTimecodeConfigtimecode_configoptionalTimecodeConfigtimecodeConfigoptionalTimecodeConfigTimecodeConfigoptionalTimecodeConfigTimecodeConfigoptionalTimecodeConfig#
Timecode configuration for the channel.

Default: EMBEDDED source, no sync threshold

vpcoptionalVpcOutputSettingsvpcoptionalVpcOutputSettingsvpcoptionalVpcOutputSettingsVpcoptionalVpcOutputSettingsVpcoptionalVpcOutputSettings#
VPC output settings.

Default: no VPC (outputs use public endpoints)

When set, all output endpoints are created in the specified VPC.