WAND wiki
최근 문서

검색 결과가 없습니다. 모델명이나 다른 키워드로 검색해 보세요.

StreamLiveLast Updated 2026-09-30

StreamLive 채널 구성

On this page

StreamLive 채널에 입력 / 트랜스코딩 설정 / 출력 목적지를 연결한 뒤 시작합니다. 채널은 원본을 지정한 화질로 인코딩해 목적지로 전달합니다.

이 문서에서는 1080p30 입력 하나로 1080p30과 720p30 출력을 만들고, 두 출력을 StreamPackage로 전송합니다.

입력에서 StreamPackage 출력까지

시작 전 준비

  • 입력 구성을 완료하고 송출 장비에서 해당 입력으로 전송할 수 있어야 합니다.
  • StreamPackage 채널을 먼저 생성하고 채널 ID를 확인합니다. 재생 URL이나 입력 URL이 아니라 채널 ID가 필요합니다.
  • 출력은 H.264 영상과 AAC 오디오를 함께 포함하는 결합형 템플릿을 사용합니다. 템플릿의 개념은 트랜스코딩 템플릿을 참고합니다.
  • 채널 실행에는 과금이 발생합니다. 검증 종료 후 정지할 채널과 계속 운영할 채널을 구분합니다.

1. 채널과 입력 연결

  1. StreamLive 콘솔에서 작업 리전을 선택합니다.
  2. 채널 생성 화면에서 이름을 demo_channel로 입력합니다.
  3. 입력 추가 단계에서 준비한 입력을 선택합니다.
  4. 다중 오디오 입력은 사용할 트랙을 지정합니다. 기본 구성은 첫 번째 오디오 트랙입니다.

입력이 채널에 연결된 상태와 신호가 수신되는 상태는 다릅니다.

2. 출력 그룹과 목적지 설정

출력 그룹은 같은 전송 방식과 목적지를 사용하는 출력 묶음입니다. 출력은 실제로 내보낼 개별 화질입니다.

설정 이 예제의 값 의미
출력 그룹 이름 demoPackage 출력 묶음을 구분하는 이름
출력 그룹 유형 HLS_STREAM_PACKAGE 현재 계정의 StreamPackage로 HLS 전송
목적지 생성한 StreamPackage 채널 ID 스트림을 수신할 채널
출력 1 output1080p 1920×1080, 30fps
출력 2 output720p 1280×720, 30fps

일반 HLS 출력 유형은 목적지 URL에 HTTP PUT으로 전송합니다. HLS_STREAM_PACKAGE 유형은 StreamPackage 채널 ID를 지정합니다.

3. 화질별 트랜스코딩 설정

각 출력의 Transcoding Setting에서 영상과 오디오가 포함된 결합형 템플릿을 설정합니다.

설정 1080p 출력 720p 출력
템플릿 이름 demo1080p demo720p
영상 코덱 H.264 H.264
해상도 1920×1080 1280×720
프레임레이트 30fps 30fps
영상 비트레이트 4Mbps 2Mbps
비트레이트 제어 ABR ABR
오디오 AAC, 128kbps, 48kHz AAC, 128kbps, 48kHz

비트레이트는 예제값입니다. 움직임이 많은 원본과 정적인 원본은 필요한 비트레이트가 다르므로 실제 콘텐츠로 검증합니다. 한 채널 내 모든 출력 그룹과 출력의 프레임레이트 설정은 동일하게 맞춥니다.

이 예제는 출력 하나에 결합형 템플릿 하나를 연결합니다. 별도 영상 / 오디오 템플릿을 사용하는 분리형 구성은 다중 오디오 트랙 등에 사용할 수 있습니다.

4. HLS 설정

설정 예제값 확인 사항
Segment Duration 4초 API SegmentDuration에는 밀리초 단위인 4000 입력
Segment Number 5 출력 플레이리스트에 유지할 세그먼트 개수
Scheme MERGE 영상과 오디오를 합친 세그먼트
Segment Type ts MPEG-TS 세그먼트
PDT Insertion 활성화 프로그램 시각 태그 삽입
PDT Duration 600초 PDT 태그 삽입 간격. 저장 기간이나 타임시프트 범위가 아님

