채널 설정 변경

Prev Next

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

라이브 채널의 설정을 변경합니다.

요청

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

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

요청 헤더

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

요청 경로 파라미터

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

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

요청 바디

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

필드 타입 필수 여부 설명
channelName String Required 채널 이름
  • 한글, 영문자, 숫자, 특수 문자 '_'를 허용하며, 3~20자 이내로 입력
envType String Optional 채널 타입
  • REAL (기본값) | DEV | STAGE
  • 적용할 서비스 환경에 따른 구분자
outputProtocol String Optional Output Protocol 설정
  • HLS (기본값) | LL_HLS | HLS,DASH
    • HLS: 안정적이고 호환성 높은 HLS 스트리밍을 이용하기 위한 옵션
    • LL_HLS: CMAF을 이용한 저지연 HLS 스트리밍을 위한 옵션
    • HLS,DASH: 일반 HLS와 Dash 모두 스트리밍 가능한 옵션
  • HLS/HLS,DASHLL_HLS 간 상호 전환 불가
useDvr Boolean Required 타임머신 설정 여부
  • true | false
    • true: 설정
    • false: 설정 안 함
  • 설정 시 송출 중인 라이브 방송을 되돌려 볼 수 있음
immediateOnAir Boolean Required 송출 즉시 자동 녹화 설정 여부
  • true | false
    • true: 자동
    • false: 수동
timemachineMin Integer Conditional 타임머신 허용 범위(분)
  • 360 (유효 값)
  • useDvrtrue인 경우, 필수 입력
record Object Required 녹화 저장 정보
record.format String Conditional 자동 저장 녹화 타입
  • MP4 | HLS | ALL
  • 녹화 파일 포맷 지정
  • record.typeAUTO_UPLOAD인 경우, 필수 입력
record.type String Required 녹화 저장 설정
  • NO_RECORD | AUTO_UPLOAD | MANUAL_UPLOAD
    • NO_RECORD: 녹화 안 함
    • AUTO_UPLOAD: 자동 저장
    • MANUAL_UPLOAD: 임시 저장
record.bucketName String Conditional 녹화 파일 저장 버킷 이름
  • ListBuckets 참조
  • record.typeAUTO_UPLOAD인 경우, 필수 입력
record.filePath String Conditional 저장 상세 경로
  • /로 시작
  • record.typeAUTO_UPLOAD인 경우, 필수 입력
record.accessControl String Conditional 녹화 파일 저장 버킷 공개 범위
  • PRIVATE (기본값) | PUBLIC_READ
    • PRIVATE: 비공개
    • PUBLIC_READ: 공개
  • record.typeAUTO_UPLOAD인 경우, 필수 입력

요청 예시

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

curl --location --request PUT 'https://livestation.apigw.ntruss.com/api/v2/channels/ls-20250818******-UbUBe' \
--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": "STAGE",
    "outputProtocol": "LL_HLS",
    "useDvr": true,
    "immediateOnAir": true,
    "timemachineMin": 360,
    "record": {
        "format": "MP4",
        "type": "MANUAL_UPLOAD"
    }
}'

응답

응답 형식을 설명합니다.

응답 바디

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

필드 타입 필수 여부 설명
content Object - 응답 결과
content.channelId String - 채널 아이디
content.channelName String - 채널 이름
content.instanceNo Integer - 채널 인스턴스 번호
content.qualitySetId Integer - 화질 설정 아이디
content.qualitySetName String - 화질 설정 이름
content.outputProtocol String - Output Protocol
content.channelStatus String - 채널 상태
  • CREATING | READY | PUBLISHING | DELETED | BLOCK | FORCE_BLOCK | FORCE_DELETED
    • CREATING: 생성 중
    • READY: 준비
    • PUBLISHING: 송출 중
    • DELETED: 반납
    • BLOCK: 정지
    • FORCE_BLOCK: 강제 정지
    • FORCE_DELETED: 사용 불가
content.isRecording Boolean - 녹화 여부
  • true | false
    • true: 녹화 중
    • false: 녹화 중 아님
content.useDVR Boolean - 타임머신 설정 여부
  • true | false
    • true: 설정
    • false: 설정 안 함
content.immediateOnAir Boolean - 송출 즉시 자동 녹화 설정 여부
  • true | false
    • true: 자동
    • false: 수동
content.timemachineMin Integer - 타임머신 허용 범위(분)
content.cdn Object - CDN 설정
content.cdn.instanceNo String - CDN 인스턴스 아이디
content.cdn.serviceName String - CDN 서비스 이름
content.cdn.statusName String - CDN 상태
  • RUNNING | PUBLISHING | STOPPING | STOPPED | CREATING | CHANGING | CDN_NOT_FOUND
    • RUNNING: 운영 중
    • PUBLISHING: 배포 중
    • STOPPING: 정지 중
    • STOPPED: 정지
    • CREATING: 생성 중
    • CHANGING: 변경 중
    • CDN_NOT_FOUND: CDN을 찾을 수 없음
content.cdn.cdnType String - CDN 유형
  • GLOBAL_CDN | GLOBAL_EDGE
