Skip to content
v2.274.0

Experimental

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

FailoverCondition Class ​

A condition that, when met on the active input, triggers automatic input failover to the secondary input.

Create conditions with the static factory methods.

Example ​

ts
declare const stack: Stack;
declare const primaryInput: medialive.IInput;
declare const secondaryInput: medialive.IInput;
declare const audioSelector: medialive.AudioSelector;
declare const video: medialive.EncodeConfiguration;
declare const audio: medialive.EncodeConfiguration;
declare const bucket: s3.IBucket;

new medialive.Channel(stack, 'Channel', {
  inputs: [{
    input: primaryInput,
    automaticInputFailover: {
      secondaryInput,
      inputPreference: medialive.InputPreference.PRIMARY_INPUT_PREFERRED,
      errorClearTime: Duration.seconds(3),
      failoverConditions: [
        medialive.FailoverCondition.inputLoss({ threshold: Duration.millis(1500) }),
        medialive.FailoverCondition.audioSilence({ audioSelector, threshold: Duration.seconds(2) }),
        medialive.FailoverCondition.videoBlack({ blackDetectThreshold: 0.1, threshold: Duration.seconds(1) }),
      ],
    },
  }, {
    // The secondary input must also be attached to the channel as its own input.
    input: secondaryInput,
  }],
  outputGroups: [
    medialive.OutputGroupConfiguration.hls({
      name: 'hls',
      destinations: [medialive.OutputDestination.toBucket(bucket, 'live/stream')],
      outputs: [{ encodes: [video, audio], outputName: 'hls_out' }],
    }),
  ],
});

Initializer ​

ts
new FailoverCondition()
python
FailoverCondition()
java
new FailoverCondition()
csharp
new FailoverCondition()
go
NewFailoverCondition()

Methods ​

audioSilence(props: AudioSilenceFailoverProps): FailoverCondition // chainable@staticmethod def audio_silence(props: AudioSilenceFailoverProps) -> FailoverConditionpublic static FailoverCondition audioSilence(AudioSilenceFailoverProps props)public static FailoverCondition AudioSilence(AudioSilenceFailoverProps props)func AudioSilence(Props AudioSilenceFailoverProps) FailoverConditionstatic#
Fail over when the monitored audio selector is silent for the threshold period.
inputLoss(props?: InputLossFailoverProps): FailoverCondition // chainable@staticmethod def input_loss(props: typing.Optional[InputLossFailoverProps] = None) -> FailoverConditionpublic static FailoverCondition inputLoss(InputLossFailoverProps props)public static FailoverCondition InputLoss(InputLossFailoverProps? props = null)func InputLoss(Props InputLossFailoverProps) FailoverConditionstatic#
Fail over when no input is detected for the threshold period.
videoBlack(props?: VideoBlackFailoverProps): FailoverCondition // chainable@staticmethod def video_black(props: typing.Optional[VideoBlackFailoverProps] = None) -> FailoverConditionpublic static FailoverCondition videoBlack(VideoBlackFailoverProps props)public static FailoverCondition VideoBlack(VideoBlackFailoverProps? props = null)func VideoBlack(Props VideoBlackFailoverProps) FailoverConditionstatic#
Fail over when the content is black for the threshold period.