Documentation Index

Fetch the complete documentation index at: https://api-fin.ncloud-docs.com/llms.txt

Use this file to discover all available pages before exploring further.

채널 수정

Prev Next

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

VOD 스트리밍을 위한 채널 설정을 수정합니다.

요청

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

메서드 URI
PUT /api/v2/channels/{channelId}

요청 헤더

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

요청 바디

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

필드 타입 필수 여부 설명
name String Required 채널 이름
  • 영문자, 숫자, 특수 문자 '-'를 조합하여 3~20자 이내로 입력
protocolList Array Required 스트리밍 프로토콜 목록
  • HLS | DASH
  • 중복 선택 가능
encryptionList Array Optional 채널의 콘텐츠 보호 설정: encryptionList
segmentDuration Integer Required 세그먼트당 재생 시간(초)
  • 5~20
  • 세그먼트 재생 시간이 길면 파일 크기가 커지고 로딩이 길어질 수 있음
  • 세그먼트 재생 시간이 짧으면 파일 크기는 작아지지만, 버퍼링이 발생할 수 있음
segmentDurationOption String Optional 세그먼트 분할 방식 설정
  • BASIC (기본값) | VARIABLE
    • BASIC: segmentDuration 설정 간격으로 일정하게 세그먼트 생성
    • VARIABLE: 모든 세그먼트가 키 프레임(keyframe)으로 시작하도록 세그먼트 생성
  • VARIABLE 옵션을 선택한 경우, segmentDuration 값과 실제 생성된 세그먼트 재생 시간에 차이 발생 가능성 존재
  • 안정적인 스트리밍 서비스를 위해서는 BASIC 옵션 사용 권장

encryptionList

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

필드 타입 필수 여부 설명
drmContentId String Optional DRM 콘텐츠 아이디
  • 영문자, 숫자를 조합하여 1~200자 이내로 입력
  • DRM Key 요청 시 해당 값을 포함해 요청하며, 라이선스(License) 발급 시 필요
drmKeyUrl String Optional DRM Key URL
  • DRM 제공사의 CPIX API URL
  • VOD Station은 공식적으로 Inka Pallyacon DRM의 CPIX v1 API와의 연동을 지원
  • DRM 패키징을 위해 VOD Station은 xml body를 포함해 POST로 요청
  • http(s):// 포함
  • Media Encryption를 설정하는 경우, 불필요
systemIdList Array Optional DRM 시스템 아이디
  • DRM 시스템 고유 식별자
  • 영문자, 숫자, 특수문자 '-'를 조합하여 공백 없이 1~256자 이내로 입력
  • Media Encryption를 설정하는 경우, 불필요
  • DRM 유형에 맞게 1~2개의 시스템 아이디 포함 필수
drmTypeCode Integer Optional DRM 유형
  • 21 | 22
    • 21: FairPlay
    • 22: Widevine/PlayReady
  • Media Encryption를 설정하는 경우, 불필요
mediaEncryptTypeCode Integer Optional Media Encryption(HLS AES-128) 코드 설정
  • 1 | 2 | 3
    • 1: AES-128
    • 2: Sample-AES
    • 3: CENC
  • drmTypeCode21인 경우, 설정 불가
  • DRM을 설정하는 경우, 불필요
protocol String Required 프로토콜 설정
  • HLS | DASH
    • HLS: FairPlay/Media Encryption
    • DASH: Widevine/PlayReady
참고

송출 영상 보안 설정 관련 필드는 송출 영상 보안 설정을 참조하여 입력해 주십시오.

요청 예시

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

curl --location --request PUT 'https://vodstation.apigw.fin-ntruss.com/api/v2/channels/vs-20250821095732-*******' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}'
--data '{
	"name":"ch2-media-encrypt",
	"protocolList":["HLS"],
	"segmentDuration":10,
	"segmentDurationOption":"BASIC",
    "encryptionList": [
        {
            "protocol": "HLS",
            "mediaEncryptTypeCode": 1
        }
    ],
	"encryptionList":[]
}'

응답

응답 형식을 설명합니다.

응답 바디

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

필드 타입 필수 여부 설명
content Object - 응답 결과
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.cdnCreatedTime Integer - 채널에 연동하여 자동 생성된 CDN의 생성 일시(초)
  • Unix Timestamp 형식
content.playUrl String - CDN을 통한 재생 URL 템플릿
content.cdnStatus String - 채널에 연동된 CDN의 상태
  • 자동 생성하지 않으면 NOT_FOUND로 표시
content.cdnDomain String - 자동 생성된 CDN+ 도메인
content.cdnServiceName String - 자동 생성된 CDN+ 서비스 이름
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.notificationUrl String - 채널(Callback) URL

encryptList

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

필드 타입 필수 여부 설명
drmContentId String - 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 - DRM 유형
  • 21 | 22
    • 21: FairPlay
    • 22: Widevine/PlayReady
drmTypeName String - DRM 유형 이름
protocol String - 설정된 프로토콜
  • HLS | DASH
    • HLS: FairPlay/Media Encryption
    • DASH: Widevine/PlayReady
mediaEncryptTypeCode Integer - 설정된 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-20260414161720-******",
        "name": "test123",
        "channelStatus": "STOPPED",
        "storageBucketName": "vodtest",
        "segmentDuration": 6,
        "protocolList": [
            "HLS"
        ],
        "createTime": 1776151040,
        "readyTime": 1776151080,
        "cdnCreatedTime": 1776151041,
        "stopTime": 1783668880,
        "playUrl": "https://bokasyofiqnc*****.cdn.ntruss.com/[protocol]/[Object Storage Bucket(encryption name)]/[path]/[video filename]/[manifest]",
        "cdnStatus": "RUNNING",
        "cdnDomain": "bokasyofiqnc*****.cdn.ntruss.com",
        "cdnServiceName": "vscdn-Alx0l9z",
        "storageBucketStatus": "RUNNING",
        "originPath": "vs2-k1.video.media.ntruss.com/5001217/vs-20260414161720-******",
        "encryptList": [],
        "accessPrivateFiles": false,
        "encryptedBucketName": "RZozR4gK7DCWxgCaGZVE-w__",
        "segmentDurationOption": "BASIC"
    }
}