MediaConnect / Client / add_flow_outputs

add_flow_outputs#

MediaConnect.Client.add_flow_outputs(**kwargs)#

Adds outputs to an existing flow. You can create up to 50 outputs per flow.

See also: AWS API Documentation

Request Syntax

response = client.add_flow_outputs(
    FlowArn='string',
    Outputs=[
        {
            'CidrAllowList': [
                'string',
            ],
            'Description': 'string',
            'Destination': 'string',
            'Encryption': {
                'Algorithm': 'aes128'|'aes192'|'aes256',
                'ConstantInitializationVector': 'string',
                'DeviceId': 'string',
                'KeyType': 'speke'|'static-key'|'srt-password',
                'Region': 'string',
                'ResourceId': 'string',
                'RoleArn': 'string',
                'SecretArn': 'string',
                'Url': 'string'
            },
            'MaxLatency': 123,
            'MediaStreamOutputConfigurations': [
                {
                    'DestinationConfigurations': [
                        {
                            'DestinationIp': 'string',
                            'DestinationPort': 123,
                            'Interface': {
                                'Name': 'string'
                            }
                        },
                    ],
                    'EncodingName': 'jxsv'|'raw'|'smpte291'|'pcm',
                    'EncodingParameters': {
                        'CompressionFactor': 123.0,
                        'EncoderProfile': 'main'|'high'
                    },
                    'MediaStreamName': 'string'
                },
            ],
            'MinLatency': 123,
            'Name': 'string',
            'Port': 123,
            'Protocol': 'zixi-push'|'rtp-fec'|'rtp'|'zixi-pull'|'rist'|'st2110-jpegxs'|'cdi'|'srt-listener'|'srt-caller'|'fujitsu-qos'|'udp',
            'RemoteId': 'string',
            'SenderControlPort': 123,
            'SmoothingLatency': 123,
            'StreamId': 'string',
            'VpcInterfaceAttachment': {
                'VpcInterfaceName': 'string'
            }
        },
    ]
)
Parameters:
  • FlowArn (string) – [REQUIRED] The flow that you want to add outputs to.

  • Outputs (list) –

    [REQUIRED] A list of outputs that you want to add.

    • (dict) – The output that you want to add to this flow.

      • CidrAllowList (list) – The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.

        • (string) –

      • Description (string) – A description of the output. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the end user.

      • Destination (string) – The IP address from which video will be sent to output destinations.

      • Encryption (dict) – The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key). Allowable encryption types: static-key.

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

        • ConstantInitializationVector (string) – 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) – 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) – The type of key that is used for the encryption. If no keyType is provided, the service will use the default setting (static-key).

        • Region (string) – 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) – 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) – [REQUIRED] The ARN of the role that you created during setup (when you set up AWS Elemental MediaConnect as a trusted entity).

        • SecretArn (string) – The ARN of the secret that you created in AWS Secrets Manager to store the encryption key. This parameter is required for static key encryption and is not valid for SPEKE encryption.

        • Url (string) – 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.

      • MaxLatency (integer) – The maximum latency in milliseconds. This parameter applies only to RIST-based, Zixi-based, and Fujitsu-based streams.

      • MediaStreamOutputConfigurations (list) – The media streams that are associated with the output, and the parameters for those associations.

        • (dict) – The media stream that you want to associate with the output, and the parameters for that association.

          • DestinationConfigurations (list) – The transport parameters that you want to associate with the media stream.

            • (dict) – The transport parameters that you want to associate with an outbound media stream.

              • DestinationIp (string) – [REQUIRED] The IP address where you want MediaConnect to send contents of the media stream.

              • DestinationPort (integer) – [REQUIRED] The port that you want MediaConnect to use when it distributes the media stream to the output.

              • Interface (dict) – [REQUIRED] The VPC interface that you want to use for the media stream associated with the output.

                • Name (string) – [REQUIRED] The name of the VPC interface.

          • EncodingName (string) – [REQUIRED] The format that will be 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.

          • EncodingParameters (dict) – A collection of parameters that determine how MediaConnect will convert the content. These fields only apply to outputs on flows that have a CDI source.

            • CompressionFactor (float) – [REQUIRED] A value that is used to calculate compression for an output. The bitrate of the output is calculated as follows: Output bitrate = (1 / compressionFactor) * (source bitrate) This property only applies to outputs that use the ST 2110 JPEG XS protocol, with a flow source that uses the CDI protocol. Valid values are floating point numbers in the range of 3.0 to 10.0, inclusive.

            • EncoderProfile (string) – [REQUIRED] A setting on the encoder that drives compression settings. This property only applies to video media streams associated with outputs that use the ST 2110 JPEG XS protocol, if at least one source on the flow uses the CDI protocol.

          • MediaStreamName (string) – [REQUIRED] The name of the media stream that is associated with the output.

      • MinLatency (integer) – 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) – The name of the output. This value must be unique within the current flow.

      • Port (integer) – The port to use when content is distributed to this output.

      • Protocol (string) – [REQUIRED] The protocol to use for the output.

      • RemoteId (string) – The remote ID for the Zixi-pull output stream.

      • SenderControlPort (integer) – The port that the flow uses to send outbound requests to initiate connection with the sender.

      • SmoothingLatency (integer) – The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.

      • StreamId (string) – The stream ID that you want to use for this transport. This parameter applies only to Zixi and SRT caller-based streams.

      • VpcInterfaceAttachment (dict) – The name of the VPC interface attachment to use for this output.

        • VpcInterfaceName (string) – The name of the VPC interface to use for this resource.