약 4초인 세그먼트 5개는 약 20초 분량의 목록에 해당합니다. 인코딩 / 전송 / CDN 캐시 / 플레이어 버퍼가 추가로 영향을 줍니다.

저지연 HLS / fMP4 / DRM은 출력 유형 / 코덱 / 패키저 / 플레이어 조합에 맞춰 추가 설정합니다.

5. 저장 / 시작 / 재생 확인

  1. 설정을 확인한 뒤 Confirm과 Done으로 저장합니다.
  2. 대상 채널의 Start를 선택합니다.
  3. 송출 측에서 입력 신호를 전송하고 채널 상태와 입력 모니터링을 확인합니다.
  4. StreamPackage의 Output Endpoint에서 재생 URL을 확인합니다.
  5. 마스터 플레이리스트에 두 화질이 있는지, 각 미디어 플레이리스트가 갱신되는지 확인합니다.
  6. 플레이어에서 두 화질을 각각 재생하고 영상 / 오디오 / 화질 전환을 확인합니다.

채널 시작 후 입력 수신 → 인코딩 출력 → 패키저 수신 → CDN 응답 → 플레이어 재생 순서로 확인합니다.

API로 동일 구성 생성

다음 JSON을 channel.json으로 저장하고 REPLACE_INPUT_ID와 REPLACE_PACKAGE_CHANNEL_ID를 실제 값으로 바꿉니다.

LANGUAGE
{
  "Name": "demo_channel",
  "AttachedInputs": [
    {
      "Id": "REPLACE_INPUT_ID"
    }
  ],
  "AVTemplates": [
    {
      "Name": "demo1080p",
      "NeedVideo": 1,
      "NeedAudio": 1,
      "Vcodec": "H264",
      "Width": 1920,
      "Height": 1080,
      "Fps": 30,
      "VideoBitrate": 4000000,
      "RateControlMode": "ABR",
      "Acodec": "AAC",
      "AudioBitrate": 128000,
      "AudioSampleRate": 48000,
      "FrameRateType": "SPECIFIED_HZ"
    },
    {
      "Name": "demo720p",
      "NeedVideo": 1,
      "NeedAudio": 1,
      "Vcodec": "H264",
      "Width": 1280,
      "Height": 720,
      "Fps": 30,
      "VideoBitrate": 2000000,
      "RateControlMode": "ABR",
      "Acodec": "AAC",
      "AudioBitrate": 128000,
      "AudioSampleRate": 48000,
      "FrameRateType": "SPECIFIED_HZ"
    }
  ],
  "OutputGroups": [
    {
      "Name": "demoPackage",
      "Type": "HLS_STREAM_PACKAGE",
      "Outputs": [
        {
          "Name": "output1080p",
          "AVTemplateNames": [
            "demo1080p"
          ]
        },
        {
          "Name": "output720p",
          "AVTemplateNames": [
            "demo720p"
          ]
        }
      ],
      "HlsRemuxSettings": {
        "SegmentDuration": 4000,
        "SegmentNumber": 5,
        "PdtInsertion": "OPEN",
        "PdtDuration": 600,
        "Scheme": "MERGE",
        "SegmentType": "ts"
      },
      "StreamPackageSettings": {
        "Id": "REPLACE_PACKAGE_CHANNEL_ID"
      }
    }
  ]
}

TCCLI 인증과 리전을 설정한 환경에서 실행합니다. 이 명령은 새 채널을 생성합니다.

LANGUAGE
tccli mdl CreateStreamLiveChannel --region ap-seoul --cli-input-json file://channel.json

생성 응답에서 채널 ID를 확인한 다음 조회 / 시작합니다.

LANGUAGE
tccli mdl DescribeStreamLiveChannel --region ap-seoul --Id REPLACE_CHANNEL_ID
tccli mdl StartStreamLiveChannel --region ap-seoul --Id REPLACE_CHANNEL_ID

변경과 종료

정지가 필요한 변경은 점검 시간 또는 예비 경로를 준비한 뒤 IDLE 상태에서 적용합니다. 테스트 후 대상 ID를 확인해 채널을 정지합니다.

LANGUAGE
tccli mdl StopStreamLiveChannel --region ap-seoul --Id REPLACE_CHANNEL_ID

StreamLink 전송, StreamPackage 저장 기능, CDN 사용도 각각 정리합니다.

참고 문서