java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
software.amazon.awscdk.Resource
software.amazon.awscdk.services.medialive.alpha.Channel
All Implemented Interfaces:
IEnvironmentAware, IChannelRef, IResource, IChannel, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.139.0 (build 26a6b54)", date="2026-09-02T11:03:40.964Z") @Stability(Experimental) public class Channel extends Resource implements IChannel
(experimental) Defines an AWS Elemental MediaLive Channel.

Example:

 Stack stack;
 IInput input;
 IBucket bucket;
 EncodeConfiguration video;
 Channel.Builder.create(stack, "Channel")
         .inputs(List.of(InputAttachment.builder()
                 .input(input)
                 .audioSelectors(List.of(AudioSelector.byLanguage("eng", "eng", AudioLanguageSelectionPolicy.STRICT)))
                 .captionSelectors(List.of(CaptionSelector.embedded("embedded")))
                 .videoSelector(VideoSelectorSettings.builder()
                         .colorSpace(VideoColorSpace.HDR10)
                         .colorSpaceUsage(VideoColorSpaceUsage.FORCE)
                         .selectBy(VideoSelection.byProgramId(1))
                         .build())
                 .build()))
         .outputGroups(List.of(OutputGroupConfiguration.hls(HlsOutputGroupProps.builder()
                 .name("hls")
                 .destinations(List.of(OutputDestination.toBucket(bucket, "live/stream")))
                 .outputs(List.of(HlsOutputDefinition.builder().encodes(List.of(video)).outputName("hls_out").build()))
                 .build())))
         .build();
 
  • Field Details

    • PROPERTY_INJECTION_ID

      @Stability(Experimental) public static final String PROPERTY_INJECTION_ID
      (experimental) Uniquely identifies this class.
  • Constructor Details

    • Channel

      protected Channel(software.amazon.jsii.JsiiObjectRef objRef)
    • Channel

      protected Channel(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • Channel

      @Stability(Experimental) public Channel(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull ChannelProps props)
      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      props - This parameter is required.
  • Method Details

    • fromChannelArn

      @Stability(Experimental) @NotNull public static IChannel fromChannelArn(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull String channelArn)
      (experimental) Import an existing channel by its ARN.

      The id is parsed out of the ARN.

      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      channelArn - This parameter is required.
    • addInput

      @Stability(Experimental) public void addInput(@NotNull InputAttachment attachment)
      (experimental) Attach an input to this channel.

      Parameters:
      attachment - This parameter is required.
    • addOutputGroup

      @Stability(Experimental) public void addOutputGroup(@NotNull OutputGroupConfiguration config)
      (experimental) Add an output group to this channel.

      Outputs are declared up front via the outputs prop on the group configuration.

      Parameters:
      config - This parameter is required.
    • metric

      @Stability(Experimental) @NotNull public Metric metric(@NotNull String metricName, @NotNull Pipeline pipeline, @Nullable MetricOptions props)
      (experimental) Create a CloudWatch metric for this channel scoped to a specific pipeline.

      Channel metrics are published per-pipeline. `STANDARD` channels run two redundant pipelines (`PIPELINE_0` and `PIPELINE_1`); to cover both, build a metric for each. `SINGLE_PIPELINE` channels only publish on `PIPELINE_0`. See the

      invalid @link
      {@link https://docs.aws.amazon.com/medialive/latest/ug/monitoring-eml-metrics.html
      MediaLive metrics docs} for the full set of metric names and recommended statistics.

      Specified by:
      metric in interface IChannel
      Parameters:
      metricName - This parameter is required.
      pipeline - This parameter is required.
      props -
    • metric

      @Stability(Experimental) @NotNull public Metric metric(@NotNull String metricName, @NotNull Pipeline pipeline)
      (experimental) Create a CloudWatch metric for this channel scoped to a specific pipeline.

      Channel metrics are published per-pipeline. `STANDARD` channels run two redundant pipelines (`PIPELINE_0` and `PIPELINE_1`); to cover both, build a metric for each. `SINGLE_PIPELINE` channels only publish on `PIPELINE_0`. See the

      invalid @link
      {@link https://docs.aws.amazon.com/medialive/latest/ug/monitoring-eml-metrics.html
      MediaLive metrics docs} for the full set of metric names and recommended statistics.

      Specified by:
      metric in interface IChannel
      Parameters:
      metricName - This parameter is required.
      pipeline - This parameter is required.
    • metricActiveAlerts

      @Stability(Experimental) @NotNull public Metric metricActiveAlerts(@NotNull Pipeline pipeline, @Nullable MetricOptions props)
      (experimental) Metric for the total number of active alerts on this channel.

      Specified by:
      metricActiveAlerts in interface IChannel
      Parameters:
      pipeline - This parameter is required.
      props -
    • metricActiveAlerts

      @Stability(Experimental) @NotNull public Metric metricActiveAlerts(@NotNull Pipeline pipeline)
      (experimental) Metric for the total number of active alerts on this channel.

      Specified by:
      metricActiveAlerts in interface IChannel
      Parameters:
      pipeline - This parameter is required.
    • metricDroppedFrames

      @Stability(Experimental) @NotNull public Metric metricDroppedFrames(@NotNull Pipeline pipeline, @Nullable MetricOptions props)
      (experimental) Metric for dropped frames.

      A non-zero value indicates the encoder cannot keep up with the incoming video in real time.

      Specified by:
      metricDroppedFrames in interface IChannel
      Parameters:
      pipeline - This parameter is required.
      props -
    • metricDroppedFrames

      @Stability(Experimental) @NotNull public Metric metricDroppedFrames(@NotNull Pipeline pipeline)
      (experimental) Metric for dropped frames.

      A non-zero value indicates the encoder cannot keep up with the incoming video in real time.

      Specified by:
      metricDroppedFrames in interface IChannel
      Parameters:
      pipeline - This parameter is required.
    • metricFillMsec

      @Stability(Experimental) @NotNull public Metric metricFillMsec(@NotNull Pipeline pipeline, @Nullable MetricOptions props)
      (experimental) Metric for fill milliseconds — the time MediaLive has filled the video output with fill frames because the input did not deliver content within the expected window.

      A non-zero value indicates an unhealthy input.

      Specified by:
      metricFillMsec in interface IChannel
      Parameters:
      pipeline - This parameter is required.
      props -
    • metricFillMsec

      @Stability(Experimental) @NotNull public Metric metricFillMsec(@NotNull Pipeline pipeline)
      (experimental) Metric for fill milliseconds — the time MediaLive has filled the video output with fill frames because the input did not deliver content within the expected window.

      A non-zero value indicates an unhealthy input.

      Specified by:
      metricFillMsec in interface IChannel
      Parameters:
      pipeline - This parameter is required.
    • metricInputLossSeconds

      @Stability(Experimental) @NotNull public Metric metricInputLossSeconds(@NotNull Pipeline pipeline, @Nullable MetricOptions props)
      (experimental) Metric for input loss seconds (RTP and MediaConnect inputs only).

      Specified by:
      metricInputLossSeconds in interface IChannel
      Parameters:
      pipeline - This parameter is required.
      props -
    • metricInputLossSeconds

      @Stability(Experimental) @NotNull public Metric metricInputLossSeconds(@NotNull Pipeline pipeline)
      (experimental) Metric for input loss seconds (RTP and MediaConnect inputs only).

      Specified by:
      metricInputLossSeconds in interface IChannel
      Parameters:
      pipeline - This parameter is required.
    • metricInputVideoFrameRate

      @Stability(Experimental) @NotNull public Metric metricInputVideoFrameRate(@NotNull Pipeline pipeline, @Nullable MetricOptions props)
      (experimental) Metric for the input video frame rate (frames per second).

      Specified by:
      metricInputVideoFrameRate in interface IChannel
      Parameters:
      pipeline - This parameter is required.
      props -
    • metricInputVideoFrameRate

      @Stability(Experimental) @NotNull public Metric metricInputVideoFrameRate(@NotNull Pipeline pipeline)
      (experimental) Metric for the input video frame rate (frames per second).

      Specified by:
      metricInputVideoFrameRate in interface IChannel
      Parameters:
      pipeline - This parameter is required.
    • metricNetworkIn

      @Stability(Experimental) @NotNull public Metric metricNetworkIn(@NotNull Pipeline pipeline, @Nullable MetricOptions props)
      (experimental) Metric for the rate of inbound network traffic to MediaLive in Mbps.

      Specified by:
      metricNetworkIn in interface IChannel
      Parameters:
      pipeline - This parameter is required.
      props -
    • metricNetworkIn

      @Stability(Experimental) @NotNull public Metric metricNetworkIn(@NotNull Pipeline pipeline)
      (experimental) Metric for the rate of inbound network traffic to MediaLive in Mbps.

      Specified by:
      metricNetworkIn in interface IChannel
      Parameters:
      pipeline - This parameter is required.
    • metricNetworkOut

      @Stability(Experimental) @NotNull public Metric metricNetworkOut(@NotNull Pipeline pipeline, @Nullable MetricOptions props)
      (experimental) Metric for the rate of outbound network traffic from MediaLive in Mbps.

      Specified by:
      metricNetworkOut in interface IChannel
      Parameters:
      pipeline - This parameter is required.
      props -
    • metricNetworkOut

      @Stability(Experimental) @NotNull public Metric metricNetworkOut(@NotNull Pipeline pipeline)
      (experimental) Metric for the rate of outbound network traffic from MediaLive in Mbps.

      Specified by:
      metricNetworkOut in interface IChannel
      Parameters:
      pipeline - This parameter is required.
    • metricSvqTime

      @Stability(Experimental) @NotNull public Metric metricSvqTime(@NotNull Pipeline pipeline, @Nullable MetricOptions props)
      (experimental) Metric for SVQ time (speed-vs-quality), expressed as a percent.

      Indicates the share of time MediaLive reduced quality optimisations to keep up with real-time output.

      Specified by:
      metricSvqTime in interface IChannel
      Parameters:
      pipeline - This parameter is required.
      props -
    • metricSvqTime

      @Stability(Experimental) @NotNull public Metric metricSvqTime(@NotNull Pipeline pipeline)
      (experimental) Metric for SVQ time (speed-vs-quality), expressed as a percent.

      Indicates the share of time MediaLive reduced quality optimisations to keep up with real-time output.

      Specified by:
      metricSvqTime in interface IChannel
      Parameters:
      pipeline - This parameter is required.
    • getChannelArn

      @Stability(Experimental) @NotNull public String getChannelArn()
      (experimental) The ARN of the channel.
      Specified by:
      getChannelArn in interface IChannel
    • getChannelId

      @Stability(Experimental) @NotNull public String getChannelId()
      (experimental) The ID of the channel.
      Specified by:
      getChannelId in interface IChannel
    • getChannelRef

      @Stability(Experimental) @NotNull public ChannelReference getChannelRef()
      (experimental) A reference to this Channel resource.
      Specified by:
      getChannelRef in interface IChannelRef
    • getGrants

      @Stability(Experimental) @NotNull public ChannelGrants getGrants()
      (experimental) Collection of grant methods for this channel — start, stop, and update its schedule.
      Specified by:
      getGrants in interface IChannel
    • getRole

      @Stability(Experimental) @NotNull public IRole getRole()
      (experimental) The IAM role used by this channel.
    • getChannelInputs

      @Stability(Experimental) @Nullable public List<String> getChannelInputs()
      (experimental) The IDs of the inputs attached to this channel.
      Specified by:
      getChannelInputs in interface IChannel