WAND wiki
최근 문서

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

Quick StartLast Updated 2026-09-30

3. StreamLink Flow 연결

On this page

StreamLink에서 인코더의 원본 신호를 수신하고, 앞 단계에서 만든 StreamLive 입력으로 전달합니다. 이 단계의 목표는 해상도 변환이 아니라 입력과 출력의 전송 연결입니다.

사전 준비

  • 2. StreamLive 입력과 채널을 완료합니다.
  • StreamLive RTMP 입력의 서버 주소와 Stream Key를 준비합니다.
  • 인코더의 공인 IP와 입력 접근 정책을 확인합니다.
  • StreamLive 보안 그룹에는 StreamLive에 실제 접속하는 StreamLink 출력 측 주소가 허용되어야 합니다. 인코더 IP만 허용하면 중계 구간에서 연결이 막힐 수 있습니다.
  • 이 가이드는 서울 리전과 RTMP 전송을 기준으로 합니다.

연결 구조

StreamLink에서 StreamLive, StreamPackage, CSS CDN으로 이어지는 전송 구조

주소 입력하는 곳 용도
StreamLink 입력 서버 주소와 키 원본 인코더 인코더가 StreamLink로 송출
StreamLive 입력 서버 주소와 키 StreamLink Output StreamLink가 StreamLive로 중계
StreamPackage 채널 ID StreamLive 출력 그룹 트랜스코딩 결과의 패키징 목적지
CSS 재생 URL 시청자 플레이어 패키징된 영상 재생

같은 RTMP를 사용하더라도 StreamLink 입력 주소와 StreamLive 입력 주소는 서로 다른 연결입니다.

1. Event와 Flow 선택

StreamLink 콘솔에서 작업할 Event를 선택한 뒤 Flow management → Create로 이동합니다. 신규 작업은 기존 서비스와 구분되는 Event 및 Flow 이름을 사용합니다.

설정 예시 확인 사항
Flow name demo_flow 전송 경로를 구분하는 이름
Region Seoul 원본과 수신 서비스의 위치
Max bandwidth 입력 비트레이트보다 여유 있게 선택 원본 비트레이트와 네트워크 여유

생성된 Flow에는 아직 입력과 출력 연결이 없을 수 있습니다. 다음 단계에서 두 연결을 구성합니다.

2. RTMP 입력 추가

  1. 대상 Flow에서 Add input을 선택합니다.
  2. 이름과 입력 리전 / 가용 영역을 지정합니다.
  3. 콘솔의 프로토콜 유형을 RTMP_PUSH로 선택합니다.
  4. 보안 그룹에서 원본 인코더의 공인 IP만 허용합니다.
  5. 저장한 뒤 생성된 입력 주소와 Stream Key를 확인합니다.

이 입력은 인코더가 접속하여 영상을 보내는 주소입니다. 입력 이중화는 두 송출 경로를 준비한 경우 별도로 구성합니다.

3. StreamLive로 보낼 출력 추가

  1. 같은 Flow에서 Add Output을 선택합니다.
  2. 출력 유형을 Pinpoint, 프로토콜을 RTMP_PUSH로 선택합니다.
  3. 출력 리전과 가용 영역을 확인합니다.
  4. Destination URL에 StreamLive RTMP 서버 주소를 입력합니다.
  5. Stream key에 StreamLive 입력의 Stream Key를 별도로 입력하고 저장합니다.
StreamLive 입력 정보 StreamLink 출력 필드
서버 주소: rtmp://YOUR_STREAMLIVE_HOST/demo Destination URL
스트림 이름: demo_stream Stream key

실제 콘솔에서 제공하는 값을 기준으로 설정합니다.

4. Flow 시작과 확인

대상 Flow의 입력과 출력을 다시 확인한 뒤 우측 상단의 Start를 선택합니다. 입력 / 출력 항목을 클릭하면 각 연결의 상세 정보를 확인할 수 있습니다.

