Sources: add - AWS Elemental MediaConnect

Sources: add

URI

/v1/flows/flowArn/source

HTTP methods

POST

Operation ID: AddFlowSources

Adds sources to an existing flow. You can add up to one additional source, for a total of two, to each flow. You must enable source failover on the flow before you can add a second source.

Both sources on the flow must use the same protocol. (However, you can have one source that uses RTP and the other that uses RTP-FEC.)

Path parameters
NameTypeRequiredDescription
flowArnStringTrue

The Amazon Resource Name (ARN) of the flow.

Responses
Status codeResponse modelDescription
201AddFlowSourcesResponse

MediaConnect created the new resource successfully.

400ResponseError

The request that you submitted is not valid.

403ResponseError

You don't have the required permissions to perform this operation.

404ResponseError

MediaConnect did not find the resource that you specified in the request.

429ResponseError

You have exceeded the service request rate limit for your MediaConnect account.

500ResponseError

MediaConnect can't fulfill your request because it encountered an unexpected condition.

503ResponseError

MediaConnect is currently unavailable. Try again later.

Schemas

Request bodies

{ "sources": [ { "streamId": "string", "minLatency": integer, "vpcInterfaceName": "string", "maxLatency": integer, "description": "string", "maxBitrate": integer, "entitlementArn": "string", "sourceListenerPort": integer, "mediaStreamSourceConfigurations": [ { "mediaStreamName": "string", "encodingName": enum, "inputConfigurations": [ { "inputPort": integer, "interface": { "name": "string" } } ] } ], "sourceListenerAddress": "string", "whitelistCidr": "string", "senderIpAddress": "string", "protocol": enum, "senderControlPort": integer, "name": "string", "gatewayBridgeSource": { "bridgeArn": "string", "vpcInterfaceAttachment": { "vpcInterfaceName": "string" } }, "decryption": { "resourceId": "string", "roleArn": "string", "secretArn": "string", "constantInitializationVector": "string", "keyType": enum, "region": "string", "deviceId": "string", "url": "string", "algorithm": enum }, "ingestPort": integer, "maxSyncBuffer": integer } ] }

Response bodies

{ "sources": [ { "sourceArn": "string", "vpcInterfaceName": "string", "description": "string", "entitlementArn": "string", "transport": { "streamId": "string", "minLatency": integer, "maxLatency": integer, "maxBitrate": integer, "sourceListenerPort": integer, "smoothingLatency": integer, "remoteId": "string", "sourceListenerAddress": "string", "senderIpAddress": "string", "protocol": enum, "senderControlPort": integer, "cidrAllowList": [ "string" ], "maxSyncBuffer": integer }, "mediaStreamSourceConfigurations": [ { "mediaStreamName": "string", "encodingName": enum, "inputConfigurations": [ { "inputIp": "string", "inputPort": integer, "interface": { "name": "string" } } ] } ], "whitelistCidr": "string", "senderIpAddress": "string", "senderControlPort": integer, "name": "string", "gatewayBridgeSource": { "bridgeArn": "string", "vpcInterfaceAttachment": { "vpcInterfaceName": "string" } }, "dataTransferSubscriberFeePercent": integer, "ingestIp": "string", "decryption": { "resourceId": "string", "roleArn": "string", "secretArn": "string", "constantInitializationVector": "string", "keyType": enum, "region": "string", "deviceId": "string", "url": "string", "algorithm": enum }, "ingestPort": integer } ], "flowArn": "string" }
{ "message": "string" }

Properties

AddFlowSourcesRequest

Adds sources to an existing flow. You can add up to one additional source, for a total of two, to each flow.

PropertyTypeRequiredDescription
sources

Array of type SetSourceRequest

True

The list of sources that you want to add.

AddFlowSourcesResponse

The result of a successful AddFlowSources request. The response includes the details of the sources that you just added.

PropertyTypeRequiredDescription
flowArn

string

True

The ARN of the flow that you just added sources to.

sources

Array of type Source

True

The details of the sources that you just added.

Encryption

Information about the encryption of the flow.

PropertyTypeRequiredDescription
algorithm

string

Values: aes128 | aes192 | aes256

False

The type of algorithm that is used for the encryption (such as aes128, aes192, or aes256).

constantInitializationVector

string

False

A 128-bit, 16-byte hex value represented by a 32-character string, to be used with the key for encrypting content. This parameter is not valid for static key encryption.

deviceId

string

False

The value of one of the devices that you configured with your digital rights management (DRM) platform key provider. This parameter is required for SPEKE encryption and is not valid for static key encryption.

keyType

string

Values: speke | static-key | srt-password

False

The type of key that is used for the encryption. If you don't specify a keyType value, the service uses the default setting (static-key).

region

string

False

The AWS Region that the API Gateway proxy endpoint was created in. This parameter is required for SPEKE encryption and is not valid for static key encryption.

