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.)
Name | Type | Required | Description |
---|---|---|---|
flowArn | String | True | The Amazon Resource Name (ARN) of the flow. |
Status code | Response model | Description |
---|---|---|
201 | AddFlowSourcesResponse | MediaConnect created the new resource successfully. |
400 | ResponseError | The request that you submitted is not valid. |
403 | ResponseError | You don't have the required permissions to perform this operation. |
404 | ResponseError | MediaConnect did not find the resource that you specified in the request. |
429 | ResponseError | You have exceeded the service request rate limit for your MediaConnect account. |
500 | ResponseError | MediaConnect can't fulfill your request because it encountered an unexpected condition. |
503 | ResponseError | 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.
Property | Type | Required | Description |
---|---|---|---|
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.
Property | Type | Required | Description |
---|---|---|---|
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.
Property | Type | Required | Description |
---|---|---|---|
algorithm | string Values: | 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: | False | The type of key that is used for the encryption. If you don't specify a
|
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.
Property | Type | Required | Description |
---|---|---|---|
bridgeArn | string | True | The ARN of the bridge feeding this flow. |
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.
Property | Type | Required | Description |
---|---|---|---|
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 | 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.
Property | Type | Required | Description |
---|---|---|---|
inputPort | integer Format: int32 | True | The port that you want the flow to listen on for an incoming media stream. |
interface | 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.
Property | Type | Required | Description |
---|---|---|---|
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.
Property | Type | Required | Description |
---|---|---|---|
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.
Property | Type | Required | Description |
---|---|---|---|
encodingName | string Values: | True | The format that was used to encode the data. For ancillary data streams, set the encoding name to For audio streams, set the encoding name to For video, 2110 streams, set the encoding name to For video, JPEG XS streams, set the encoding name to |
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.
Property | Type | Required | Description |
---|---|---|---|
encodingName | string Values: | True | The format that was used to encode the data. For ancillary data streams, set the encoding name to For audio streams, set the encoding name to For video, 2110 streams, set the encoding name to For video, JPEG XS streams, set the encoding name to |
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.
Property | Type | Required | Description |
---|---|---|---|
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.
Property | Type | Required | Description |
---|---|---|---|
bridgeArn | string | True | The ARN of the bridge feeding this flow. |
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.
Property | Type | Required | Description |
---|---|---|---|
decryption | 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 | 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: | 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.
Property | Type | Required | Description |
---|---|---|---|
dataTransferSubscriberFeePercent | integer | False | The percentage of the entitlement data transfer fee that you want the subscriber to be responsible for. |
decryption | 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 | 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 | 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.
Property | Type | Required | Description |
---|---|---|---|
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: | 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.
Property | Type | Required | Description |
---|---|---|---|
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: