-
Notifications
You must be signed in to change notification settings - Fork 0
Live Station API
Hyunjun edited this page Nov 3, 2024
·
13 revisions
카메라 또는 화면에서 실시간으로 영상을 캡처하여 준비합니다.
캡처된 영상을 Encoder를 통해 압축 및 인코딩하여 RTMP 방식으로 전송할 수 있는 데이터 스트림으로 변환합니다.
인코딩된 영상 데이터를 RTMP 프로토콜을 사용하여 Live Station 으로 전송합니다.
Live Station 에서 Transcoding 절차를 통해 원본 영상 데이터를 변환 및 최적화하여 .m3u8 확장자로 변환합니다.
.m3u8 파일이 생성되면 HLS(HTTP Live Streaming) 방식으로 각 디바이스에 실시간 스트리밍 송출을 진행합니다.
각 디바이스에서 HLS 스트림을 수신하고 재생하여 사용자는 실시간으로 영상을 시청할 수 있습니다.
Live Station API (링크)
https://livestation.apigw.ntruss.com/api/v2
- Live Station API HTTP Request와 Response Body를 통해 전달되는 모든 데이터의 Content-type은 application/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}"
-
인증키 생성: 포털에서 생성
Access Key와Secret Key생성 -
시그니처 생성:
Access Key와Secret KeyHmacSHA256알고리즘으로 암호화한 후Base64로 인코딩
[URL Session]
[ReplayKit]
[Git]
[RTMP]
[기타]