채널 생성
- 인쇄
- PDF
채널 생성
- 인쇄
- PDF
기사 요약
이 요약이 도움이 되었나요?
의견을 보내 주셔서 감사합니다.
VOD Station은 채널을 생성하기 위한 API를 제공하며, 생성한 채널 조회를 위해 채널 목록 조회 API와 채널 정보 조회 API를 제공합니다.
참고
VOD Station 과 연동된 Global Edge의 콘텐츠 인증(Signed URL/JWT) 제어 사용 시 유의 사항은 다음과 같습니다.
- Global Edge 의 캐시 설정 중 Edge Auth 을 아래와 같이 설정해야 합니다. Global Edge Edge Auth 설정 변경 방법은 API 가이드를 참조해 주십시오.
- 인증 제외 확장자
- .ts, .mp4, .m4s, .vtt, .key
- 인증 토큰을 원본에 전달할 확장자
- .m3u8, .mpd
- 인증 제외 확장자
- 인증 토큰 발급 시 Signed URL, JWT 각각 acl, path에 wildcard path를 입력해야 합니다. 자세한 인증 토큰 발급 방식은 사용 가이드를 참조해 주십시오.
- 단일 비트레이트 재생 : '/[protocol]/[encryptedBucketName]/[path]/[video filename]/*'
- 예시)
- HLS : https://example.edge.navercorp.com/hls/guide/vod-5100k.mp4/index.m3u8
- wildcard path : '/hls/guide/vod-5100k.mp4/*'
- DASH : https://example.edge.navercorp.com/dash/guide/vod-5100k.mp4/index.m3u8
- wildcard path : '/dash/guide/vod-5100k.mp4/*'
- HLS : https://example.edge.navercorp.com/hls/guide/vod-5100k.mp4/index.m3u8
- 예시)
- Adaptive 비트레이트 재생 : '/[protocol]/[encryptedBucketName]/[path]/[prefix],[video filenames],[suffix].smil/*'
- 예시)
- HLS 재생 주소 : https://example.edge.navercorp.com/hls/guide/abr/vod-,5400,2400,1200,0900,0600,0300,k.mp4.smil/master.m3u8
- wildcard path : '/hls/guide/abr/vod-,5400,2400,1200,0900,0600,0300,k.mp4.smil/*'
- DASH 재생 주소 : https://example.edge.navercorp.com/dash/guide/abr/vod-,5400,2400,1200,0900,0600,0300,k.mp4.smil/manifest.mpd
- wildcard path : '/dash/guide/abr/vod-,5400,2400,1200,0900,0600,0300,k.mp4.smil/*'
- HLS 재생 주소 : https://example.edge.navercorp.com/hls/guide/abr/vod-,5400,2400,1200,0900,0600,0300,k.mp4.smil/master.m3u8
- 예시)
- 단일 비트레이트 재생 : '/[protocol]/[encryptedBucketName]/[path]/[video filename]/*'
요청
요청 헤더
헤더명 | 설명 |
---|---|
x-ncp-region_code | 네이버 클라우드 플랫폼 region code x-ncp_region_code:{Region Code} |
x-ncp-apigw-timestamp | 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 나타내며 API Gateway 서버와 시간 차가 5분 이상 나는 경우 유효하지 않은 요청으로 간주x-ncp-apigw-timestamp:{Timestamp} |
x-ncp-iam-access-key | 네이버 클라우드 플랫폼 포털에서 발급받은 Access Key ID 값x-ncp-iam-access-key:{Sub Account Access Key} |
x-ncp-apigw-signature-v2 | Access Key ID 값과 Secret Key로 암호화한 서명x-ncp-apigw-signature-v2:{API Gateway Signature} |
Content-Type | Request body content type을 application/json으로 지정Content-Type: application/json |
요청 바디
API 요청 시 필드명의 대소문자 구분이 필요합니다.
필드명 | 필수 여부 | 타입 | 제약 사항 | 기본값 | 설명 |
---|---|---|---|---|---|
name | Yes | String | 생성할 채널의 이름 | ||
storageBucketName | Yes | String | 채널과 연동할 네이버 클라우드 플랫폼 Object Storage 버킷 이름 | ||
accessPrivateFiles | No | Boolean | 연동할 Object Stroage 버킷 내 비공개 파일에 대해 VOD Station에서 접근 제한을 설정함 허용한다면 파일을 공개 처리하지 않아도 Streaming이 가능 | ||
protocolList[] | Yes | Array(String) | HLS, DASH | 채널의 스트리밍 프로토콜 HLS와 DASH를 지원하며, 중복 선택 가능 | |
encryptionList[] | No | Array | 채널의 미디어 보호 설정 Media Encryption 기능과 DRM(FairPlay, Widevine/PlayReady) 연동 인터페이스 제공 | ||
encryptionList[].drmContentId | Optional | String | 숫자, 영문 1-200자 Media Encryption 설정시 필요치 않음 | DRM Content ID DRM Key 요청시 해당 값을 포함해 요청하며, License 발급시 필요한 값 | |
encryptionList[].drmKeyUrl | Optional | String | http(s):// 포함 URL Media Encryption 설정시 필요치 않음 | DRM 제공사의 CPIX API URL VOD Station은 공식적으로 Inka Pallyacon DRM의 CPIX v1 API와의 연동 지원 DRM 패키징을 위해 VOD Station은 xml body를 포함해 POST 요청 | |
encryptionList[].systemIdList | Optional | Array(String) | 공백 허용 안함, "-"허용, 256자 이하 Media Encryption 설정시 필요치 않음 | DRM Type 별 SystemID 설정하려는 Type에 맞는 값 입력 필요 | |
encryptionList[].drmTypeCode | Optional | Integer | FairPlay: 21 Widevine/PlayReady: 22 Media Encryption 설정시 필요치 않음 | DRM Type 설정 필요 | |
encryptionList[].mediaEncryptionTypeCode | Optional | Integer | AES-128: 1 DRM 설정시 필요치 않음 | HLS AES-128을 설정함 FairPlay와 함께 설정할 수 없음 | |
encryptionList[].protocol | Yes | String | HLS, DASH | DRM 혹은 Media Encryption에 맞는 protocol을 설정함 Widevine/PlayReady: DASH FairPlay: HLS MediaEncryption: HLS | |
segmentDuration | Yes | Integer | 5-20 사이 정수 | Segment당 재생 시간 재생 시간이 길어질수록 Segment의 크기가 커지며, Client 네트워크 상태에 따라 로딩 시간이 길어질 수 있음 반면에, Segment 시간이 짧아질수록 Segment의 크기는 작아지며, 지나치게 짧게 설정 시 Client 네트워크 상태에 따라 버퍼링 발생 가능 (단위: 초) | |
segmentDurationOption | No | String | BASIC, VARIABLE | BASIC | 모든 Segment가 keyframe으로 시작하도록 Segment를 생성함 VARIABLE 옵션 선택시 설정한 segmentDuration 값과 실제 생성된 Segment의 Duration같은 차이가 발생할 수 있으며, Segment Duration이 일정하지 않을 수 있음 |
createCdn | Yes | Boolean | true, false | VOD Station은 CDN 연동이 필수 채널 생성 시 함께 생성하거나 별도로 생성해 사용 가능 | |
cdn | Optional | Object | Global Edge 를 자동 생성 할 경우 필수로 요청 합니다. | ||
cdn.profileId | Optional | Integer | 신규 생성할 Global Edge 프로필 아이디 | Global Edge 를 생성할 프로필 아이디 | |
cdn.regionType | Optional | String | Global Edge 를 연동 할 경우 활용합니다. | KOREA, JAPAN, GLOBAL | Global Edge 서비스 지역 |
cdn.type | Optional | String | Global Edge 를 연동 할 경우 활용합니다. | GLOBAL_EDGE | Global Edge 신규 생성을 위한 타입 |
drm | No | Object | One Click Multi DRM 선택 시 입력 필수 | ||
drm.siteId | No | String | One Click Multi DRM 선택 시 입력 필수 | ||
drm.contentId | No | String | One Click Multi DRM 선택 시 입력 필수 | contentId 는 재생하려는 콘텐츠의 고유 ID로, DRM 패키징 시 활용됨. 최소 3글자 이상 영문/숫자 또는 ‘-'(하이픈), ‘_'(언더바) 포함 최대 100자 문자까지 입력 가능 |
응답
필드명 | 타입 | 설명 | 비고 |
---|---|---|---|
content | Object | VOD Station OPEN API 응답 객체 | |
content.id | String | 생성된 채널의 ID | |
content.name | Object | 채널 이름 | |
content.channelStatus | Integer | 채널의 현재 상태 | CREATING, READY, STOPPING, STOPPED, TERMINATING, TERMINATED, FORCE_STOPPING, FORCE_STOPPED, FORCETERMINATING, FORCETERMINATED |
content.storageBucketName | String | 채널에 연동된 Object Storage 버킷 이름 | |
content.encryptedBucketName | String | 채널에 연동된 Object Storage 버킷의 암호화된 이름으로 재생 URL 생성시 사용 | |
content.accessPrivateFiles | Boolean | 버킷 내 비공개 파일에 대한 VOD Station에서의 접근 제한 설정 | |
content.segmentDuration | Integer | 채널의 segment 재생 길이 (단위 : 초) | |
content.segmentDurationOption | String | 채널의 segment keyframe 정렬 옵션 | |
content.protocolList[] | Array(String) | 채널의 스트리밍 프로토콜 목록 | |
content.createTime | Integer | 채널의 생성 시작 시간 | |
content.readyTime | Integer | 채널의 생성 완료 시간 | |
content.cdnCreatedTime | Integer | 채널에 연동하여 자동 생성된 CDN의 생성 시간 | |
content.playUrl | String | CDN을 통한 재생 URL Template | |
content.cdnStatus | String | 채널에 연동된 CDN의 상태 자동 생성하지 않으면 NOT_FOUND 로 노출 | |
content.cdnDomain | String | 자동 생성된 Global Edge 도메인 | |
content.cdnServiceName | String | 자동 생성된 Global Edge 서비스명 | |
content.cdn | Object | 자동 생성된 Global Edge 정보 | |
content.cdn.cdnType | String | 자동 생성된 CDN 타입 | |
content.cdn.cdnDomain | String | 자동 생성된 Global Edge의 도메인 | |
content.cdn.cdnServiceName | String | 자동 생성된 Global Edge의 서비스명 | |
content.cdn.profileId | String | 자동 생성된 Global Edge의 프로필 아이디 | |
content.cdn.regionType | String | 자동 생성된 Global Edge의 서비스 지역 | |
content.cdn.cdnInstanceNo | Integer | 자동 생성된 Global Edge의 인스턴스 정보 | |
content.storageBucketStatus | String | 채널에 연동된 Object Storage 버킷의 상태 | |
content.originPath | String | 생성한 채널의 원본 경로로 별도 CDN 생성 시 참고 | |
content.encryptionList[] | Array | 채널의 미디어 보안 설정 | |
content.encryptionList[].protocol | String | 미디어 보안 대상 프로토콜 | |
content.encryptionList[].mediaEncryptionTypeCode | Integer | 미디어 보안 설정의 암호화 타입 1: AES-128 2: Sample-AES 3: CENC | |
content.encryptionList[].drmTypeCode | Intenger | 미디어 보안 설정의 DRM 타입 21: FairPlay 22: Widevine/PlayReady | |
content.encryptionList[].drmTypeName | String | 미디어 보안 설정의 DRM 타입 명 | |
content.encryptionList[].drmContentId | String | VOD Station에서 패키징시 요청할 Content ID | |
content.encryptionList[].systemIdList | Array(String) | VOD Station에서 패키징시 요청할 DRM System ID | |
content.encryptionList[].drmKeyUrl | String | VOD Station에서 패키징시 요청할 DRM CPIX API URL | |
content.drm | Object | VOD Station 을 활용한 DRM Encryption 설정 | |
content.drm.siteId | String | One Click Multi DRM 상품을 통해 생성한 site id | |
content.drm.contentId | String | DRM Encryption 을 적용할 콘텐츠의 고유 ID DRM 패키징을 위해 사용되며 최소 3글자 이상 영문/숫자 또는 ‘-'(하이픈), ‘_'(언더바) 포함 최대 100자 문자까지 입력 가능합니다. | |
error | Object | 오류 응답 코드 및 메시지 | |
error.errorCode | String | 오류 응답 코드 | |
error.message | String | 오류 응답 메시지 | |
error.details | String | error message의 상세한 설명 api gateway 오류 발생 시 응답 |
예시
요청 예시
응답 예시
이 문서가 도움이 되었습니까?