resourceId

string

False

An identifier for the content. The service sends this value to the key server to identify the current endpoint. The resource ID is also known as the content ID. This parameter is required for SPEKE encryption and is not valid for static key encryption.

roleArn

string

True

The Amazon Resource Name (ARN) of the role that you created during setup (when you set up MediaConnect as a trusted entity).

secretArn

string

False

The ARN of the secret that you created in AWS Secrets Manager to store the encryption key.

url

string

False

The URL from the API Gateway proxy that you set up to talk to your key server. This parameter is required for SPEKE encryption and is not valid for static key encryption.

GatewayBridgeSource

The source configuration for cloud flows receiving a stream from a bridge.

PropertyTypeRequiredDescription
bridgeArn

string

True

The ARN of the bridge feeding this flow.

vpcInterfaceAttachment

VpcInterfaceAttachment

False

The name of the VPC interface attachment to use for this bridge source.

InputConfiguration

The transport parameters associated with an incoming media stream.

PropertyTypeRequiredDescription
inputIp

string

True

The IP address that the flow listens on for incoming content for a media stream.

inputPort

integer

Format: int32

True

The port that the flow listens on for an incoming media stream.

interface

Interface

True

The VPC interface where the media stream comes in from.

InputConfigurationRequest

The transport parameters that you want to associate with an incoming media stream.

PropertyTypeRequiredDescription
inputPort

integer

Format: int32

True

The port that you want the flow to listen on for an incoming media stream.

interface

InterfaceRequest

True

The VPC interface that you want to use for the incoming media stream.

Interface

The VPC interface that you want to use for the media stream associated with the output.

PropertyTypeRequiredDescription
name

string

True

The name of the VPC interface that you want to use for the media stream associated with the output.

InterfaceRequest

The VPC interface that you want to designate where the media stream is coming from or going to.

PropertyTypeRequiredDescription
name

string

True

The name of the VPC interface.

MediaStreamSourceConfiguration

The media stream that is associated with the source, and the parameters for that association.

PropertyTypeRequiredDescription
encodingName

string

Values: jxsv | raw | smpte291 | pcm

True

The format that was used to encode the data.

For ancillary data streams, set the encoding name to smpte291.

For audio streams, set the encoding name to pcm.

For video, 2110 streams, set the encoding name to raw.

For video, JPEG XS streams, set the encoding name to jxsv.

inputConfigurations

Array of type InputConfiguration

False

The media streams that you want to associate with the source.

mediaStreamName

string

True

A name that helps you distinguish one media stream from another.

MediaStreamSourceConfigurationRequest

The media stream that you want to associate with the source, and the parameters for that association.

PropertyTypeRequiredDescription
encodingName

string

Values: jxsv | raw | smpte291 | pcm

True

The format that was used to encode the data.

For ancillary data streams, set the encoding name to smpte291.

For audio streams, set the encoding name to pcm.

For video, 2110 streams, set the encoding name to raw.

For video, JPEG XS streams, set the encoding name to jxsv.

inputConfigurations

Array of type InputConfigurationRequest

False

The media streams that you want to associate with the source.

mediaStreamName

string

True

The name of the media stream.

ResponseError

An exception raised by MediaConnect when you submit a request that cannot be completed. For more information, see the error message and documentation for the operation.

PropertyTypeRequiredDescription
message

string

True

The specific error message that MediaConnect returns to help you understand the reason that the request did not succeed.

SetGatewayBridgeSourceRequest

The source configuration for cloud flows receiving a stream from a bridge.

PropertyTypeRequiredDescription
bridgeArn

string

True

The ARN of the bridge feeding this flow.

vpcInterfaceAttachment

VpcInterfaceAttachment

False

The name of the VPC interface attachment to use for this bridge source.

SetSourceRequest

The settings for the source that you want to use for the new flow.

PropertyTypeRequiredDescription
decryption

Encryption

False

The type of encryption that is used on the content ingested from the source.

description

string

False

A description of the source. This description is not visible outside of the current AWS account.

entitlementArn

string

False

The ARN of the entitlement that allows you to subscribe to the flow. The content originator grants the entitlement, and the ARN is auto-generated as part of the originator's flow.

gatewayBridgeSource

SetGatewayBridgeSourceRequest

False

The source configuration for cloud flows receiving a stream from a bridge.

ingestPort

integer

False

The port that the flow listens on for incoming content. If the protocol of the source is Zixi, the port must be set to 2088.

maxBitrate

integer

Format: int64

False

The maximum bitrate for RIST, RTP, and RTP-FEC streams.

maxLatency

integer

Format: int64

False

The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.

maxSyncBuffer

integer

False

The size of the buffer (in milliseconds) to use to sync incoming source data.

mediaStreamSourceConfigurations

Array of type MediaStreamSourceConfigurationRequest

False

The media stream that is associated with the source, and the parameters for that association.

