Skip to content
GitHubXDiscord

RecordingConfiguration

The RecordingConfiguration resource lets you manage AWS IVS RecordingConfigurations for your video streaming applications. This resource allows you to configure recording settings for your live streams, including destination storage, rendition settings, and thumbnail generation.

Create a basic recording configuration with required properties and a common optional property.

import AWS from "alchemy/aws/control";
const recordingConfig = await AWS.IVS.RecordingConfiguration("basicRecordingConfig", {
destinationConfiguration: {
s3: {
bucketName: "my-video-recordings",
prefix: "recordings/",
roleArn: "arn:aws:iam::123456789012:role/IVSRecordingRole"
}
},
recordingReconnectWindowSeconds: 30
});

Configure a recording setup with additional options for thumbnails and renditions.

const advancedRecordingConfig = await AWS.IVS.RecordingConfiguration("advancedRecordingConfig", {
destinationConfiguration: {
s3: {
bucketName: "my-advanced-video-recordings",
prefix: "advanced_recordings/",
roleArn: "arn:aws:iam::123456789012:role/IVSAdvancedRecordingRole"
}
},
renditionConfiguration: {
renditions: [
{
resolution: "1280x720",
framerate: 30,
bitrate: 3000
},
{
resolution: "640x360",
framerate: 30,
bitrate: 800
}
]
},
thumbnailConfiguration: {
destination: {
s3: {
bucketName: "my-thumbnail-recordings",
prefix: "thumbnails/",
roleArn: "arn:aws:iam::123456789012:role/IVSThumbnailRole"
}
},
intervalSeconds: 60
},
tags: [
{
key: "Project",
value: "LiveStreaming"
}
]
});

This example demonstrates how to set a custom reconnect window for recording.

const customReconnectConfig = await AWS.IVS.RecordingConfiguration("customReconnectConfig", {
destinationConfiguration: {
s3: {
bucketName: "my-custom-reconnect-recordings",
prefix: "custom_recordings/",
roleArn: "arn:aws:iam::123456789012:role/IVSCustomReconnectRole"
}
},
recordingReconnectWindowSeconds: 45
});

Configure a recording with thumbnail generation enabled at specific intervals.

const thumbnailConfig = await AWS.IVS.RecordingConfiguration("thumbnailConfig", {
destinationConfiguration: {
s3: {
bucketName: "my-thumbnail-config-recordings",
prefix: "thumbnails/",
roleArn: "arn:aws:iam::123456789012:role/IVSThumbnailRole"
}
},
thumbnailConfiguration: {
destination: {
s3: {
bucketName: "my-thumbnails-bucket",
prefix: "thumbnail_images/",
roleArn: "arn:aws:iam::123456789012:role/IVSThumbnailRole"
}
},
intervalSeconds: 30
}
});