Skip to content
v2.277.0

Experimental

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

EncodeConfiguration Class ​

Base interface for an encode configuration (video, audio, or caption).

The same EncodeConfiguration instance can be shared across multiple output groups within a channel. The channel automatically deduplicates encode descriptions by name at synth time.

Example ​

ts
// Define a caption selector on the input attachment (see Input Attachment Settings below)
const captionSelector = medialive.CaptionSelector.embedded('captions');

// WebVTT captions
const webvtt = medialive.EncodeConfiguration.caption({
  name: 'eng_webvtt',
  captionSelectorName: captionSelector.name,
  languageCode: 'eng',
  languageDescription: 'English',
  destination: medialive.CaptionDestination.webvtt(),
});

// Burned-in captions — rendered into the video, styled via the burn-in options
const burnIn = medialive.EncodeConfiguration.caption({
  name: 'eng_burnin',
  captionSelectorName: captionSelector.name,
  destination: medialive.CaptionDestination.burnIn({
    alignment: medialive.CaptionAlignment.CENTERED,
    fontColor: medialive.CaptionFontColor.WHITE,
    outlineColor: medialive.CaptionOutlineColor.BLACK,
    fontSize: medialive.CaptionFontSize.AUTO,
  }),
});
python
# Define a caption selector on the input attachment (see Input Attachment Settings below)
caption_selector = medialive.CaptionSelector.embedded("captions")

# WebVTT captions
webvtt = medialive.EncodeConfiguration.caption(
    name="eng_webvtt",
    caption_selector_name=caption_selector.name,
    language_code="eng",
    language_description="English",
    destination=medialive.CaptionDestination.webvtt()
)

# Burned-in captions — rendered into the video, styled via the burn-in options
burn_in = medialive.EncodeConfiguration.caption(
    name="eng_burnin",
    caption_selector_name=caption_selector.name,
    destination=medialive.CaptionDestination.burn_in(
        alignment=medialive.CaptionAlignment.CENTERED,
        font_color=medialive.CaptionFontColor.WHITE,
        outline_color=medialive.CaptionOutlineColor.BLACK,
        font_size=medialive.CaptionFontSize.AUTO
    )
)
java
// Define a caption selector on the input attachment (see Input Attachment Settings below)
CaptionSelector captionSelector = CaptionSelector.embedded("captions");

// WebVTT captions
EncodeConfiguration webvtt = EncodeConfiguration.caption(CaptionEncodeProps.builder()
        .name("eng_webvtt")
        .captionSelectorName(captionSelector.getName())
        .languageCode("eng")
        .languageDescription("English")
        .destination(CaptionDestination.webvtt())
        .build());

// Burned-in captions — rendered into the video, styled via the burn-in options
EncodeConfiguration burnIn = EncodeConfiguration.caption(CaptionEncodeProps.builder()
        .name("eng_burnin")
        .captionSelectorName(captionSelector.getName())
        .destination(CaptionDestination.burnIn(BurnInDestinationProps.builder()
                .alignment(CaptionAlignment.CENTERED)
                .fontColor(CaptionFontColor.WHITE)
                .outlineColor(CaptionOutlineColor.BLACK)
                .fontSize(CaptionFontSize.AUTO)
                .build()))
        .build());
csharp
// Install: dotnet add package Amazon.CDK.AWS.MediaLive.Alpha
// Define a caption selector on the input attachment (see Input Attachment Settings below)
var captionSelector = CaptionSelector.Embedded("captions");

// WebVTT captions
var webvtt = EncodeConfiguration.Caption(new CaptionEncodeProps {
    Name = "eng_webvtt",
    CaptionSelectorName = captionSelector.Name,
    LanguageCode = "eng",
    LanguageDescription = "English",
    Destination = CaptionDestination.Webvtt()
});

// Burned-in captions — rendered into the video, styled via the burn-in options
var burnIn = EncodeConfiguration.Caption(new CaptionEncodeProps {
    Name = "eng_burnin",
    CaptionSelectorName = captionSelector.Name,
    Destination = CaptionDestination.BurnIn(new BurnInDestinationProps {
        Alignment = CaptionAlignment.CENTERED,
        FontColor = CaptionFontColor.WHITE,
        OutlineColor = CaptionOutlineColor.BLACK,
        FontSize = CaptionFontSize.AUTO
    })
});
go
// Install: go get github.com/aws/aws-cdk-go/awsmedialivealpha/v2
// Define a caption selector on the input attachment (see Input Attachment Settings below)
captionSelector := medialive.CaptionSelector_Embedded(jsii.String("captions"))

// WebVTT captions
webvtt := medialive.EncodeConfiguration_Caption(&CaptionEncodeProps{
	Name: jsii.String("eng_webvtt"),
	CaptionSelectorName: captionSelector.Name,
	LanguageCode: jsii.String("eng"),
	LanguageDescription: jsii.String("English"),
	Destination: medialive.CaptionDestination_Webvtt(),
})

// Burned-in captions — rendered into the video, styled via the burn-in options
burnIn := medialive.EncodeConfiguration_Caption(&CaptionEncodeProps{
	Name: jsii.String("eng_burnin"),
	CaptionSelectorName: captionSelector.*Name,
	Destination: medialive.CaptionDestination_BurnIn(&BurnInDestinationProps{
		Alignment: medialive.CaptionAlignment_CENTERED(),
		FontColor: medialive.CaptionFontColor_WHITE(),
		OutlineColor: medialive.CaptionOutlineColor_BLACK(),
		FontSize: medialive.CaptionFontSize_AUTO(),
	}),
})

Initializer ​

ts
new EncodeConfiguration()
python
EncodeConfiguration()
java
new EncodeConfiguration()
csharp
new EncodeConfiguration()
go
NewEncodeConfiguration()

Properties ​

namestringnamestrnameStringNamestringName*string#
The unique name for this encode, used to reference it from outputs.

Methods ​

audio(props: AudioEncodeProps): EncodeConfiguration // chainable@staticmethod def audio(props: AudioEncodeProps) -> EncodeConfigurationpublic static EncodeConfiguration audio(AudioEncodeProps props)public static EncodeConfiguration Audio(AudioEncodeProps props)func Audio(Props AudioEncodeProps) EncodeConfigurationstatic#
Create an audio encode configuration.
caption(props: CaptionEncodeProps): EncodeConfiguration // chainable@staticmethod def caption(props: CaptionEncodeProps) -> EncodeConfigurationpublic static EncodeConfiguration caption(CaptionEncodeProps props)public static EncodeConfiguration Caption(CaptionEncodeProps props)func Caption(Props CaptionEncodeProps) EncodeConfigurationstatic#
Create a caption encode configuration.
video(props: VideoEncodeProps): EncodeConfiguration // chainable@staticmethod def video(props: VideoEncodeProps) -> EncodeConfigurationpublic static EncodeConfiguration video(VideoEncodeProps props)public static EncodeConfiguration Video(VideoEncodeProps props)func Video(Props VideoEncodeProps) EncodeConfigurationstatic#
Create a video encode configuration.