content.cdn.cdnDomain String - CDN 서비스 도메인
content.cdn.profileId Integer - Global Edge 프로필 아이디
content.cdn.regionType String - Global Edge 서비스 지역
content.streamKey String - 메인 스트림 키
content.publishUrl String - 기본 송출 URL
content.globalPublishUrl String - 해외 송출 URL
content.totalPublishSeconds Integer - 채널 사용 시간(초)
content.createdTime Integer - 채널 생성 일시(밀리초)
  • Unix Timestamp 형식
content.alertOn Boolean - 이벤트 알람 설정 여부
  • true | false
    • true: 설정
    • false: 설정 안 함
content.recentPublishStartTime Integer - 최근 송출 시작 일시(밀리초)
  • Unix Timestamp 형식
  • 최초 송출 전인 경우, 미표시
content.alertOptions Object - 이벤트 알람 설정
content.alertOptions.alertChangeStatus Boolean - 채널 상태 변경 알람 적용 여부
  • true | false
    • true: 적용
    • false: 적용 안 함
content.alertOptions.alertVodUploadFail Boolean - 녹화 파일 업로드 실패 알람 적용 여부
  • true | false
    • true: 적용
    • false: 적용 안 함
content.alertOptions.alertReStreamFail Boolean - 동시 송출 릴레이 실패 알람 적용 여부
  • true | false
    • true: 적용
    • false: 적용 안 함
content.alertOptions.reStreamFailThreshold Integer - 알람 발생 조건(기준 횟수)
content.alertOptions.alertStreamFailOver Boolean - 메인 스트림 전환 알람 적용 여부
  • true | false
    • true: 적용
    • false: 적용 안 함
content.callbackEndpoint String - 콜백 엔드포인트 URL
  • 유효 값 존재 시 표시
content.envType String - 채널 타입
  • DEV | STAGE | REAL
content.uploadPath String - 녹화 파일 업로드 경로
  • content.record.typeAUTO_UPLOAD인 경우, 표시
content.record Object - 녹화 저장 정보
content.record.type String - 녹화 저장 설정
  • NO_RECORD | AUTO_UPLOAD | MANUAL_UPLOAD
    • NO_RECORD: 녹화 안 함
    • AUTO_UPLOAD: 자동 저장
    • MANUAL_UPLOAD: 임시 저장
content.record.bucketName String - 녹화 파일 저장 버킷 이름
  • content.record.typeAUTO_UPLOAD인 경우, 표시
content.record.filePath String - 저장 상세 경로
  • content.record.typeAUTO_UPLOAD인 경우, 표시
content.record.format String - 자동 저장 녹화 타입
  • MP4 | HLS | ALL
content.record.accessControl String - 녹화 파일 저장 버킷 공개 범위
  • PRIVATE | PUBLIC_READ
    • PRIVATE: 비공개
    • PUBLIC_READ: 공개
  • content.record.typeAUTO_UPLOAD인 경우, 표시
content.origin Object - 원본 정보
content.origin.originDomain String - 원본 도메인
content.origin.originPath String - 원본 경로
content.backupStreamKey String - 백업 스트림 키
  • 송출 이중화 설정 시 표시
content.isStreamFailOver Boolean - 송출 이중화 설정 여부
  • true | false
    • true: 사용
    • false: 사용 안 함
content.drmEnabledYn Boolean - Multi DRM 사용 여부
  • true | false
    • true: 사용
    • false: 사용 안 함
content.drm Object - Multi DRM 설정
  • content.drmEnabledYntrue인 경우, 하위 정보 표시
content.drm.siteId String - 사이트 아이디
content.drm.contentId String - 콘텐츠 아이디

응답 상태 코드

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

응답 예시

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

{
    "content": {
        "channelId": "ls-20250818******-UbUBe",
        "channelName": "testchannel",
        "instanceNo": 10******7,
        "qualitySetId": 2585,
        "qualitySetName": "ll-1080p-set",
        "outputProtocol": "LL_HLS",
        "channelStatus": "READY",
        "isRecording": false,
        "useDVR": true,
        "immediateOnAir": true,
        "timemachineMin": 360,
        "cdn": {
            "instanceNo": "11612",
            "serviceName": "edge-ls-20250818******-UbUBe",
            "statusName": "RUNNING",
            "cdnType": "GLOBAL_EDGE",
            "cdnDomain": "*************.edge.naverncp.com",
            "profileId": 4207,
            "regionType": "KOREA"
        },
        "streamKey": "hb*****************************1",
        "publishUrl": "rtmp://***********.video.media.ntruss.com:8080/relay",
        "globalPublishUrl": "rtmp://***************.video.media.ntruss.com:8080/relay",
        "totalPublishSeconds": 0,
        "createdTime": 1755494883000,
        "alertOn": false,
        "alertOptions": {
            "alertChangeStatus": false,
            "alertVodUploadFail": false,
            "alertReStreamFail": false,
            "alertStreamFailOver": false
        },
        "callbackEndpoint": "https://www.example.com",
        "envType": "STAGE",
        "record": {
            "type": "MANUAL_UPLOAD",
            "format": "MP4"
        },
        "origin": {
            "originDomain": "*****.video.media.ntruss.com",
            "originPath": "2*****5"
        },
        "backupStreamKey": "hb*****************************************e",
        "isStreamFailOver": true,
        "drmEnabledYn": false
    }
}