AutomaticInputFailover

class aws_cdk.aws_medialive_alpha.AutomaticInputFailover(*, secondary_input, error_clear_time=None, failover_conditions=None, input_preference=None)

Bases: object

(experimental) Automatic input failover configuration for an input attachment.

When the active (primary) input meets any of the failover conditions, MediaLive switches to the secondary input without restarting the channel. This is input-source redundancy, distinct from the pipeline redundancy provided by ChannelClass.STANDARD.

Parameters:
  • secondary_input (IInput) – (experimental) The secondary input to fail over to. Must be the same input class as the primary input. [disable-awslint:prefer-ref-interface]

  • error_clear_time (Optional[Duration]) – (experimental) How long a recovered input must remain free of failover conditions before it is considered healthy. Particularly relevant with InputPreference.PRIMARY_INPUT_PREFERRED. Default: - MediaLive service default

  • failover_conditions (Optional[Sequence[FailoverCondition]]) – (experimental) The conditions that trigger failover to the secondary input. Default: - a single input-loss condition with the MediaLive service default threshold

  • input_preference (Optional[InputPreference]) – (experimental) Which input to prefer once a failed input has recovered. Default: - EQUAL_INPUT_PREFERENCE, applied by MediaLive

See:

https://docs.aws.amazon.com/medialive/latest/ug/feature-automatic-input-failover.html

Stability:

experimental

ExampleMetadata:

infused

Example:

# stack: Stack
# primary_input: medialive.IInput
# secondary_input: medialive.IInput
# audio_selector: medialive.AudioSelector
# video: medialive.EncodeConfiguration
# audio: medialive.EncodeConfiguration
# bucket: s3.IBucket


medialive.Channel(stack, "Channel",
    inputs=[medialive.InputAttachment(
        input=primary_input,
        automatic_input_failover=medialive.AutomaticInputFailover(
            secondary_input=secondary_input,
            input_preference=medialive.InputPreference.PRIMARY_INPUT_PREFERRED,
            error_clear_time=Duration.seconds(3),
            failover_conditions=[
                medialive.FailoverCondition.input_loss(threshold=Duration.millis(1500)),
                medialive.FailoverCondition.audio_silence(audio_selector=audio_selector, threshold=Duration.seconds(2)),
                medialive.FailoverCondition.video_black(black_detect_threshold=0.1, threshold=Duration.seconds(1))
            ]
        )
    ), medialive.InputAttachment(
        # The secondary input must also be attached to the channel as its own input.
        input=secondary_input
    )],
    output_groups=[
        medialive.OutputGroupConfiguration.hls(
            name="hls",
            destinations=[medialive.OutputDestination.to_bucket(bucket, "live/stream")],
            outputs=[medialive.HlsOutputDefinition(encodes=[video, audio], output_name="hls_out")]
        )
    ]
)

Attributes

error_clear_time

(experimental) How long a recovered input must remain free of failover conditions before it is considered healthy.

Particularly relevant with InputPreference.PRIMARY_INPUT_PREFERRED.

Default:
  • MediaLive service default

Stability:

experimental

failover_conditions

(experimental) The conditions that trigger failover to the secondary input.

Default:
  • a single input-loss condition with the MediaLive service default threshold

Stability:

experimental

input_preference

(experimental) Which input to prefer once a failed input has recovered.

Default:
  • EQUAL_INPUT_PREFERENCE, applied by MediaLive

Stability:

experimental

secondary_input

(experimental) The secondary input to fail over to. Must be the same input class as the primary input.

[disable-awslint:prefer-ref-interface]

Stability:

experimental