채널 CDN 변경

Prev Next

Classic/VPC 환경에서 이용 가능합니다.

VOD Station 채널에 연동된 CDN 서버를 변경합니다. CDN+ 서비스와 연동된 채널을 Global Edge 서비스와 연동하는 경우에 사용하며, 채널이 STOPPED 상태일 때만 변경할 수 있습니다.

주의

CDN 변경 시 재생 경로 URL이 변경되는 점을 참고하여 진행해 주십시오.

요청

요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.

메서드 URI
POST /api/v2/channels/{channelId}/cdn-to-edge

요청 헤더

VOD Station API에서 공통으로 사용하는 헤더에 대한 정보는 VOD Station 요청 헤더를 참조해 주십시오.

요청 경로 파라미터

요청 경로 파라미터에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
channelId String Required 채널 아이디

요청 바디

요청 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
cdn Object Required CDN 설정
cdn.profileId Integer Required Global Edge 프로필 아이디
cdn.regionType String Required Global Edge 서비스 지역
  • KOREA | JAPAN | GLOBAL
    • KOREA: 한국
    • JAPAN: 일본
    • GLOBAL: 글로벌

요청 예시

요청 예시는 다음과 같습니다.

curl --location --request POST 'https://vodstation.apigw.ntruss.com/api/v2/channels/vs-20250821095732-*******/cdn-to-edge' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--data '{
    "cdn": {
        "profileId": ****,
        "regionType": "KOREA"
    }
}'

응답

응답 형식을 설명합니다.

응답 바디

응답 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
content Object - 응답 결과
content.disabled Boolean - 채널 비활성화 여부
  • true | false
    • true: 비활성
    • false: 활성
content.id String - 채널 아이디
content.name String - 채널 이름
content.channelStatus String - 채널 상태
  • CREATING | READY | STOPPING | STOPPED | TERMINATING | TERMINATED | FORCE_STOPPING | FORCE_STOPPED | FORCETERMINATING | FORCETERMINATED
    • CREATING: 생성 중
    • READY: 운영 중
    • STOPPING: 정지 중
    • STOPPED: 정지 완료
    • TERMINATING: 삭제 중
    • TERMINATED: 삭제 완료
    • FORCE_STOPPING: 강제 정지 중
    • FORCE_STOPPED: 강제 정지 완료
    • FORCETERMINATING: 강제 삭제 중
    • FORCETERMINATED: 강제 삭제 완료
content.storageBucketName String - 채널이 스트리밍할 영상이 저장되어 있는 버킷 이름
content.segmentDuration Integer - 세그먼트당 재생 시간(초)
content.protocolList Array - 스트리밍 프로토콜 목록
  • HLS | DASH
content.createTime Integer - 채널 생성 시작 일시(초)
  • Unix Timestamp 형식
content.readyTime Integer - 채널 생성 완료 일시(초)
  • Unix Timestamp 형식
content.cdnCreatedTime Integer - 채널에 연동하여 자동 생성된 CDN의 생성 일시(초)
  • Unix Timestamp 형식
content.stopTime Integer - 채널 정지 일시(초)
  • Unix Timestamp 형식
content.playUrl String - CDN을 통한 재생 URL 템플릿
content.cdnStatus String - 채널에 연동된 CDN의 상태
  • 자동 생성하지 않으면 NOT_FOUND로 표시
content.cdnDomain String - 자동 생성된 Global Edge 도메인
content.cdnServiceName String - 자동 생성된 Global Edge 서비스 이름
content.storageBucketStatus String - 채널에 연동된 Object Storage 버킷의 상태
content.originPath String - 생성한 채널의 원본 경로
  • 별도 CDN 생성 시 사용
content.encryptList Array - 채널의 콘텐츠 보호 설정 정보: encryptList
content.accessPrivateFiles Boolean - 버킷 내 비공개 파일 접근 제한 설정 여부
  • true | false
    • true: 제한
    • false: 허용
  • 허용 시 비공개 파일도 스트리밍 가능
content.encryptedBucketName String - 채널에 연동된 버킷의 암호화된 이름
  • 재생 URL 생성 시 사용
