Experimental
@aws-cdk/aws-medialive-alpha is an experimental (alpha) package: its API may change in any release, without a major version bump.
ChannelClass Class
The class of the channel.
Determines the pipeline redundancy.
Example
ts
declare const stack: Stack;
declare const input: medialive.IInput;
declare const mpChannel: mediapackagev2.IChannel;
const hdVideo = medialive.EncodeConfiguration.video({
name: 'video_1080p',
codec: medialive.VideoCodecSettings.h265({
rateControl: medialive.H265RateControl.qvbr({
maxBitrate: Bitrate.mbps(8),
qvbrQualityLevel: 7,
}),
framerate: medialive.Framerate.FPS_30,
}),
width: 1920,
height: 1080,
});
const sdVideo = medialive.EncodeConfiguration.video({
name: 'video_480p',
codec: medialive.VideoCodecSettings.h265({
rateControl: medialive.H265RateControl.qvbr({
maxBitrate: Bitrate.mbps(2),
qvbrQualityLevel: 7,
}),
framerate: medialive.Framerate.FPS_30,
}),
width: 854,
height: 480,
});
const audio = medialive.EncodeConfiguration.audio({
name: 'audio_aac',
codec: medialive.AudioCodecSettings.aac({ bitrate: Bitrate.kbps(192) }),
});
new medialive.Channel(stack, 'Channel', {
channelClass: medialive.ChannelClass.STANDARD,
inputs: [{ input }],
outputGroups: [
medialive.OutputGroupConfiguration.mediaPackageV2({
name: 'emp',
channel: mpChannel,
outputs: [
{ encode: hdVideo, outputName: 'hd' },
{ encode: sdVideo, outputName: 'sd' },
{ encode: audio, outputName: 'audio' },
],
}),
],
});
python
# stack: Stack
# input: medialive.IInput
# mp_channel: mediapackagev2.IChannel
hd_video = medialive.EncodeConfiguration.video(
name="video_1080p",
codec=medialive.VideoCodecSettings.h265(
rate_control=medialive.H265RateControl.qvbr(
max_bitrate=Bitrate.mbps(8),
qvbr_quality_level=7
),
framerate=medialive.Framerate.FPS_30
),
width=1920,
height=1080
)
sd_video = medialive.EncodeConfiguration.video(
name="video_480p",
codec=medialive.VideoCodecSettings.h265(
rate_control=medialive.H265RateControl.qvbr(
max_bitrate=Bitrate.mbps(2),
qvbr_quality_level=7
),
framerate=medialive.Framerate.FPS_30
),
width=854,
height=480
)
audio = medialive.EncodeConfiguration.audio(
name="audio_aac",
codec=medialive.AudioCodecSettings.aac(bitrate=Bitrate.kbps(192))
)
medialive.Channel(stack, "Channel",
channel_class=medialive.ChannelClass.STANDARD,
inputs=[medialive.InputAttachment(input=input)],
output_groups=[
medialive.OutputGroupConfiguration.media_package_v2(
name="emp",
channel=mp_channel,
outputs=[medialive.MediaPackageV2OutputDefinition(encode=hd_video, output_name="hd"), medialive.MediaPackageV2OutputDefinition(encode=sd_video, output_name="sd"), medialive.MediaPackageV2OutputDefinition(encode=audio, output_name="audio")
]
)
]
)
java
Stack stack;
IInput input;
IChannel mpChannel;
EncodeConfiguration hdVideo = EncodeConfiguration.video(VideoEncodeProps.builder()
.name("video_1080p")
.codec(VideoCodecSettings.h265(H265SettingsProps.builder()
.rateControl(H265RateControl.qvbr(QvbrRateControlProps.builder()
.maxBitrate(Bitrate.mbps(8))
.qvbrQualityLevel(7)
.build()))
.framerate(Framerate.FPS_30)
.build()))
.width(1920)
.height(1080)
.build());
EncodeConfiguration sdVideo = EncodeConfiguration.video(VideoEncodeProps.builder()
.name("video_480p")
.codec(VideoCodecSettings.h265(H265SettingsProps.builder()
.rateControl(H265RateControl.qvbr(QvbrRateControlProps.builder()
.maxBitrate(Bitrate.mbps(2))
.qvbrQualityLevel(7)
.build()))
.framerate(Framerate.FPS_30)
.build()))
.width(854)
.height(480)
.build());
EncodeConfiguration audio = EncodeConfiguration.audio(AudioEncodeProps.builder()
.name("audio_aac")
.codec(AudioCodecSettings.aac(AacSettingsProps.builder().bitrate(Bitrate.kbps(192)).build()))
.build());
Channel.Builder.create(stack, "Channel")
.channelClass(ChannelClass.STANDARD)
.inputs(List.of(InputAttachment.builder().input(input).build()))
.outputGroups(List.of(OutputGroupConfiguration.mediaPackageV2(MediaPackageV2OutputGroupProps.builder()
.name("emp")
.channel(mpChannel)
.outputs(List.of(MediaPackageV2OutputDefinition.builder().encode(hdVideo).outputName("hd").build(), MediaPackageV2OutputDefinition.builder().encode(sdVideo).outputName("sd").build(), MediaPackageV2OutputDefinition.builder().encode(audio).outputName("audio").build()))
.build())))
.build();
csharp
// Install: dotnet add package Amazon.CDK.AWS.MediaLive.Alpha
Stack stack;
IInput input;
IChannel mpChannel;
var hdVideo = EncodeConfiguration.Video(new VideoEncodeProps {
Name = "video_1080p",
Codec = VideoCodecSettings.H265(new H265SettingsProps {
RateControl = H265RateControl.Qvbr(new QvbrRateControlProps {
MaxBitrate = Bitrate.Mbps(8),
QvbrQualityLevel = 7
}),
Framerate = Framerate.FPS_30
}),
Width = 1920,
Height = 1080
});
var sdVideo = EncodeConfiguration.Video(new VideoEncodeProps {
Name = "video_480p",
Codec = VideoCodecSettings.H265(new H265SettingsProps {
RateControl = H265RateControl.Qvbr(new QvbrRateControlProps {
MaxBitrate = Bitrate.Mbps(2),
QvbrQualityLevel = 7
}),
Framerate = Framerate.FPS_30
}),
Width = 854,
Height = 480
});
var audio = EncodeConfiguration.Audio(new AudioEncodeProps {
Name = "audio_aac",
Codec = AudioCodecSettings.Aac(new AacSettingsProps { Bitrate = Bitrate.Kbps(192) })
});
new Channel(stack, "Channel", new ChannelProps {
ChannelClass = ChannelClass.STANDARD,
Inputs = new [] { new InputAttachment { Input = input } },
OutputGroups = new [] { OutputGroupConfiguration.MediaPackageV2(new MediaPackageV2OutputGroupProps {
Name = "emp",
Channel = mpChannel,
Outputs = new [] { new MediaPackageV2OutputDefinition { Encode = hdVideo, OutputName = "hd" }, new MediaPackageV2OutputDefinition { Encode = sdVideo, OutputName = "sd" }, new MediaPackageV2OutputDefinition { Encode = audio, OutputName = "audio" } }
}) }
});
go
// Install: go get github.com/aws/aws-cdk-go/awsmedialivealpha/v2
var stack Stack
var input IInput
var mpChannel IChannel
hdVideo := medialive.EncodeConfiguration_Video(&VideoEncodeProps{
Name: jsii.String("video_1080p"),
Codec: medialive.VideoCodecSettings_H265(&H265SettingsProps{
RateControl: medialive.H265RateControl_Qvbr(&QvbrRateControlProps{
MaxBitrate: awscdk.Bitrate_Mbps(jsii.Number(8)),
QvbrQualityLevel: jsii.Number(7),
}),
Framerate: medialive.Framerate_FPS_30(),
}),
Width: jsii.Number(1920),
Height: jsii.Number(1080),
})
sdVideo := medialive.EncodeConfiguration_Video(&VideoEncodeProps{
Name: jsii.String("video_480p"),
Codec: medialive.VideoCodecSettings_*H265(&H265SettingsProps{
RateControl: medialive.H265RateControl_*Qvbr(&QvbrRateControlProps{
MaxBitrate: awscdk.Bitrate_*Mbps(jsii.Number(2)),
QvbrQualityLevel: jsii.Number(7),
}),
Framerate: medialive.Framerate_FPS_30(),
}),
Width: jsii.Number(854),
Height: jsii.Number(480),
})
audio := medialive.EncodeConfiguration_Audio(&AudioEncodeProps{
Name: jsii.String("audio_aac"),
Codec: medialive.AudioCodecSettings_Aac(&AacSettingsProps{
Bitrate: awscdk.Bitrate_Kbps(jsii.Number(192)),
}),
})
medialive.NewChannel(stack, jsii.String("Channel"), &ChannelProps{
ChannelClass: medialive.ChannelClass_STANDARD(),
Inputs: []InputAttachment{
&InputAttachment{
Input: *Input,
},
},
OutputGroups: []OutputGroupConfiguration{
medialive.OutputGroupConfiguration_MediaPackageV2(&MediaPackageV2OutputGroupProps{
Name: jsii.String("emp"),
Channel: mpChannel,
Outputs: []MediaPackageV2OutputDefinition{
&MediaPackageV2OutputDefinition{
Encode: hdVideo,
OutputName: jsii.String("hd"),
},
&MediaPackageV2OutputDefinition{
Encode: sdVideo,
OutputName: jsii.String("sd"),
},
&MediaPackageV2OutputDefinition{
Encode: audio,
OutputName: jsii.String("audio"),
},
},
}),
},
})
Properties
SINGLE_PIPELINEChannelClasssingle_pipelineChannelClassSINGLE_PIPELINEChannelClassSINGLE_PIPELINEChannelClassSINGLE_PIPELINEChannelClassstatic#Single pipeline — no redundancy.
STANDARDChannelClassstandardChannelClassSTANDARDChannelClassSTANDARDChannelClassSTANDARDChannelClassstatic#Standard — two pipelines for redundancy.
The underlying string value passed to CloudFormation.
Methods
of(value: string): ChannelClass // chainable@staticmethod def of(value: str) -> ChannelClasspublic static ChannelClass of(String value)public static ChannelClass Of(string value)func Of(Value *string) ChannelClassstatic#A value not yet modelled by AWS CDK.