Skip to content
GitHubXDiscordRSS

PackagingConfiguration

Learn how to create, update, and manage AWS MediaPackage PackagingConfigurations using Alchemy Cloud Control.

The PackagingConfiguration resource lets you manage AWS MediaPackage PackagingConfigurations for preparing and delivering video content over the internet.

Create a basic PackagingConfiguration with required properties and one optional property:

import AWS from "alchemy/aws/control";
const basicPackagingConfiguration = await AWS.MediaPackage.PackagingConfiguration("basicPackagingConfig", {
Id: "basic-config",
PackagingGroupId: "packaging-group-1",
HlsPackage: {
SegmentDurationSeconds: 10,
PlaylistType: "EVENT" // Optional property
}
});

Configure a PackagingConfiguration with multiple packaging types, including DASH, CMAF, and HLS:

const advancedPackagingConfiguration = await AWS.MediaPackage.PackagingConfiguration("advancedPackagingConfig", {
Id: "advanced-config",
PackagingGroupId: "packaging-group-1",
MssPackage: {
SegmentDurationSeconds: 10,
ManifestWindowSeconds: 60,
StreamSelection: {
MinVideoBitsPerSecond: 500000,
MaxVideoBitsPerSecond: 5000000,
StreamOrder: "ORIGINAL"
}
},
CmafPackage: {
SegmentDurationSeconds: 10,
Encryption: {
SpekeKeyProvider: {
RoleArn: "arn:aws:iam::123456789012:role/SampleRole",
Url: "https://example.com/speke",
CertificateArn: "arn:aws:iam::123456789012:server-certificate/sample-cert"
}
}
},
DashPackage: {
SegmentDurationSeconds: 10,
ManifestLayout: "FULL",
Profile: "NONE"
}
});

Create a PackagingConfiguration with tags for better resource management:

const taggedPackagingConfiguration = await AWS.MediaPackage.PackagingConfiguration("taggedPackagingConfig", {
Id: "tagged-config",
PackagingGroupId: "packaging-group-1",
HlsPackage: {
SegmentDurationSeconds: 10
},
Tags: [
{ Key: "Environment", Value: "Production" },
{ Key: "Project", Value: "VideoStreaming" }
]
});

Adopt an existing PackagingConfiguration instead of creating a new one if it already exists:

const adoptExistingPackagingConfiguration = await AWS.MediaPackage.PackagingConfiguration("adoptPackagingConfig", {
Id: "existing-config",
PackagingGroupId: "packaging-group-1",
adopt: true // This will adopt the existing resource
});