Classic/VPC 환경에서 이용 가능합니다.
방송 송출을 위한 라이브 채널을 생성합니다.
요청
요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.
메서드 | URI |
---|---|
POST | /api/v2/channels |
요청 헤더
Live Station API에서 공통으로 사용하는 헤더에 대한 정보는 Live Station 요청 헤더를 참조해 주십시오.
요청 바디
요청 바디에 대한 설명은 다음과 같습니다.
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
channelName |
String | Required | 채널 이름
|
envType |
String | Optional | 채널 타입
|
outputProtocol |
String | Optional | Output Protocol 설정
|
cdn |
Object | Required | CDN 설정 |
cdn.createCdn |
Boolean | Required | CDN 신규 생성 여부
|
cdn.cdnType |
String | Required | CDN 유형
|
cdn.cdnDomain |
String | Conditional | Global Edge 도메인
|
cdn.profileId |
Integer | Required | Global Edge 프로필 아이디
|
cdn.regionType |
String | Conditional | Global Edge 서비스 지역
|
cdn.cdnInstanceNo |
Integer | Conditional | Global Edge 인스턴스 아이디
|
qualitySetId |
Integer | Required | 화질 설정 아이디
|
useDvr |
Boolean | Required | 타임머신 설정 여부
|
immediateOnAir |
Boolean | Optional | 송출 즉시 자동 녹화 설정 여부
|
timemachineMin |
Integer | Conditional | 타임머신 허용 범위(분)
|
record |
Object | Required | 녹화 저장 정보 |
record.format |
String | Conditional | 자동 저장 녹화 타입
|
record.type |
String | Required | 녹화 저장 설정
|
record.bucketName |
String | Conditional | 녹화 파일 저장 버킷 이름
|
record.filePath |
String | Conditional | 저장 상세 경로
|
record.accessControl |
String | Conditional | 녹화 파일 저장 버킷 공개 범위
|
isStreamFailOver |
Boolean | Optional | 송출 이중화 설정 여부
|
drmEnabledYn |
Boolean | Required | Multi DRM 사용 여부
|
drm |
Object | Conditional | Multi DRM 설정
|
drm.siteId |
String | Conditional | 사이트 아이디
|
drm.contentId |
String | Conditional | 콘텐츠 아이디
|
요청 바디 입력 시 다음 내용을 참고해 주십시오.
cdn
설정 시 이용 중이던 CDN+를 Global Edge로 전환하여 입력할 수 있습니다. 전환 방법은 CDN 변경을 참조해 주십시오.- 원활한 LL-HLS 채널 사용을 위해 키 프레임은 1초로 설정하는 것을 권장합니다. 자세한 내용은 권장 송출 옵션을 참조해 주십시오.
- 송출 영상 보안 설정 관련 필드는 송출 영상 보안 설정을 참조하여 입력해 주십시오.
- Live Station 서비스를을 통해 변환된 영상은 네이버 클라우드 플랫폼의 Global Edge 서비스를 통해 시청자에게 전송됩니다. 따라서 Live Station 서비스를 통해 방송 송출 시 Global Edge 이용 요금이 별도 부과됩니다.
- 조건에 맞지 않는 CDN을 연동할 경우, 안정적인 라이브 방송 재생이 불가능합니다. Live Station 서비스에 연동할 수 있는 CDN은 다음과 같습니다.
- 다른 라이브 채널 생성 과정에서 생성된 CDN
- Live Station 서비스를 연동할 수 있도록 필수 설정이 되어 있는 CDN
- 네이버 클라우드 플랫폼에서 생성한 CDN
- 연동할 채널에 할당된 원본 도메인 및 전용 경로가 설정된 CDN
- 다음과 같이 설정된 CDN
- 원본 통신의 프로토콜: HTTPS(443 포트)
- Forward Host Header: Origin Hostname
- Cache Key Hostname: Incoming Host Header
- Caching Option: 원본의 Cache-Control 헤더 우선
- Force Revalidation of Stale Object: 유효한 콘텐츠만 제공
요청 예시
요청 예시는 다음과 같습니다.
curl --location --request POST 'https://livestation.apigw.ntruss.com/api/v2/channels' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'x-ncp-region_code: KR' \
--header 'Content-Type: application/json' \
--data '{
"channelName": "testchannel",
"envType": "DEV",
"outputProtocol": "LL_HLS",
"cdn": {
"createCdn": true,
"cdnType": "GLOBAL_EDGE",
"profileId": 4207,
"regionType": "KOREA"
},
"qualitySetId": 2585,
"useDvr": true,
"immediateOnAir": true,
"timemachineMin": 360,
"record": {
"format": "MP4",
"type": "AUTO_UPLOAD",
"bucketName": "mybucket",
"filePath": "/livestation",
"accessControl": "PRIVATE"
},
"isStreamFailOver": true,
"drmEnabledYn": false
}'
응답
응답 형식을 설명합니다.
응답 바디
응답 바디에 대한 설명은 다음과 같습니다.
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
content |
Object | - | 응답 결과 |
content.channelName |
String | - | 채널 이름 |
content.cdn |
Object | - | CDN 설정 |
content.cdn.createCdn |
Boolean | - | CDN 신규 생성 여부
|
content.cdn.cdnType |
String | - | CDN 유형
|
content.cdn.cdnInstanceNo |
Integer | - | Global Edge 인스턴스 아이디 |
content.cdn.profileId |
Integer | - | Global Edge 프로필 아이디 |
content.cdn.regionType |
String | - | Global Edge 서비스 지역
|
content.qualitySetId |
Integer | - | 화질 설정 아이디 |
content.useDvr |
Boolean | - | 타임머신 설정 여부
|
content.immediateOnAir |
Boolean | - | 송출 즉시 자동 녹화 설정 여부
|
content.timemachineMin |
Integer | - | 타임머신 허용 범위(분) |
content.channelId |
String | - | 채널 아이디 |
content.uploadPath |
String | - | 녹화 파일 업로드 경로 |
content.envType |
String | - | 채널 타입
|
content.record |
Object | - | 녹화 저장 정보 |
content.record.type |
String | - | 녹화 저장 설정
|
content.record.bucketName |
String | - | 녹화 파일 저장 버킷 이름 |
content.record.filePath |
String | - | 저장 상세 경로 |
content.record.format |
String | - | 자동 저장 녹화 타입
|
content.record.accessControl |
String | - | 녹화 파일 저장 버킷 공개 범위
|
content.outputProtocol |
String | - | Output Protocol |
content.origin |
Object | - | 원본 정보 |
content.origin.originDomain |
String | - | 원본 도메인 |
content.origin.originPath |
String | - | 원본 경로 |
content.isStreamFailOver |
Boolean | - | 송출 이중화 설정 여부
|
content.drmEnabledYn |
Boolean | - | Multi DRM 사용 여부
|
content.drm |
Object | - | Multi DRM 설정
|
content.drm.siteId |
String | - | 사이트 아이디 |
content.drm.contentId |
String | - | 콘텐츠 아이디 |
응답 상태 코드
Live Station API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 Live Station 응답 상태 코드를 참조해 주십시오.
응답 예시
응답 예시는 다음과 같습니다.
{
"content": {
"channelName": "testchannel",
"cdn": {
"createCdn": true,
"cdnType": "GLOBAL_EDGE",
"cdnInstanceNo": 1***2,
"profileId": 4207,
"regionType": "KOREA"
},
"qualitySetId": 2585,
"useDvr": true,
"immediateOnAir": true,
"timemachineMin": 360,
"channelId": "ls-20250818******-UbUBe",
"uploadPath": "/mybucket/livestation",
"envType": "DEV",
"record": {
"type": "AUTO_UPLOAD",
"bucketName": "mybucket",
"filePath": "/livestation",
"format": "MP4",
"accessControl": "PRIVATE"
},
"outputProtocol": "LL_HLS",
"origin": {
"originDomain": "*****.video.media.ntruss.com",
"originPath": "27***85"
},
"isStreamFailOver": true,
"drmEnabledYn": false
}
}
송출 영상 보안 설정
생성한 채널에서 송출할 영상 콘텐츠의 보안을 위해 다양한 설정을 지원합니다.
콘텐츠 접근 제어
Global Edge 서비스와 연동하여 Global Edge의 콘텐츠 인증 제어를 통해 송출 영상 콘텐츠의 접근을 제한할 수 있습니다. 콘텐츠 인증 제어 방식에는 Signed URL, JSON Web Token이 있습니다. 각 방식별 사용 방법은 Global Edge 사용 가이드의 Signed URL, JSON Web Token을 참조해 주십시오.
- 인증 토큰 발급 시 Signed URL 방식은 ACL에, JSON Web Token 방식은 path에 와일드카드 경로를 입력해야 합니다.
- 와일드카드 경로: /live/video/{channelId}/*
- Global Edge의 캐시 설정 중 Edge Auth를 생성한 채널의 Output Protocol에 맞게 설정해야 합니다. 설정 방법은 Global Edge API 가이드를 참조해 주십시오.
- 인증 제외 확장자
- HLS: .ts, .jpg
- HLS/DASH: .ts, .jpg, .m4s, .m4v, .m4a
- LL_HLS: .jpg, .m4s, .m4v, .m4a
- 인증 토큰을 원본에 전달하는 확장자
- HLS: .m3u8
- HLS/DASH: .m3u8, .mpd
- LL_HLS: playlist.m3u8
- 인증 제외 확장자
콘텐츠 보호
One Click Multi DRM 서비스와 연동하여 Multi DRM을 통해 영상 콘텐츠를 암호화 후 송출하여 불법 복제 및 유통을 방지할 수 있습니다. 채널 생성 시 drm
객체를 통해 간편하게 DRM 기능을 설정할 수 있으며, 선택한 Output Protocol에 따라 Multi DRM이 적용됩니다. DRM 기술별 암호화 방식, 지원 단말, 플랫폼 및 버전 등에 대한 자세한 내용은 DoveRunner(구 PallyCon) 가이드를 참조해 주십시오.
암호화 방식 | 프로토콜 | DRM 유형 | 암호화 알고리즘 | 지원 단말 |
---|---|---|---|---|
DRM | HLS |
|
AES-CBC | Mac/iOS Safari 브라우저, iOS/iPadOS/tvOS 앱, HLS HTML5 |
DRM | DASH |
|
CENC (Common Encryption) | MS Edge, IE11, Chrome, Firefox, Opera DASH HTML5 |
- One Click Multi DRM 서비스 연동 시 Single-key 패키징만 지원합니다.
- Passthrough 화질이 포함된 화질 설정을 사용하는 채널은 DRM 서비스 지원하지 않습니다.