Return type:

dict

Returns:

Response Syntax

{
    'FlowArn': 'string',
    'Outputs': [
        {
            'DataTransferSubscriberFeePercent': 123,
            'Description': 'string',
            'Destination': 'string',
            'Encryption': {
                'Algorithm': 'aes128'|'aes192'|'aes256',
                'ConstantInitializationVector': 'string',
                'DeviceId': 'string',
                'KeyType': 'speke'|'static-key'|'srt-password',
                'Region': 'string',
                'ResourceId': 'string',
                'RoleArn': 'string',
                'SecretArn': 'string',
                'Url': 'string'
            },
            'EntitlementArn': 'string',
            'ListenerAddress': 'string',
            'MediaLiveInputArn': 'string',
            'MediaStreamOutputConfigurations': [
                {
                    'DestinationConfigurations': [
                        {
                            'DestinationIp': 'string',
                            'DestinationPort': 123,
                            'Interface': {
                                'Name': 'string'
                            },
                            'OutboundIp': 'string'
                        },
                    ],
                    'EncodingName': 'jxsv'|'raw'|'smpte291'|'pcm',
                    'EncodingParameters': {
                        'CompressionFactor': 123.0,
                        'EncoderProfile': 'main'|'high'
                    },
                    'MediaStreamName': 'string'
                },
            ],
            'Name': 'string',
            'OutputArn': 'string',
            'Port': 123,
            'Transport': {
                'CidrAllowList': [
                    'string',
                ],
                'MaxBitrate': 123,
                'MaxLatency': 123,
                'MaxSyncBuffer': 123,
                'MinLatency': 123,
                'Protocol': 'zixi-push'|'rtp-fec'|'rtp'|'zixi-pull'|'rist'|'st2110-jpegxs'|'cdi'|'srt-listener'|'srt-caller'|'fujitsu-qos'|'udp',
                'RemoteId': 'string',
                'SenderControlPort': 123,
                'SenderIpAddress': 'string',
                'SmoothingLatency': 123,
                'SourceListenerAddress': 'string',
                'SourceListenerPort': 123,
                'StreamId': 'string'
            },
            'VpcInterfaceAttachment': {
                'VpcInterfaceName': 'string'
            },
            'BridgeArn': 'string',
            'BridgePorts': [
                123,
            ]
        },
    ]
}

Response Structure

  • (dict) – AWS Elemental MediaConnect added the outputs successfully.

    • FlowArn (string) – The ARN of the flow that these outputs were added to.

    • Outputs (list) – The details of the newly added outputs.

      • (dict) – The settings for an output.

        • DataTransferSubscriberFeePercent (integer) – Percentage from 0-100 of the data transfer cost to be billed to the subscriber.

        • Description (string) – A description of the output.

        • Destination (string) – The address where you want to send the output.

        • Encryption (dict) – The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key).

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

          • ConstantInitializationVector (string) – 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) – 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) – The type of key that is used for the encryption. If no keyType is provided, the service will use the default setting (static-key).

          • Region (string) – 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) – 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) – The ARN of the role that you created during setup (when you set up AWS Elemental MediaConnect as a trusted entity).

          • SecretArn (string) – The ARN of the secret that you created in AWS Secrets Manager to store the encryption key. This parameter is required for static key encryption and is not valid for SPEKE encryption.

          • Url (string) – 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.

        • EntitlementArn (string) – The ARN of the entitlement on the originator’’s flow. This value is relevant only on entitled flows.

        • ListenerAddress (string) – The IP address that the receiver requires in order to establish a connection with the flow. For public networking, the ListenerAddress is represented by the elastic IP address of the flow. For private networking, the ListenerAddress is represented by the elastic network interface IP address of the VPC. This field applies only to outputs that use the Zixi pull or SRT listener protocol.

        • MediaLiveInputArn (string) – The input ARN of the AWS Elemental MediaLive channel. This parameter is relevant only for outputs that were added by creating a MediaLive input.

        • MediaStreamOutputConfigurations (list) – The configuration for each media stream that is associated with the output.

          • (dict) – The media stream that is associated with the output, and the parameters for that association.

            • DestinationConfigurations (list) – The transport parameters that are associated with each outbound media stream.

              • (dict) – The transport parameters that are associated with an outbound media stream.

                • DestinationIp (string) – The IP address where contents of the media stream will be sent.

                • DestinationPort (integer) – The port to use when the content of the media stream is distributed to the output.

                • Interface (dict) – The VPC interface that is used for the media stream associated with the output.

                  • Name (string) – The name of the VPC interface.

                • OutboundIp (string) – The IP address that the receiver requires in order to establish a connection with the flow. This value is represented by the elastic network interface IP address of the VPC. This field applies only to outputs that use the CDI or ST 2110 JPEG XS protocol.

            • EncodingName (string) – 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.

            • EncodingParameters (dict) – Encoding parameters

              • CompressionFactor (float) – A value that is used to calculate compression for an output. The bitrate of the output is calculated as follows: Output bitrate = (1 / compressionFactor) * (source bitrate) This property only applies to outputs that use the ST 2110 JPEG XS protocol, with a flow source that uses the CDI protocol. Valid values are floating point numbers in the range of 3.0 to 10.0, inclusive.

              • EncoderProfile (string) – A setting on the encoder that drives compression settings. This property only applies to video media streams associated with outputs that use the ST 2110 JPEG XS protocol, with a flow source that uses the CDI protocol.

            • MediaStreamName (string) – The name of the media stream.

        • Name (string) – The name of the output. This value must be unique within the current flow.

        • OutputArn (string) – The ARN of the output.

        • Port (integer) – The port to use when content is distributed to this output.

        • Transport (dict) – Attributes related to the transport stream that are used in the output.

          • CidrAllowList (list) – The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16.

            • (string) –

          • MaxBitrate (integer) – The smoothing max bitrate (in bps) for RIST, RTP, and RTP-FEC streams.

          • MaxLatency (integer) – The maximum latency in milliseconds. This parameter applies only to RIST-based, Zixi-based, and Fujitsu-based streams.

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

          • MinLatency (integer) – 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) – The protocol that is used by the source or output.

          • RemoteId (string) – The remote ID for the Zixi-pull stream.

          • SenderControlPort (integer) – The port that the flow uses to send outbound requests to initiate connection with the sender.

          • SenderIpAddress (string) – The IP address that the flow communicates with to initiate connection with the sender.

          • SmoothingLatency (integer) – The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.

          • SourceListenerAddress (string) – Source IP or domain name for SRT-caller protocol.

          • SourceListenerPort (integer) – Source port for SRT-caller protocol.

          • StreamId (string) – The stream ID that you want to use for this transport. This parameter applies only to Zixi and SRT caller-based streams.

        • VpcInterfaceAttachment (dict) – The name of the VPC interface attachment to use for this output.

          • VpcInterfaceName (string) – The name of the VPC interface to use for this resource.

        • BridgeArn (string) – The ARN of the bridge that added this output.

        • BridgePorts (list) – The bridge output ports currently in use.

          • (integer) –

Exceptions

  • MediaConnect.Client.exceptions.AddFlowOutputs420Exception

  • MediaConnect.Client.exceptions.BadRequestException

  • MediaConnect.Client.exceptions.InternalServerErrorException

  • MediaConnect.Client.exceptions.ForbiddenException

  • MediaConnect.Client.exceptions.NotFoundException

  • MediaConnect.Client.exceptions.ServiceUnavailableException

  • MediaConnect.Client.exceptions.TooManyRequestsException