Skip to content
v2.276.0

Experimental

@aws-cdk/aws-medialive-alpha is an experimental (alpha) package: its API may change in any release, without a major version bump.

InputConfiguration Class ​

Defines the input configuration for a MediaLive Input.

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

Example ​

ts
declare const stack: Stack;
declare const passphrase: secretsmanager.ISecret;

const sg = new medialive.InputSecurityGroup(stack, 'SrtSg', {
  allowlistRules: ['203.0.113.0/24'],
});

new medialive.Input(stack, 'SrtListenerInput', {
  inputName: 'srt-listener',
  input: medialive.InputConfiguration.srtListener({
    inputSecurityGroups: [sg],
    minimumLatency: Duration.millis(500),
    streamId: 'my-stream-id',
    decryption: {
      algorithm: medialive.SrtDecryptionAlgorithm.AES256,
      passphraseSecret: passphrase,
    },
  }),
});
python
# 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
        )
    )
)
java
Stack stack;
ISecret passphrase;


InputSecurityGroup sg = InputSecurityGroup.Builder.create(stack, "SrtSg")
        .allowlistRules(List.of("203.0.113.0/24"))
        .build();

Input.Builder.create(stack, "SrtListenerInput")
        .inputName("srt-listener")
        .input(InputConfiguration.srtListener(SrtListenerInputProps.builder()
                .inputSecurityGroups(List.of(sg))
                .minimumLatency(Duration.millis(500))
                .streamId("my-stream-id")
                .decryption(SrtDecryptionProps.builder()
                        .algorithm(SrtDecryptionAlgorithm.AES256)
                        .passphraseSecret(passphrase)
                        .build())
                .build()))
        .build();
csharp
// Install: dotnet add package Amazon.CDK.AWS.MediaLive.Alpha
Stack stack;
ISecret passphrase;


var sg = new InputSecurityGroup(stack, "SrtSg", new InputSecurityGroupProps {
    AllowlistRules = new [] { "203.0.113.0/24" }
});

new Input(stack, "SrtListenerInput", new InputProps {
    InputName = "srt-listener",
    Input = InputConfiguration.SrtListener(new SrtListenerInputProps {
        InputSecurityGroups = new [] { sg },
        MinimumLatency = Duration.Millis(500),
        StreamId = "my-stream-id",
        Decryption = new SrtDecryptionProps {
            Algorithm = SrtDecryptionAlgorithm.AES256,
            PassphraseSecret = passphrase
        }
    })
});
go
// Install: go get github.com/aws/aws-cdk-go/awsmedialivealpha/v2
var stack Stack
var passphrase ISecret


sg := medialive.NewInputSecurityGroup(stack, jsii.String("SrtSg"), &InputSecurityGroupProps{
	AllowlistRules: []*string{
		jsii.String("203.0.113.0/24"),
	},
})

medialive.NewInput(stack, jsii.String("SrtListenerInput"), &InputProps{
	InputName: jsii.String("srt-listener"),
	Input: medialive.InputConfiguration_SrtListener(&SrtListenerInputProps{
		InputSecurityGroups: []IInputSecurityGroupRef{
			sg,
		},
		MinimumLatency: awscdk.Duration_Millis(jsii.Number(500)),
		StreamId: jsii.String("my-stream-id"),
		Decryption: &SrtDecryptionProps{
			Algorithm: medialive.SrtDecryptionAlgorithm_AES256(),
			PassphraseSecret: passphrase,
		},
	}),
})

Methods ​

cdi(props: CdiInputProps): InputConfiguration // chainable@staticmethod def cdi(props: CdiInputProps) -> InputConfigurationpublic static InputConfiguration cdi(CdiInputProps props)public static InputConfiguration Cdi(CdiInputProps props)func Cdi(Props CdiInputProps) InputConfigurationstatic#
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.

inputDevice(props: InputDeviceInputProps): InputConfiguration // chainable@staticmethod def input_device(props: InputDeviceInputProps) -> InputConfigurationpublic static InputConfiguration inputDevice(InputDeviceInputProps props)public static InputConfiguration InputDevice(InputDeviceInputProps props)func InputDevice(Props InputDeviceInputProps) InputConfigurationstatic#
Create an Elemental Link input from one or two registered Link device IDs.
mediaConnect(props: MediaConnectInputProps): InputConfiguration // chainable@staticmethod def media_connect(props: MediaConnectInputProps) -> InputConfigurationpublic static InputConfiguration mediaConnect(MediaConnectInputProps props)public static InputConfiguration MediaConnect(MediaConnectInputProps props)func MediaConnect(Props MediaConnectInputProps) InputConfigurationstatic#
Create a MediaConnect flow input configuration.
example
ts
   declare const role: iam.IRole;
   declare const flow: mediaconnect.IFlowRef;

   InputConfiguration.mediaConnect({
     flows: [flow],
     role,
   });
mediaConnectRouter(props?: MediaConnectRouterInputProps): InputConfiguration // chainable@staticmethod def media_connect_router(props: typing.Optional[MediaConnectRouterInputProps] = None) -> InputConfigurationpublic static InputConfiguration mediaConnectRouter(MediaConnectRouterInputProps props)public static InputConfiguration MediaConnectRouter(MediaConnectRouterInputProps? props = null)func MediaConnectRouter(Props MediaConnectRouterInputProps) InputConfigurationstatic#
Create a MediaConnect router input configuration.
example
ts
   // Redundant pipelines with explicit AZs
   InputConfiguration.mediaConnectRouter({
     availabilityZones: ['us-east-1a', 'us-east-1b'],
   });
