Resource: aws_medialive_channel

Terraform resource for managing an AWS MediaLive Channel.

Example Usage

Basic Usage

resource "aws_medialive_channel" "example" {
  name          = "example-channel"
  channel_class = "STANDARD"
  role_arn      = aws_iam_role.example.arn

  input_specification {
    codec            = "AVC"
    input_resolution = "HD"
    maximum_bitrate  = "MAX_20_MBPS"
  }

  input_attachments {
    input_attachment_name = "example-input"
    input_id              = aws_medialive_input.example.id

  }

  destinations {
    id = "destination"

    settings {
      url = "s3://${aws_s3_bucket.main.id}/test1"
    }

    settings {
      url = "s3://${aws_s3_bucket.main2.id}/test2"
    }
  }

  encoder_settings {
    timecode_config {
      source = "EMBEDDED"
    }

    audio_descriptions {
      audio_selector_name = "example audio selector"
      name                = "audio-selector"
    }

    video_descriptions {
      name = "example-video"
    }

    output_groups {
      output_group_settings {
        archive_group_settings {
          destination {
            destination_ref_id = "destination"
          }
        }
      }

      outputs {
        output_name             = "example-name"
        video_description_name  = "example-video"
        audio_description_names = ["audio-selector"]
        output_settings {
          archive_output_settings {
            name_modifier = "_1"
            extension     = "m2ts"
            container_settings {
              m2ts_settings {
                audio_buffer_model = "ATSC"
                buffer_model       = "MULTIPLEX"
                rate_mode          = "CBR"
              }
            }
          }
        }
      }
    }
  }
}

Argument Reference

The following arguments are required:

The following arguments are optional:

CDI Input Specification

Destinations

Encoder Settings

Input Attachments

Input Settings

Audio Selectors

Audio Selector Settings

Audio HLS Rendition Selection

Audio Language Selection

Audio PID Selection

Audio Track Selection

Audio Tracks

Dolby E Decode

Caption Selectors

Caption Selector Settings

Ancillary Source Settings

DVB Sub Source Settings

Embedded Source Settings

SCTE 20 Source Settings

SCTE 27 Source Settings

Teletext Source Settings

Caption Rectangle

Network Input Settings

HLS Input Settings

Automatic Input Failover Settings

Failover Condition Block

Failover Condition Settings

Audio Silence Failover Settings

Input Loss Failover Settings

Video Black Failover Settings

Maintenance

Media Package Settings

Multiplex Settings

Settings

Audio Descriptions

Audio Normalization Settings

Audio Watermark Settings

Audio Codec Settings

AAC Settings

AC3 Settings

EAC3 Atmos Settings

EAC3 Settings

Nielsen Watermark Settings

Nielsen CBET Settings

Nielsen NAES II NW Settings

Output Groups

Output Group Settings

Outputs

Timecode Config

Video Descriptions

Video Codec Settings

Frame Capture Settings

H264 Settings

H264 Filter Settings

H265 Settings

H265 Color Space Settings

H265 HDR10 Settings

H265 Filter Settings

H265 Timecode Burnin Settings

Temporal Filter Settings

Caption Descriptions

Destination Settings

Burn In Destination Settings

DVB Sub Destination Settings

EBU TT D Destination Settings

TTML Destination Settings

WebVTT Destination Settings

Font

Global Configuration

Input Loss Behavior

Motion Graphics Configuration

Motion Graphics Settings

Nielsen Configuration

Avail Blanking

Avail Blanking Image

Archive Group Settings

Media Package Group Settings

RTMP Group Settings

UDP Group Settings

Destination

Archive CDN Settings

Archive S3 Settings

Output Settings

Archive Output Settings

Multiplex Output Settings

RTMP Output Settings

Container Settings

UDP Output Settings

FEC Output Settings

VPC

Attribute Reference

This resource exports the following attributes in addition to the arguments above:

Timeouts

Configuration options:

Import

In Terraform v1.5.0 and later, use an import block to import MediaLive Channel using the channel_id. For example:

import {
  to = aws_medialive_channel.example
  id = "1234567"
}

Using terraform import, import MediaLive Channel using the channel_id. For example:

% terraform import aws_medialive_channel.example 1234567