Skip to content

Live Station API

Hyunjun edited this page Nov 3, 2024 · 13 revisions

Live Station Flow

Live Station Flow

1. 카메라 및 화면 캡처

카메라 또는 화면에서 실시간으로 영상을 캡처하여 준비합니다.

2. Encoding 단계

캡처된 영상을 Encoder를 통해 압축 및 인코딩하여 RTMP 방식으로 전송할 수 있는 데이터 스트림으로 변환합니다.

3. RTMP 데이터 전송

인코딩된 영상 데이터를 RTMP 프로토콜을 사용하여 Live Station 으로 전송합니다.

4. Transcoding 절차

Live Station 에서 Transcoding 절차를 통해 원본 영상 데이터를 변환 및 최적화하여 .m3u8 확장자로 변환합니다.

5. HLS 송출 및 전송

.m3u8 파일이 생성되면 HLS(HTTP Live Streaming) 방식으로 각 디바이스에 실시간 스트리밍 송출을 진행합니다.

6. 디바이스 재생

각 디바이스에서 HLS 스트림을 수신하고 재생하여 사용자는 실시간으로 영상을 시청할 수 있습니다.

Live Station API (링크)

시나리오

  1. 공통 설정
  2. API Gateway 인증

0. 공통 설정

Live Station API URL

https://livestation.apigw.ntruss.com/api/v2

Live Stating API 요청 구성

  • Live Station API HTTP RequestResponse Body를 통해 전달되는 모든 데이터의 Content-typeapplication/json을 사용합니다.
Header
  Content-Type:application/json
  x-ncp-apigw-timestamp:{Timestamp}
  x-ncp-iam-access-key:{Sub Account Access Key}
  x-ncp-apigw-signature-v2:{API Gateway Signature}
  x-ncp-region_code:KR
Body
  Json Object
URL
  https://livestation.apigw.ntruss.com/api/v2/{action}

요청 헤더

헤더명 필수여부 설명
x-ncp-apigw-timestamp YES 1970년 1월 1일 00:00:00 UTC부터의 경과 시간(밀리초 단위)
API Gateway 서버와의 시간 차가 5분 이상 나면 유효하지 않은 요청으로 간주
x-ncp-iam-access-key YES 네이버 클라우드 플랫폼 포털에서 발급받은 Access Key ID 값
x-ncp-apigw-signature-v2 YES Access Key ID 값과 Secret Key로 암호화한 서명
Content-Type YES Request body content type을 application/json으로 지정
x-ncp-region_code YES 리전 코드(KR)

요청 샘플

curl -i -s -X POST \
   -H "Content-Type:application/json" \
   -H "x-ncp-apigw-timestamp:1521787414578" \
   -H "x-ncp-iam-access-key:6uxz1nKkcYwUjWRG5Q1V7NsW0i5jErlu2NjBXXgy" \
   -H "x-ncp-apigw-signature-v2:iJFK773KH0WwQ79PasqJ+ZGixtpDQ/abS57WGQdld2M=" \
   -H "x-ncp-region_code:KR" \
   "https://livestation.apigw.ntruss.com/api/v2/channles"\
   -d "{ \"channelName\": \"api-guide\", \"qualitySetId\": 1234, \"qualitySetId\": false, \"record\" : {\"type\":\"NO_RECORD\"}, \"cdn\": { \"createCdn\" : true, \"cdnType\": \"GLOBAL_EDGE\", \"profileId\":1111, \"regionType\":\"KOREA\", \"cdnInstanceNo\":123456}, \"drmEnabledYn\":false}"

1. API Gateway Signature 생성

  • 인증키 생성: 포털에서 생성 Access KeySecret Key생성
  • 시그니처 생성: Access KeySecret Key HmacSHA256 알고리즘으로 암호화한 후 Base64로 인코딩

Clone this wiki locally