minLatency

integer

Format: int64

False

The minimum latency in milliseconds for SRT-based streams. In streams that use the SRT protocol, this value that you set on your MediaConnect source or output represents the minimal potential latency of that connection. The latency of the stream is set to the highest number between the sender’s minimum latency and the receiver’s minimum latency.

name

string

False

The name of the source.

protocol

string

Values: zixi-push | rtp-fec | rtp | zixi-pull | rist | st2110-jpegxs | cdi | srt-listener | srt-caller | udp

False

The protocol that the source uses to deliver the content to MediaConnect.

senderControlPort

integer

False

The port that the flow uses to send outbound requests to initiate connection with the sender.

senderIpAddress

string

False

The IP address that the flow communicates with to initiate connection with the sender.

sourceListenerAddress

string

False

Source IP or domain name for SRT-caller protocol.

sourceListenerPort

integer

False

Source port for SRT-caller protocol.

streamId

string

False

The stream ID that you want to use for this transport. This parameter applies only to Zixi and SRT caller-based streams.

vpcInterfaceName

string

False

The name of the VPC interface that you want to use for the source.

whitelistCidr

string

False

The range of IP addresses that are allowed to contribute content to your source. Format the IP addresses as a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.

Source

The details of the sources of the flow.

PropertyTypeRequiredDescription
dataTransferSubscriberFeePercent

integer

False

The percentage of the entitlement data transfer fee that you want the subscriber to be responsible for.

decryption

Encryption

False

The type of encryption that is used on the content ingested from the source.

description

string

False

A description of the source. This description is not visible outside of the current AWS account.

entitlementArn

string

False

The ARN of the entitlement that allows you to subscribe to content that comes from another AWS account. The entitlement is set by the content originator and the ARN is generated as part of the originator’s flow.

gatewayBridgeSource

GatewayBridgeSource

False

The source configuration for cloud flows receiving a stream from a bridge.

ingestIp

string

False

The IP address that the flow listens on for incoming content.

ingestPort

integer

False

The port that the flow listens on for incoming content. If the protocol of the source is Zixi, the port must be set to 2088.

mediaStreamSourceConfigurations

Array of type MediaStreamSourceConfiguration

False

The media stream that is associated with the source, and the parameters for that association.

name

string

True

The name of the source.

senderControlPort

integer

Format: int32

False

The port that the flow uses to send outbound requests to initiate connection with the sender.

senderIpAddress

string

False

The IP address that the flow communicates with to initiate connection with the sender.

sourceArn

string

True

The ARN of the source.

transport

Transport

False

Attributes that are related to the transport stream.

vpcInterfaceName

string

False

The name of the VPC interface that the source content comes from.

whitelistCidr

string

False

The range of IP addresses that are allowed to contribute content to your source. Format the IP addresses as a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.

Transport

Attributes that are related to the transport stream.

PropertyTypeRequiredDescription
cidrAllowList

Array of type string

False

The range of IP addresses that are allowed to initiate output requests to this flow. Format the IP addresses as a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.

maxBitrate

integer

Format: int64

False

The maximum bitrate for RIST, RTP, and RTP-FEC streams.

maxLatency

integer

Format: int64

False

The maximum latency in milliseconds for a RIST source, a Zixi-based source, or a Zixi-based output.

maxSyncBuffer

integer

Format: int32

False

The size of the buffer (in milliseconds) to use to sync incoming source data.

minLatency

integer

Format: int64

False

The minimum latency in milliseconds for SRT-based streams. In streams that use the SRT protocol, this value that you set on your MediaConnect source or output represents the minimal potential latency of that connection. The latency of the stream is set to the highest number between the sender’s minimum latency and the receiver’s minimum latency.

protocol

string

Values: zixi-push | rtp-fec | rtp | zixi-pull | rist | st2110-jpegxs | cdi | srt-listener | srt-caller | udp

True

The protocol that is used by the source or output.

remoteId

string

False

The identifier that is assigned to the Zixi receiver. This parameter applies only to outputs that use Zixi pull.

senderControlPort

integer

Format: int32

False

The port that the flow uses to send outbound requests to initiate connection with the sender.

senderIpAddress

string

False

The IP address that the flow communicates with to initiate connection with the sender.

smoothingLatency

integer

Format: int64

False

The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.

sourceListenerAddress

string

False

Source IP or domain name for SRT-caller protocol.

sourceListenerPort

integer

False

Source port for SRT-caller protocol.

streamId

string

False

The stream ID that you want to use for this transport. This parameter applies only to Zixi and SRT caller-based streams.

VpcInterfaceAttachment

The VPC interface that you want to send your output to.

PropertyTypeRequiredDescription
vpcInterfaceName

string

False

The name of the VPC interface that you want to send your output to.

See also

For more information about using this API in one of the language-specific AWS SDKs and references, see the following:

AddFlowSources