Skip to content
GitHubXDiscord

FlowOutput

The FlowOutput resource lets you manage AWS MediaConnect FlowOutputs for delivering live video streams. This resource allows you to configure various output parameters such as destination, protocol, and encryption settings.

Create a basic FlowOutput with required properties and a common optional property:

import AWS from "alchemy/aws/control";
const basicFlowOutput = await AWS.MediaConnect.FlowOutput("basicFlowOutput", {
FlowArn: "arn:aws:mediaconnect:us-west-2:123456789012:flow:example-flow",
Protocol: "RTP",
Destination: "192.0.2.0:5000", // Example destination for RTP stream
Name: "MyBasicOutput"
});

Configure a FlowOutput with advanced options, including encryption and additional output settings:

const advancedFlowOutput = await AWS.MediaConnect.FlowOutput("advancedFlowOutput", {
FlowArn: "arn:aws:mediaconnect:us-west-2:123456789012:flow:example-flow",
Protocol: "RTP",
Destination: "203.0.113.0:6000", // Advanced destination for RTP stream
Encryption: {
Algorithm: "aes128", // Example encryption algorithm
RoleArn: "arn:aws:iam::123456789012:role/MediaConnectEncryptionRole",
KeyType: "static-key",
StaticKeyValue: "my-static-key-value" // Replace with your static key value
},
SmoothingLatency: 100, // Set smoothing latency to 100 ms
Name: "MyAdvancedOutput"
});

Create a FlowOutput with media stream output configurations for more complex use cases:

const mediaStreamOutputConfiguration = [{
MediaStreamName: "videoStream",
StreamId: "stream1",
// Additional configurations can go here
}];
const mediaStreamFlowOutput = await AWS.MediaConnect.FlowOutput("mediaStreamFlowOutput", {
FlowArn: "arn:aws:mediaconnect:us-west-2:123456789012:flow:example-flow",
Protocol: "RTP-FEC",
Destination: "198.51.100.0:7000", // Example destination for RTP-FEC
MediaStreamOutputConfigurations: mediaStreamOutputConfiguration,
Name: "MyMediaStreamOutput"
});

Configure a FlowOutput with a VPC Interface Attachment for secure network configuration:

const vpcInterfaceAttachment = {
VpcInterfaceName: "MyVpcInterface",
NetworkInterfaceId: "eni-abcdefgh", // Replace with your network interface ID
};
const vpcFlowOutput = await AWS.MediaConnect.FlowOutput("vpcFlowOutput", {
FlowArn: "arn:aws:mediaconnect:us-west-2:123456789012:flow:example-flow",
Protocol: "RTP",
Destination: "192.0.2.0:8000", // Secure VPC destination
VpcInterfaceAttachment: vpcInterfaceAttachment,
Name: "MyVpcFlowOutput"
});