채널 설정 수정
- 인쇄
- PDF
채널 설정 수정
- 인쇄
- PDF
기사 요약
이 요약이 도움이 되었나요?
의견을 보내 주셔서 감사합니다.
Live Station은 채널 설정을 수정 하기 위한 API를 제공합니다.
요청
PUT https://livestation.apigw.ntruss.com/api/v2/channels/{channelId}
요청 헤더
헤더명 | 필수 여부 | 설명 |
---|---|---|
x-ncp-apigw-timestamp | YES | 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 나타내며 API Gateway 서버와 시간 차가 5분 이상 나는 경우 유효하지 않은 요청으로 간주x-ncp-apigw-timestamp:{Timestamp} |
x-ncp-iam-access-key | YES | 네이버 클라우드 플랫폼 포털에서 발급받은 Access Key ID 값x-ncp-iam-access-key:{Sub Account Access Key} |
x-ncp-apigw-signature-v2 | YES | Access Key ID 값과 Secret Key로 암호화한 서명x-ncp-apigw-signature-v2:{API Gateway Signature} |
x-ncp-region_code | YES | 리전 코드 (KR) |
요청 바디
필드명 | 필수 여부 | 타입 | 제약 사항 | 설명 |
---|---|---|---|---|
channelName | Yes | String | 최소 3글자 이상 최대 20자 문자까지 입력 가능 특수 문자“_” 허용 | 생성할 채널의 이름 |
envType | Optional | String | DEV, STAGE, REAL | 생성할 채널의 사용 구분을 위한 설정 입력 하지 않을 경우 REAL 로 설정됨 |
outputProtocol | Optional | String | HLS / HLS,DASH / LL_HLS | 입력 하지 않을 경우 HLS 로 디폴트 셋팅 HLS/HLS,DASH 프로토콜과 LL_HLS 프로토콜 간 상호 전환은 지원하지 않음. |
useDvr | Yes | Boolean | true, false | |
immediateOnAir | Yes | Boolean | true, false | 송출과 동시에 녹화가 진행되는 자동 녹화 옵션 |
timemachineMin | Yes | Integer | 단위는 분(minutes) 이며 360 으로만 설정 가능 | 녹화 시작 시점까지 영상을 되돌려 볼 수 있는 타임머신 기능 관련 옵션 useDvr 이 true 일 경우 반드시 설정해야 함 |
record | Yes | Object | ||
record.format | Yes | String | MP4,HLS,ALL | 버킷으로 자동 저장 되는 녹화 파일의 타입을 지정 |
record.type | Yes | String | NO_RECORD, AUTO_UPLOAD, MANUAL_UPLOAD | 저장된 녹화 파일 업로드 타입을 지정 "NO_RECORD" 로 설정시 녹화 기능 사용 불가 |
record.bucketName | Optional | String | 자동 저장 기능을 통해 라이브 방송 종료 후 입력한 Bucket 에 녹화 파일이 자동 저장 | |
record.filePath | Optional | String | 자동 저장 기능을 통해 라이브 방송 종료 후 지정한 filePath 에 녹화 파일이 자동 저장 filePath 는 "/" 부터 시작 해야함 | |
record.accessControl | Optional | String | PRIVATE, PUBLIC_READ | 자동 저장 기능을 통해 녹화 파일 업로드시 Object Storage Bucket 공개 범위를 지정하는 옵션 Default: PRIVATE |
응답
필드명 | 타입 | 설명 | 비고 |
---|---|---|---|
channelId | String | ||
channelName | String | ||
instanceNo | String | ||
qualitySetId | Integer | ||
qualitySetName | String | ||
outputProtocol | String | ||
channelStatus | String | CREATING, READY, PUBLISH, DELETED,BLOCK, FORCE_BLOCK, FORCE_DELETED | |
isRecording | Boolean | ||
useDvr | Boolean | ||
immediateOnAir | Boolean | true, false | |
timemachineMin | Integer | 단위: Minute | |
uploadPath | String | AUTO_UPLOAD 옵션일때 녹화 파일 업로드 경로 | |
record | Object | ||
record.format | String | MP4,HLS,ALL | |
record.type | String | NO_RECORD, AUTO_UPLOAD, MANUAL_UPLOAD | |
record.bucketName | String | ||
record.filePath | String | ||
record.accessControl | String | PRIVATE, PUBLIC_READ | |
cdn | Object | ||
cdn.cdnType | String | GLOBAL_CDN, GLOBAL_EDGE | |
cdn.instanceNo | String | NO_CDN 이면 0 | |
cdn.profileId | Integer | Global Edge 의 프로필 ID | NO_CDN 이면 0 |
cdn.statusName | String | CDN 상태 | RUNNING, PUBLISHING, STOPPING, STOPPED, CREATING, CHANGING, CDN_NOT_FOUND |
cdn.serviceName | String | CDN Service Name | NO_CDN 이면 "" |
cdn.cdnDomain | String | CDN Domain | NO_CDN 이면 "" |
publishUrl | String | ||
globalPublishUrl | String | 해외 송출 지원을 위한 URL | |
streamKey | String | ||
recentPublishStartTime | Integer | ||
createdTime | Integer | ||
alertOn | Boolean | ||
alertOptions | Object | ||
alertOptions.alertChangeStatus | Boolean | ||
alertOptions.alertVodUploadFail | Boolean | ||
alertOptions.alertReStreamFail | Boolean | ||
totalPublishSeconds | Integer | ||
envType | String | DEV, STAGE, REAL | |
callbackEndpoint | String | ||
backupStreamKey | String | 송출 이중화를 위한 백업 스트림키 | |
isStreamFailOver | Boolean | 송출 이중화 설정 적용 여부 | true, false |
origin | Object | CDN 연동을 위한 Live station 원본 정보 | |
origin.originDomain | String | CDN 연동을 위한 Live station 원본 도메인 | |
origin.originPath | String | CDN 연동을 위한 Live station 원본 상세 경로 | |
drmEnabledYn | Boolean | DRM Encryption 설정 적용 유무 | |
drm | Object | Live Station 을 활용한 DRM Encryption 설정 | |
drm.siteId | String | One Click Multi DRM 상품을 통해 생성한 site id | |
drm.contentId | String | DRM Encryption 을 적용할 콘텐츠의 고유 ID DRM 패키징을 위해 사용되며 최소 3글자 이상 영문/숫자 또는 ‘-'(하이픈), ‘_'(언더바) 포함 최대 100자 문자까지 입력 가능합니다. |
예시
요청 예시
PUT /api/v2/channels/ls-20210720153935-PjPQi
HOST: livestation.apigw.ntruss.com
Content-Type: application/json
x-ncp-apigw-timestamp:1521787414578
x-ncp-iam-access-key:6uxz1nKkcYwUjWRG5Q1V7NsW0i5jErlu2NjBXXgy
x-ncp-apigw-signature-v2:iJFK773KH0WwQ79PasqJ+ZGixtpDQ/abS57WGQdld2M=
x-ncp-region_code:KR
//Request body
{
"channelName": "mychannel2",
"envType": "DEV",
"outputProtocol": "HLS",
"immediateOnAir": false,
"record": {
"type": "NO_RECORD"
},
"timemachineMin": 360,
"useDvr": true
}
응답 예시
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 26 Sep 2021 09:53:32 GMT
Content-Type: application/json;charset=utf-8
Connection: keep-alive
Access-Control-Allow-Origin: *
x-ncp-trace-id: 36c9k60om4p3238cpmc9gm4cj4
{
"content": {
"channelId": "ls-20210720153935-PjPQi",
"channelName": "mychannel2",
"instanceNo": 1163899,
"qualitySetId": 6,
"qualitySetName": "360p-set",
"outputProtocol": "HLS,",
"channelStatus": "READY",
"isRecording": false,
"useDVR": true,
"immediateOnAir": false,
"timemachineMin": 360,
"cdn": {
"instanceNo": "1163900",
"serviceName": "edge-ls-20230914204831-1BRHO",
"statusName": "RUNNING",
"cdnType": "GLOBAL_EDGE",
"cdnDomain": "mycdn.edge.naverncp.com",
"profileId": 299,
"regionType": "KOREA"
},
"record": {
"type": "NO_RECORD"
},
"drm": {
"contentId": "my-first-drm",
"siteId": "drm-20231120182420-dPTGn"
},
"drmEnabledYn": true,
"publishUrl": "rtmp://live-station-rtmp-url",
"globalPublishUrl": "rtmp://live-station-global-rtmp-url",
"streamKey": "jjiantco4psakuwd5526u2glcxrqaar4",
"totalPublishSeconds": 0,
"createdTime": 1584931640000,
"recentPublishStartTime": 0,
"alertOn": false,
"alertOptions": {
"alertChangeStatus": false,
"alertVodUploadFail": false,
"alertReStreamFail": false
},
"callbackEndpoint": "https://my-callback-endpoint",
"envType": "REAL",
"origin": {
"originDomain": "ls-k1.video.media.ntruss.com",
"originPath": "1"
},
"backupStreamKey": "lbuy4dcrxk2ctxs8uqxanpy833p08vvz?backup=true",
"isStreamFailOver": true
}
}
이 문서가 도움이 되었습니까?