Skip to content
GitHubXDiscord

Flow

The Flow resource allows you to create and manage AWS MediaConnect Flows for transporting live video over the internet. This resource provides an efficient way to configure the flow of media from sources to destinations.

Create a basic MediaConnect Flow with required properties and some common optional configurations.

import AWS from "alchemy/aws/control";
const mediaConnectFlow = await AWS.MediaConnect.Flow("myMediaFlow", {
name: "MyLiveStreamFlow",
source: {
name: "MySource",
url: "rtmp://my-source-url",
protocol: "rtmp"
},
sourceMonitoringConfig: {
clockRate: 90000,
audioLevel: 0.5
},
availabilityZone: "us-west-2a"
});

Configure a MediaConnect Flow with advanced settings, including failover and VPC interfaces.

const advancedFlow = await AWS.MediaConnect.Flow("advancedMediaFlow", {
name: "AdvancedLiveStreamFlow",
source: {
name: "MyAdvancedSource",
url: "rtmp://my-advanced-source-url",
protocol: "rtmp"
},
sourceFailoverConfig: {
secondarySource: {
name: "MySecondarySource",
url: "rtmp://my-secondary-source-url",
protocol: "rtmp"
},
failoverMode: "MANUAL"
},
vpcInterfaces: [
{
name: "VPCInterface1",
subnetId: "subnet-12345678",
securityGroupIds: ["sg-12345678"]
}
]
});

Create a MediaConnect Flow that includes multiple media streams for different content types.

const mediaStreamFlow = await AWS.MediaConnect.Flow("mediaStreamFlow", {
name: "MediaStreamFlow",
source: {
name: "MyStreamSource",
url: "rtmp://my-stream-source-url",
protocol: "rtmp"
},
mediaStreams: [
{
name: "VideoStream",
type: "video",
sourceType: "embedded"
},
{
name: "AudioStream",
type: "audio",
sourceType: "embedded"
}
]
});

Set up a MediaConnect Flow with monitoring and maintenance configurations.

const monitoredFlow = await AWS.MediaConnect.Flow("monitoredFlow", {
name: "MonitoredFlow",
source: {
name: "MonitoredSource",
url: "rtmp://my-monitored-source-url",
protocol: "rtmp"
},
maintenance: {
maintenanceWindowStart: "2023-10-01T00:00:00Z",
maintenanceWindowEnd: "2023-10-01T04:00:00Z"
},
sourceMonitoringConfig: {
clockRate: 90000,
audioLevel: 0.8
}
});