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'),
]);