content.segmentDurationOption String - 세그먼트 분할 방식 설정
  • BASIC | VARIABLE
    • BASIC: segmentDuration 설정 간격으로 일정하게 세그먼트 생성
    • VARIABLE: 모든 세그먼트가 키 프레임(keyframe)으로 시작하도록 세그먼트 생성
  • VARIABLE 옵션을 선택한 경우, segmentDuration 값과 실제 생성된 세그먼트 재생 시간에 차이 발생 가능성 존재
content.cdn Object - 자동 생성된 CDN(Global Edge) 정보
content.cdn.cdnType String - CDN 유형
  • GLOBAL_EDGE (유효 값)
content.cdn.cdnDomain String - 자동 생성된 Global Edge 도메인
content.cdn.cdnServiceName String - 자동 생성된 Global Edge 서비스 이름
content.cdn.profileId Integer - 자동 생성된 Global Edge 프로필 아이디
content.cdn.regionType String - 자동 생성된 Global Edge 서비스 지역
content.cdn.cdnInstanceNo Integer - 자동 생성된 Global Edge 인스턴스 아이디

encryptList

encryptList에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
drmContentId String Optional DRM 콘텐츠 아이디
  • DRM Key 요청 시 해당 값을 포함해 요청하며, 라이선스(License) 발급 시 필요
drmKeyUrl String - DRM Key URL
  • DRM 제공사의 CPIX API URL
  • VOD Station은 공식적으로 Inka Pallyacon DRM의 CPIX v1 API와의 연동을 지원
systemIdList Array - DRM 시스템 아이디
  • DRM 시스템 고유 식별자
drmTypeCode Integer Optional DRM 유형
  • 21 | 22
    • 21: FairPlay
    • 22: Widevine/PlayReady
drmTypeName String - DRM 유형 이름
protocol String - 설정된 프로토콜
  • HLS | DASH
    • HLS: FairPlay/Media Encryption
    • DASH: Widevine/PlayReady
mediaEncryptTypeCode Integer Optional 설정된 Media Encryption(HLS AES-128) 코드 설정
  • 1 | 2 | 3
    • 1: AES-128
    • 2: Sample-AES
    • 3: CENC
mediaEncryptionTypeName String - 설정된 Media Encryption(HLS AES-128) 타입 이름
  • AES-128 | Sample-AES | CENC

응답 상태 코드

VOD Station API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 VOD Station 응답 상태 코드를 참조해 주십시오.

응답 예시

응답 예시는 다음과 같습니다.

{
    "content": {
        "disabled": false,
        "id": "vs-20250821095732-*******",
        "name": "ch-media-encrypt",
        "channelStatus": "STOPPED",
        "storageBucketName": "station-000",
        "segmentDuration": 10,
        "protocolList": [
            "HLS"
        ],
        "createTime": 1755737852,
        "readyTime": 1755737880,
        "cdnCreatedTime": 1755737852,
        "stopTime": 1755757440,
        "playUrl": "https://cpzplvi211650.edge.naverncp.com/[protocol]/[Object Storage Bucket(encryption name)]/[path]/[video filename]/[manifest]",
        "cdnStatus": "RUNNING",
        "cdnDomain": "cpzplvi211650.edge.naverncp.com",
        "cdnServiceName": "edge-vs-20250821095732-*******",
        "storageBucketStatus": "RUNNING",
        "originPath": "vs2-k1.video.media.ntruss.com/2706412/vs-20250821095732-*******",
        "encryptList": [
            {
                "protocol": "HLS",
                "mediaEncryptTypeCode": 1
            }
        ],
        "accessPrivateFiles": true,
        "encryptedBucketName": "*****VzPmKvIthkozoufHw__",
        "segmentDurationOption": "BASIC",
        "cdn": {
            "cdnType": "GLOBAL_EDGE",
            "cdnDomain": "cpzplvi211650.edge.naverncp.com",
            "cdnServiceName": "edge-vs-20250821095732-*******",
            "profileId": ****,
            "regionType": "KOREA",
            "cdnInstanceNo": *****
        }
    }
}