InputConfiguration

class aws_cdk.aws_medialive_alpha.InputConfiguration(*args: Any, **kwargs)

Bases: object

(experimental) Defines the input configuration for a MediaLive Input.

Use the static factory methods to create the appropriate configuration for your input type.

Stability:

experimental

ExampleMetadata:

infused

Example:

# stack: Stack
# passphrase: secretsmanager.ISecret


sg = medialive.InputSecurityGroup(stack, "SrtSg",
    allowlist_rules=["203.0.113.0/24"]
)

medialive.Input(stack, "SrtListenerInput",
    input_name="srt-listener",
    input=medialive.InputConfiguration.srt_listener(
        input_security_groups=[sg],
        minimum_latency=Duration.millis(500),
        stream_id="my-stream-id",
        decryption=medialive.SrtDecryptionProps(
            algorithm=medialive.SrtDecryptionAlgorithm.AES256,
            passphrase_secret=passphrase
        )
    )
)

Static Methods

classmethod cdi(*, subnets, role=None, security_groups=None)

(experimental) Create a CDI (uncompressed) input delivered into a VPC.

MediaLive creates network interfaces in the supplied subnets and hands back the CDI push endpoints. The required EC2 permissions are granted to the role automatically.

Parameters:
  • subnets (Sequence[ISubnetRef]) – (experimental) Two VPC subnets, in two different availability zones, for the CDI input network interfaces.

  • role (Optional[IRole]) – (experimental) The IAM role MediaLive assumes to create network interfaces in the VPC. When omitted, a role is created and granted the required permissions. When you provide a role, no permissions are added — you own all the permissions it needs. Default: - a role is created with the medialive.amazonaws.com service principal [disable-awslint:prefer-ref-interface]

  • security_groups (Optional[Sequence[ISecurityGroupRef]]) – (experimental) Security groups to attach to the CDI input network interfaces. Default: - VPC default security group

Stability:

experimental

Return type:

InputConfiguration

classmethod input_device(*, device_ids)

(experimental) Create an Elemental Link input from one or two registered Link device IDs.

Parameters:

device_ids (Sequence[str]) – (experimental) The IDs of one or two registered Elemental Link devices. Two provides pipeline redundancy.

Stability:

experimental

Return type:

InputConfiguration

classmethod media_connect(*, flows, role=None)

(experimental) Create a MediaConnect flow input configuration.

Parameters:
  • flows (Sequence[IFlowRef]) – (experimental) The MediaConnect flows to use as sources (one, or two for pipeline redundancy).

  • role (Optional[IRole]) – (experimental) The IAM role MediaLive uses to manage the output it adds to the flow for this input. When omitted, a role is created and granted the required permissions. When you provide a role, no permissions are added — you own all the permissions it needs. Default: - a role is created with the medialive.amazonaws.com service principal [disable-awslint:prefer-ref-interface]

Stability:

experimental

Return type:

InputConfiguration

Example:

# role: iam.IRole
# flow: mediaconnect.IFlowRef


InputConfiguration.media_connect(
    flows=[flow],
    role=role
)
classmethod media_connect_router(*, availability_zones=None, encryption_secret=None)

(experimental) Create a MediaConnect router input configuration.

Parameters:
  • availability_zones (Optional[Sequence[str]]) – (experimental) The availability zones for the router input pipelines. Provide one AZ for a single pipeline, or two for redundant pipelines. If omitted, defaults to the stack’s first availability zone (single pipeline). Default: - single pipeline using the stack’s first availability zone

  • encryption_secret (Optional[ISecret]) – (experimental) The Secrets Manager secret for custom encryption. If not provided, automatic encryption is used. Default: - automatic encryption

Stability:

experimental

Return type:

InputConfiguration

Example:

# Redundant pipelines with explicit AZs
InputConfiguration.media_connect_router(
    availability_zones=["us-east-1a", "us-east-1b"]
)
classmethod mp4_file(sources)

(experimental) Create an MP4 file pull input.

Parameters:

sources (Sequence[InputSource])

Stability:

experimental

Return type:

InputConfiguration

classmethod multicast(*, sources)

(experimental) Create a multicast input.

Requires anywhereSettings on the channel.

Parameters:

sources (Sequence[Union[MulticastInputSource, Dict[str, Any]]]) – (experimental) The multicast sources. Provide two for a STANDARD (redundant-pipeline) channel.

Stability:

experimental

Return type:

InputConfiguration

classmethod rtmp_pull(sources)

(experimental) Create an RTMP pull input.

Parameters:

sources (Sequence[InputSource])

Stability:

experimental

Return type:

InputConfiguration

classmethod rtmp_push(*, destinations=None, input_security_groups=None)

(experimental) Create an RTMP push input.

