인코딩 옵션 생성
- 인쇄
- PDF
인코딩 옵션 생성
- 인쇄
- PDF
기사 요약
이 요약이 도움이 되었나요?
의견을 보내 주셔서 감사합니다.
VOD Station은 인코딩 옵션을 생성하기 위한 API를 제공하며 생성한 인코딩 옵션 조회를 위해 인코딩 옵션 목록 조회 API와 인코딩 옵션 정보 조회 API를 제공합니다.
요청
POST https://vodstation.apigw.ntruss.com/api/v2/encoding-option
요청 헤더
헤더명 | 설명 |
---|---|
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 | 영문, 숫자, 쌍점( : ), 붙임표( - ), 밑줄 문자( _ ) 허용, 3자 이상 20자 이하 | 생성할 사용자 지정 인코딩 옵션의 이름 | |
format | Yes | String | MP4 | 변환된 미디어 파일 컨테이너 포맷 | |
encodingOptionType | No | String | NORMAL, AUDIO | NORMAL | - 사용자 지정 인코딩 옵션의 타입 비디오와 오디오를 포함하는 NORMAL 프리셋 혹은 오디오 스트림만 포함하는 AUDIO 프리셋 선택 |
audio | Yes | Object | 트랜스코딩 오디오 옵션 설정 객체 | ||
audio.codec | Yes | String | AAC | 오디오 코덱 설정 | |
audio.channel | Yes | String | AUTO, 1, 2 | - 출력 오디오의 채널 설정 AUTO 설정 시 원본의 오디오 채널을 사용 참고: 인풋 미디어 파일의 오디오 채널과 다른 설정으로 인코딩 시 볼륨의 변화가 발생 할 수 있음 | |
audio.bitrate | Yes | Integer | 16~320 범위의 정수, 단위: Kbps | 트랜스코딩할 오디오 스트림의 비트 전송률 설정 | |
audio.samplingRate | Yes | Integer | AUTO(-2), 22050 , 32000, 44100, 48000 단위: Hz | 출력 오디오 샘플링 레이트 설정 AUTO 설정 시 원본의 오디오 샘플링 레이트를 사용 | |
video | Yes | Object | - 트랜스코딩 비디오 옵션 설정 객체 encodingOptionType이 AUDIO 일 경우 video 객체 생략 | ||
video.codec | Yes | String | AVC | 비디오 코덱 설정 AVC (H.264) 지원 | |
video.codecOptions | Yes | Object | 비디오 코덱 상세 옵션 설정 객체 | ||
video.codecOptions.profile | Yes | String | BASELINE, MAIN, HIGH | Video Codec Profile은 영상의 사용 용도에 맞게 H.264 코덱의 특정 기술을 사용할 수 있도록 미리 정의해 둔 표준 명세 | |
video.codecOptions.level | Yes | String | 1, 1b, 1.1, 1.2, 1.3, 2.1, 2.2, 3.1, 3.2, 4.1, 4.2, 5.1, 5.2 | Video Codec Level은 영상을 재생하는 단말의 재생기(디코더)가 어느정도 자원을 필요로 하는지 정해놓은 표준 명세 | |
video.bitrate | Yes | Integer | bitrate > 0 단위: Kbps | 비디오 스트림의 비트 전송률 설정 동영상의 화질을 결정하는 매우 중요한 요소이며 1초 분량의 동영상을 구성하는 데이터의 크기를 설정 | |
video.width | Yes | Integer | AUTO(-2), 96~4096 범위의 정수 단위: 픽셀 | 출력 비디오의 가로 길이 width 만 AUTO 일 경우 height 는 고정되며 width 는 본 영상의 비율에 맞춰 변환 | |
video.height | Yes | Integer | AUTO(-2), 96~4096 범위의 정수 단위: 픽셀 | 출력 비디오의 세로 길이 height 만 AUTO 일 경우 width 는 고정되며 height 는 본 영상의 비율에 맞춰 변환 | |
video.framerate | Yes | Double | AUTO(-2), 10, 15, 23.97, 24, 29.97, 30, 50, 60 | 초당 프레임 수를 설정 출력 비디오 스트림에 초당 몇 개의 프레임을 보여 줄지 설정 | |
video.maxFramerate | No | Integer | 10~60 사이 정수값 | video.framerate가 AUTO일때만 사용하며, 최대 framerate를 설정 | |
video.keyframeInterval | Yes | Integer | 1~100 범위의 정수값 | 키프레임 간격 설정 비디오에 키 프레임 생성되는 간격 (단위: 초) | |
video.rateControl | Yes | String | AUTO,ABR, CRF, CBR video.pass 가 2-Pass 인 경우, ABR 만 허용 | ABR | - 비디오 변환시 비트레이트 배분 방식 CBR: 고정 비트레이트로 모든 프레임에 비트레이트를 같게 변환 비트레이트가 고정되어 결과물 용량을 예측하기 쉬우나 ABR, CRF 대비 품질이 낮음 CRF: 압축 효율이 좋은편이며 인코딩 전 비트레이트와 파일크기를 지정할 수 없음 ABR: 가용 비트레이트로 평균 비트레이트를 유지하며 필요 비트레이트에 따라 가변적으로 변환 |
video.pass | Yes | String | 1-Pass, 2-Pass | - 비디오 변환 시 사용할 인코딩 방식 1-Pass에 비해 2-Pass는 주어진 bitrate 를 효율적으로 활용하나 인코딩 소요 시간이 길어짐 |
응답
필드명 | 타입 | 설명 | 비고 |
---|---|---|---|
error | Object | 요청 실패 시 응답 오류 응답 코드 및 메시지 | |
error.code | Integer | 오류 응답 코드 | |
error.message | String | 오류 응답 메시지 | |
content | Object | VOD Station OPEN API 응답 객체 | |
content.disabled | Boolean | subaccount 제공 필드 해당 리소스가 subaccount에서 활성 여부 | |
content.id | String | 인코딩 옵션 ID | |
content.name | String | 인코딩 옵션의 이름 | |
content.format | String | 변환된 미디어 파일 컨테이너 포맷 | |
content.encodingOptionType | String | 인코딩 옵션의 타입 | |
content.audio | Object | 트랜스코딩 오디오 옵션 설정 객체 | |
content.audio.codec | String | 오디오 코덱 설정 | |
content.audio.channel | Integer | 출력 오디오의 채널 설정 | |
content.audio.bitrate | Integer | 트랜스코딩할 오디오 스트림의 비트 전송률 설정 (단위 : Kbps) | |
content.audio.samplingRate | Integer | 출력 오디오 샘플링 레이트 (단위 : Hz) | |
content.video | Object | 트랜스코딩 비디오 옵션 설정 객체 | |
content.video.codec | String | 비디오 코덱 설정 | |
content.video.codecOptions | Object | 비디오 코덱 상세옵션 설정 객체 | |
content.video.codecOptions.profile | String | 설정된 Video Codec Profile | |
content.video.codecOptions.level | String | 설정된 Video Codec Level | |
content.video.bitrate | Integer | 비디오 스트림의 비트 전송률 (단위 : Kbps) | |
content.video.width | Integer | 출력 비디오의 너비 | |
content.video.height | Integer | 출력 비디오의 높이 | |
content.video.framerate | Double | 초당 프레임 수 | |
content.video.keyframeInterval | Integer | 비디오에 키 프레임이 생성되는 간격 (단위 : 초) | |
content.video.rateControl | String | 비트레이트 배분 방식 | |
content.defaultSet | Boolean | 시스템 제공 프리셋 여부 |
예시
요청 예시
POST https://vodstation.apigw.ntruss.com/api/v2/encoding-option
POST /api/v2/encoding-option
HOST: vodstation.apigw.ntruss.com
Content-Type: application/json
x-ncp-region_code:KR
x-ncp-apigw-timestamp:1521787414578
x-ncp-iam-access-key:6uxz1nKkcYwUjWRG5Q1V7NsW0i5jErlu2NjBXXgy
x-ncp-apigw-signature-v2:iJFK773KH0WwQ79PasqJ+ZGixtpDQ/abS57WGQdld2M=
Reqeust body
{
"audio": {
"bitrate": 192,
"channel": 2,
"codec": "AAC",
"samplingRate": 44100
},
"encodingOptionType": "NORMAL",
"format": "MP4",
"name": "basic-enc-option",
"video": {
"bitrate": 5000,
"codec": "AVC",
"codecOptions": {
"level": "3.1",
"profile": "MAIN"
},
"framerate": 30.0,
"height": 1080,
"keyframeInterval": 2,
"pass": "1-Pass",
"rateControl": "ABR",
"maxFramerate": 30,
"width": 1920
}
}
응답 예시
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 12 Sep 2018 09:53:32 GMT
Content-Type: application/json;charset=utf-8
Connection: keep-alive
Access-Control-Allow-Origin: *
x-ncp-trace-id: 36c9k60om4p3238cpmc9gm4cj4
{
"content": {
"disabled": false,
"id": 10058,
"encodingOptionType": "NORMAL",
"name": "basic-enc-option",
"format": "MP4",
"video": {
"codec": "AVC",
"codecOptions": {
"profile": "MAIN",
"level": "3.1"
},
"bitrate": 5000,
"width": 1920,
"height": 1080,
"framerate": 30,
"maxFramerate": 30,
"keyframeInterval": 2,
"rateControl": "ABR",
"pass": "1-Pass"
},
"audio": {
"codec": "AAC",
"bitrate": 192,
"channel": 2,
"samplingRate": 44100
}
}
}
이 문서가 도움이 되었습니까?