mp4File(sources: InputSource[]): InputConfiguration // chainable@staticmethod def mp4_file(sources: typing.List[InputSource]) -> InputConfigurationpublic static InputConfiguration mp4File(List<InputSource> sources)public static InputConfiguration Mp4File(InputSource[] sources)func Mp4File(Sources *[]InputSource) InputConfigurationstatic#
Create an MP4 file pull input.
multicast(props: MulticastInputProps): InputConfiguration // chainable@staticmethod def multicast(props: MulticastInputProps) -> InputConfigurationpublic static InputConfiguration multicast(MulticastInputProps props)public static InputConfiguration Multicast(MulticastInputProps props)func Multicast(Props MulticastInputProps) InputConfigurationstatic#
Create a multicast input.

Requires anywhereSettings on the channel.

rtmpPull(sources: InputSource[]): InputConfiguration // chainable@staticmethod def rtmp_pull(sources: typing.List[InputSource]) -> InputConfigurationpublic static InputConfiguration rtmpPull(List<InputSource> sources)public static InputConfiguration RtmpPull(InputSource[] sources)func RtmpPull(Sources *[]InputSource) InputConfigurationstatic#
Create an RTMP pull input.
rtmpPush(props: PushInputProps): InputConfiguration // chainable@staticmethod def rtmp_push(props: PushInputProps) -> InputConfigurationpublic static InputConfiguration rtmpPush(PushInputProps props)public static InputConfiguration RtmpPush(PushInputProps props)func RtmpPush(Props PushInputProps) InputConfigurationstatic#
Create an RTMP push input.
example
ts
   declare const securityGroup: InputSecurityGroup;

   InputConfiguration.rtmpPush({
     inputSecurityGroups: [securityGroup],
   });
rtpPush(props: PushInputProps): InputConfiguration // chainable@staticmethod def rtp_push(props: PushInputProps) -> InputConfigurationpublic static InputConfiguration rtpPush(PushInputProps props)public static InputConfiguration RtpPush(PushInputProps props)func RtpPush(Props PushInputProps) InputConfigurationstatic#
Create an RTP push input.
sdi(sources: ISdiSource[]): InputConfiguration // chainable@staticmethod def sdi(sources: typing.List[ISdiSource]) -> InputConfigurationpublic static InputConfiguration sdi(List<ISdiSource> sources)public static InputConfiguration Sdi(ISdiSource[] sources)func Sdi(Sources *[]ISdiSource) InputConfigurationstatic#
Create an SDI input configuration.
smpte2110ReceiverGroup(props: Smpte2110InputProps): InputConfiguration // chainable@staticmethod def smpte2110_receiver_group(props: Smpte2110InputProps) -> InputConfigurationpublic static InputConfiguration smpte2110ReceiverGroup(Smpte2110InputProps props)public static InputConfiguration Smpte2110ReceiverGroup(Smpte2110InputProps props)func Smpte2110ReceiverGroup(Props Smpte2110InputProps) InputConfigurationstatic#
Create a SMPTE 2110 receiver group input.

Requires anywhereSettings on the channel.

srtCaller(sources: SrtCallerSourceProps[]): InputConfiguration // chainable@staticmethod def srt_caller(sources: typing.List[SrtCallerSourceProps]) -> InputConfigurationpublic static InputConfiguration srtCaller(List<SrtCallerSourceProps> sources)public static InputConfiguration SrtCaller(SrtCallerSourceProps[] sources)func SrtCaller(Sources *[]SrtCallerSourceProps) InputConfigurationstatic#
Create an SRT caller input configuration.
example
ts
   InputConfiguration.srtCaller([{
     srtListenerAddress: '10.0.0.1',
     srtListenerPort: 5000,
   }]);
srtListener(props: SrtListenerInputProps): InputConfiguration // chainable@staticmethod def srt_listener(props: SrtListenerInputProps) -> InputConfigurationpublic static InputConfiguration srtListener(SrtListenerInputProps props)public static InputConfiguration SrtListener(SrtListenerInputProps props)func SrtListener(Props SrtListenerInputProps) InputConfigurationstatic#
Create an SRT listener input configuration.
tsFile(sources: InputSource[]): InputConfiguration // chainable@staticmethod def ts_file(sources: typing.List[InputSource]) -> InputConfigurationpublic static InputConfiguration tsFile(List<InputSource> sources)public static InputConfiguration TsFile(InputSource[] sources)func TsFile(Sources *[]InputSource) InputConfigurationstatic#
Create a TS file pull input.
udpPush(props: PushInputProps): InputConfiguration // chainable@staticmethod def udp_push(props: PushInputProps) -> InputConfigurationpublic static InputConfiguration udpPush(PushInputProps props)public static InputConfiguration UdpPush(PushInputProps props)func UdpPush(Props PushInputProps) InputConfigurationstatic#
Create a UDP push input.
urlPull(sources: InputSource[]): InputConfiguration // chainable@staticmethod def url_pull(sources: typing.List[InputSource]) -> InputConfigurationpublic static InputConfiguration urlPull(List<InputSource> sources)public static InputConfiguration UrlPull(InputSource[] sources)func UrlPull(Sources *[]InputSource) InputConfigurationstatic#
Create a URL pull input for HLS or TS streams.
example
ts
   InputConfiguration.urlPull([
     InputSource.url('https://example.com/stream.m3u8'),
   ]);