Parameters:
  • destinations (Optional[Sequence[Union[PushInputDestination, Dict[str, Any]]]]) – (experimental) The destinations for push inputs. For RTMP push, each destination can have a stream name. Default: - MediaLive auto-generates destinations

  • input_security_groups (Optional[Sequence[IInputSecurityGroupRef]]) – (experimental) The input security groups that control which CIDR blocks can push to this input. Required for cloud inputs; must be omitted for on-premises inputs (InputNetworkLocation.ON_PREMISES), which do not support security groups. Default: - none (only valid for on-premises inputs)

Stability:

experimental

Return type:

InputConfiguration

Example:

# security_group: InputSecurityGroup


InputConfiguration.rtmp_push(
    input_security_groups=[security_group]
)
classmethod rtp_push(*, destinations=None, input_security_groups=None)

(experimental) Create an RTP push input.

Parameters:
  • destinations (Optional[Sequence[Union[PushInputDestination, Dict[str, Any]]]]) – (experimental) The destinations for push inputs. For RTMP push, each destination can have a stream name. Default: - MediaLive auto-generates destinations

  • input_security_groups (Optional[Sequence[IInputSecurityGroupRef]]) – (experimental) The input security groups that control which CIDR blocks can push to this input. Required for cloud inputs; must be omitted for on-premises inputs (InputNetworkLocation.ON_PREMISES), which do not support security groups. Default: - none (only valid for on-premises inputs)

Stability:

experimental

Return type:

InputConfiguration

classmethod sdi(sources)

(experimental) Create an SDI input configuration.

Parameters:

sources (Sequence[ISdiSource])

Stability:

experimental

Return type:

InputConfiguration

classmethod smpte2110_receiver_group(*, ancillary_sdps=None, audio_sdps=None, video_sdp=None)

(experimental) Create a SMPTE 2110 receiver group input.

Requires anywhereSettings on the channel.

Parameters:
  • ancillary_sdps (Optional[Sequence[Union[Smpte2110SdpLocation, Dict[str, Any]]]]) – (experimental) The SDPs describing the ancillary data streams (SCTE-35 or captions). Up to 50. Default: - no ancillary data streams

  • audio_sdps (Optional[Sequence[Union[Smpte2110SdpLocation, Dict[str, Any]]]]) – (experimental) The SDPs describing the audio streams. Up to 50. Default: - no audio streams

  • video_sdp (Union[Smpte2110SdpLocation, Dict[str, Any], None]) – (experimental) The SDP describing the video stream. Default: - no video stream

Stability:

experimental

Return type:

InputConfiguration

classmethod srt_caller(sources)

(experimental) Create an SRT caller input configuration.

Parameters:

sources (Sequence[Union[SrtCallerSourceProps, Dict[str, Any]]])

Stability:

experimental

Return type:

InputConfiguration

Example:

InputConfiguration.srt_caller([
    srt_listener_address="10.0.0.1",
    srt_listener_port=5000
])
classmethod srt_listener(*, input_security_groups, decryption=None, input_class=None, minimum_latency=None, stream_id=None)

(experimental) Create an SRT listener input configuration.

Parameters:
  • input_security_groups (Sequence[IInputSecurityGroupRef]) – (experimental) The input security groups. Required for SRT listener inputs.

  • decryption (Union[SrtDecryptionProps, Dict[str, Any], None]) – (experimental) Decryption settings for the SRT connection. Default: - no decryption

  • input_class (Optional[ChannelClass]) – (experimental) Whether this is a STANDARD (two-pipeline) or SINGLE_PIPELINE input. A STANDARD input creates two listener endpoints for pipeline redundancy. Default: ChannelClass.SINGLE_PIPELINE

  • minimum_latency (Optional[Duration]) – (experimental) The minimum latency. Default: - service default

  • stream_id (Optional[str]) – (experimental) The stream ID that the upstream system uses when connecting to this listener. Default: - no stream ID

Stability:

experimental

Return type:

InputConfiguration

classmethod ts_file(sources)

(experimental) Create a TS file pull input.

Parameters:

sources (Sequence[InputSource])

Stability:

experimental

Return type:

InputConfiguration

classmethod udp_push(*, destinations=None, input_security_groups=None)

(experimental) Create a UDP push input.

Parameters:
  • destinations (Optional[Sequence[Union[PushInputDestination, Dict[str, Any]]]]) – (experimental) The destinations for push inputs. For RTMP push, each destination can have a stream name. Default: - MediaLive auto-generates destinations

  • input_security_groups (Optional[Sequence[IInputSecurityGroupRef]]) – (experimental) The input security groups that control which CIDR blocks can push to this input. Required for cloud inputs; must be omitted for on-premises inputs (InputNetworkLocation.ON_PREMISES), which do not support security groups. Default: - none (only valid for on-premises inputs)

Stability:

experimental

Return type:

InputConfiguration

classmethod url_pull(sources)

(experimental) Create a URL pull input for HLS or TS streams.

Parameters:

sources (Sequence[InputSource])

Stability:

experimental

Return type:

InputConfiguration

Example:

InputConfiguration.url_pull([
    InputSource.url("https://example.com/stream.m3u8")
])