확인 지점 정상 여부 판단
Flow 설정 올바른 입력과 StreamLive 목적지가 연결됨
인코더 송출 StreamLink 입력으로 지속 송출
StreamLink 입력 / 출력 수신과 목적지 전송 상태 확인
StreamLive 입력 중계된 원본 신호 수신
최종 재생 다음 단계에서 원본 및 CDN 영상 / 오디오 확인

RUNNING은 실행 상태입니다. 입력 신호가 존재하고 목적지까지 전달되는지는 별도로 검사합니다.

테스트 종료

테스트 종료 후 해당 Flow에서 Stop을 선택합니다. 참조 관계를 확인한 뒤 테스트 전용 리소스를 정리합니다.

다음은 4. 송출하고 재생 확인하기입니다.

공식 문서

API로 구성하는 경우

다음은 기존 API 호출 형식의 예시입니다. 마스킹된 ID / 주소 / 키와 설명용 IP는 실제 값으로 변경해야 합니다.

콘솔의 RTMP_PUSH 표시와 아래 기존 API 예시의 Protocol: RTMP 표기를 구분합니다. API 값은 사용 중인 API / SDK의 입력 스키마를 확인하고 적용합니다.

Flow 생성

LANGUAGE
tccli mdc CreateStreamLinkFlow \
  --region ap-seoul \
  --FlowName demo_flow \
  --MaxBandwidth 20000000
LANGUAGE
{
  "FlowId": "82iv************74eg"
}

입력 생성

인코더가 푸시할 RTMP 입력입니다.

LANGUAGE
tccli mdc CreateStreamLinkInput \
  --region ap-seoul \
  --FlowId 82iv************74eg \
  --InputGroup '[
    {
      "InputName": "demo_input",
      "Protocol": "RTMP",
      "Description": "Demo RTMP ingest",
      "AllowIpList": ["203.0.113.10/32"]
    }
  ]'

조회 응답에서 푸시 주소를 확인합니다.

LANGUAGE
tccli mdc DescribeStreamLinkFlow \
  --region ap-seoul \
  --FlowId 82iv************74eg
LANGUAGE
{
  "InputGroup": [
    {
      "InputName": "demo_input",
      "Protocol": "RTMP_PUSH",
      "InputAddressList": [
        {
          "Ip": "192.0.2.10",
          "Port": 1935
        }
      ],
      "RTMPSettings": {
        "AppName": "live_13******46",
        "StreamKey": "7rvp****31j2o"
      }
    }
  ]
}

즉 인코더에 넣을 값은 다음과 같습니다.

LANGUAGE
URL       rtmp://192.0.2.10:1935/live_13******46
StreamKey 7rvp****31j2o

출력 생성 (StreamLive로 릴레이)

출력 프로토콜은 RTMP, 목적지는 2단계에서 만든 StreamLive 입력 주소입니다.

LANGUAGE
tccli mdc CreateStreamLinkOutputInfo \
  --region ap-seoul \
  --FlowId 82iv************74eg \
  --Output '{
    "OutputName": "demo_output",
    "Description": "Demo relay to StreamLive",
    "Protocol": "RTMP",
    "OutputRegion": "ap-seoul",
    "RTMPSettings": {
      "Destinations": [
        {
          "Url": "rtmp://13******46.ap-seoul-1.streamlive.myqcloud.com/demo",
          "StreamKey": "quickstart"
        }
      ]
    }
  }'

Url에는 AppName(demo)까지, StreamKey에는 스트림 이름(quickstart)을 입력합니다.

Flow 시작

LANGUAGE
tccli mdc StartStreamLinkFlow \
  --region ap-seoul \
  --FlowId 82iv************74eg
LANGUAGE
tccli mdc DescribeStreamLinkFlow \
  --region ap-seoul \
  --FlowId 82iv************74eg
LANGUAGE
Flow  demo_flow  82iv************74eg  RUNNING
IN    demo_input   RTMP_PUSH   192.0.2.10:1935
OUT   demo_output   RTMP        rtmp://13******46.ap-seoul-1.streamlive.myqcloud.com/demo  (key quickstart)