네이버 클라우드 플랫폼의 상품 사용 방법을 보다 상세하게 제공하고, 다양한 API의 활용을 돕기 위해 [설명서][API 참조서]를 구분하여 제공하고 있습니다.

VOD Transcoder의 Job Operation API는 v1(구버전)과 v2(신버전)를 제공하고 있습니다.

VOD Transcoder(v2, 신버전) API 참조서 바로가기 >>

VOD Transcoder(v1, 구버전) 설명서 바로가기 >>

  • VOD Transcoder의 File Storage 연동 및 VOD Transcoder v1 API는 2019년 5월부터 지원이 중단됩니다.

VOD Transcoder API 시작 가이드

이 가이드는 VOD Transcoder API를 이용하여 Job을 생성하고 변환 완료된 출력물을 확인하는 사용자 시나리오와 그 밖의 기능을 설명합니다.

사용자 시나리오에 명시된 인증키 및 파일명은 예시이며, VOD Transcoder API 사용에 이해를 돕기 위해 만든 시나리오이므로 원하는 상황에 따라 커스터마이징하여 사용하면 됩니다.

  • VOD Transocder API v1은 안정적인 처리를 위해 초당 12회로 요청 수를 제한하고 있습니다.
  • VOD Transcoder의 Job Operation API는 두 가지 버전(v1/v2) 이 있으며 이 가이드는 File Storage를 지원하는 v1 버전을 기준으로 작성되었습니다.
  • VOD Transcoder API HTTP Request와 Response body를 통해 전달되는 모든 데이터의 content-type은 application/json을 사용합니다.
  • 2019년 5월부터 VOD Transcoder의 File Stroage 연동 및 VOD Transcoder v1 API의 지원이 중단됩니다.

VOD Transcoder API 사용 시나리오

VOD Transcoder API 사용 시나리오는 다음과 같습니다.

Step 1. File Storage에 변환할 영상 업로드

VOD Transcoder로 변환할 영상을 네이버 클라우드 플랫폼 File Storage에 업로드합니다. VOD Transcoder에서 지원하는 영상 포맷 정보는 다음과 같습니다.

  • 만약 지원되지 않는 포맷 변환이 필요하다면, 고객 센터로 문의 부탁드립니다.
  • 지원 컨테이너 포맷: AVI, MOV, MP4, 3GP, MPG, MPEG, M4V, VOB, WMV, ASF, MKV, FLV, WEBM
  • 지원 비디오 코덱: H.264, VP9, VP8, MPEG-2, Animated GIF
  • 지원 오디오 코덱: AAC, MP3, MP2, PCM, FLAC, Vorbis

File Storage에 대한 자세한 내용은 "File Storage 사용 가이드"를 참고하세요.

Step 2. 인증키 생성

API 인증키 생성

VOD Transcoder API는 네이버 클라우드 플랫폼 API Gateway를 통하여 제공되며, API Gateway에 등록된 API를 사용하기 위해서는 3가지 인증키(Access Key ID, Secret Key, API Key)를 발급받아야 합니다.

API 인증키 발급에 대한 자세한 내용은 "API GATEWAY 설명서(구, 사용자 가이드)"를 참고하세요.

  • 인증키 생성
    • 네이버 클라우드 플랫폼 포털의 마이페이지 > 계정관리 > 인증키 관리 메뉴에서 신규 API 인증키 생성을 클릭하여 Access Key ID, Secret Key를 생성합니다.
    • 만약 Access Key ID, Secret Key가 있다면 해당 키를 사용합니다.
  • API Key 생성
    • Console의 API Gateway 메뉴에서 API Key 생성을 클릭하여 API Key를 생성합니다.

Step 3. 프리셋 목록 조회: presetId 확인

프리셋 목록을 조회하여 변환할 presetId를 확인합니다.

요청 예시

GET https://vodtranscoder.apigw.ntruss.com/api/v1/presets

응답 예시

HTTP/1.1 200 OK
Server: nginx
Date: Wed, 12 Sep 2018 09:53:32 GMT
Content-Type: application/json;charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Access-Control-Allow-Origin: *
x-ncp-trace-id: 36c9k60om4p3238cpmc9gm4cj4

{"presetOverviewList":[{"presetId":"0dd0decd-04c9-11e8-b51d-421453cae184","presetGroup":"system","presetType":"240P","presetCostType":"SD","presetName":"Generic 320x240","createTime":0,"profile":{"videoCodec":"H264","videoBitrate":"300","profile":"BASELINE","width":320,"height":240,"level":"1.3","framerate":"15.0","keyframeInterval":90,"audioCodec":"AAC","audioBitrate":"64","audioSamplingRate":"22050","audioChannel":2}},{"presetId":"283a0b36-4856-11e8-89b0-421453cae184","presetGroup":"system","presetType":"240P","presetCostType":"SD","presetName":"Generic 777p 4:3","createTime":0,"profile":{"videoCodec":"H264","videoBitrate":"300","profile":"BASELINE","width":320,"height":240,"level":"1.3","framerate":"60.0","keyframeInterval":90,"audioCodec":"AAC","audioBitrate":"64","audioSamplingRate":"22050","audioChannel":2}}], "responseStatus":"OK"}

Step 4. Job 생성

필수 설정값을 json으로 만들어 Job 생성 요청의 body에 넣어 보냅니다.

요청 예시 (360p, 480p, 1080p 3개 화질로 영상을 변환하는 Job 생성 요청)

POST https://vodtranscoder.apigw.ntruss.com/api/v1/jobs

{"jobName": "api-guide", "inputs": [{ "inputContainerName": "api-guide","inputFilePath": "/Sample.mp4"}],"output":{"outputContainerName": "api-guide","outputFilePath": "/vodtr/","thumbnailOn":"true","thumbnailContainerName": "api-guide","thumbnailFilePath":"/vodtr/","outputFiles": [{"presetId": "0dfd1eee-04c9-11e8-b51d-421453cae184","outputFileName": "720p"}]}}

응답 예시

HTTP/1.1 200 OK
Server: nginx
Date: Wed, 12 Sep 2018 10:18:11 GMT
Content-Type: application/json;charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Access-Control-Allow-Origin: *
x-ncp-trace-id: 68d1o68pm4cr63gc3169gm4p34

{"jobs":[{"jobId":"ohkivb8pbqxxo5z8kayhn8pqnpnzmkbz"}],"error":{"errorCode":0,"message":"Ok"}}

Step 5. Job 생성 확인

Job 목록 API 요청을 통해 현재까지 생성된 Job을 조회할 수 있으며, Job의 상세 정보까지 함께 확인할 수 있습니다.

기본적으로 조회 시점부터 1달 이내 생성된 Job 목록을 조회할 수 있으며, 파라미터를 설정하여 최대 3개월까지 Job을 조회할 수 있습니다("Job 목록 조회" 참고).

요청예시

GET https://vodtranscoder.apigw.ntruss.com/api/v1/jobs

응답예시

HTTP/1.1 200 OK
Server: nginx
Date: Wed, 12 Sep 2018 10:20:21 GMT
Content-Type: application/json;charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Access-Control-Allow-Origin: *
x-ncp-trace-id: 3cc9hcpim4c9h62oj3cgo6ccr5

{"jobs":[{"jobId":"ohkivb8pbqxxo5z8kayhn8pqnpnzmkbz","createdTime":1536226046,"submittedTime":1536226046,"startedTime":1536226048,"finishedTime":1536226059,"status":"SUCCESS","jobErrorCode":"OK","storageType":"file","jobName":"api-guide","inputs":[{"metadata":{"fileName":"Sample.mp4","fileSize":411355012,"duration":600,"profile":{"videoCodec":"AVC","videoBitrate":"5120.0","profile":"","width":1920,"height":1080,"level":"","framerate":"23.976","keyframeInterval":0,"audioCodec":"AAC","audioBitrate":"320","audioSamplingRate":"48000.0","audioChannel":2,"containerFormat":"MPEG-4"}},"inputContainerName":"api-guide","inputFilePath":"/Sample.mp4"}],"output":{"outputContainerName":"api-guide","outputFilePath":"/vodtr/","thumbnailOn":"true","thumbnailContainerName":"api-guide","thumbnailFilePath":"/vodtr/","outputFiles":[{"presetId":"0dfd1eee-04c9-11e8-b51d-421453cae184","outputFileName":"720p.mp4","metadata":{"fileName":"720p.mp4","fileSize":194916970,"duration":600.666.0,"profile":{"videoCodec":"avc1","videoBitrate":"2433.0","profile":"","width":1280,"height":720,"level":"0","framerate":"30.0","keyframeInterval":0,"audioCodec":"AAC","audioBitrate":"160.0","audioSamplingRate":"44100.0","audioChannel":2,"containerFormat":""}}}]}}],"error":{"errorCode":0,"message":"Ok"}}

API를 통해 생성된 Job의 상세 현황은 VOD Transcoder 콘솔에서 보다 자세하게 확인하실 수 있습니다.

  • 예시: api-test Job 생성 시 콘솔 현황

그 밖의 기능

VOD Transcoder 사용 시나리오에서 소개된 내용 외의 기능을 설명합니다.

Job 목록 조회

파라미터를 설정하여 원하는 조건에 맞춰 Job 목록을 조회할 수 있습니다.

일정 기간 내 생성된 Job을 조회하고 싶을 경우

GET https://vodtranscoder.apigw.ntruss.com/api/v1/jobs?startTime=1520089200&endTime=1522767600

일정 기간 내 생성된 Job을 paging 처리하여 조회하고 싶을 때

  • 예시: 생성된 Job이 30개라면 페이지당 10개씩 노출되도록 Job 목록 조회
  • 참고: offset = { (paging number) - 1 } x limit
GET https://vodtranscoder.apigw.ntruss.com/api/v1/jobs?startTime=1520089200&endTime=1522767600&limit=10
GET https://vodtranscoder.apigw.ntruss.com/api/v1/jobs?startTime=1520089200&endTime=1522767600&limit=10&offset=1
GET https://vodtranscoder.apigw.ntruss.com/api/v1/jobs?startTime=1520089200&endTime=1522767600&limit=10&offset=2

Job 생성 취소

만약 생성한 Job을 취소하고 싶다면 다음과 같은 순서로 실행합니다.

  • Step 1. Job 생성 응답 혹은 Job 목록 조회를 통한 Job ID 획득
  • Step 2. Job 생성 취소 요청

단, submitted 상태인 Job만 생성 취소 가능합니다.

Step 1. Job 생성 응답을 통한 Job ID 획득

{
  "jobs": [
    {
      "jobId": "8tnouxvdyzqgcfg4lxhn0dw81sk8sujq"
    }
  ],
  "error": {
    "errorCode": 0,
    "message": "Ok"
  }
}

Step 2. Job 취소 요청

요청 예시
GET https://vodtranscoder.apigw.ntruss.com/api/v1/8tnouxvdyzqgcfg4lxhn0dw81sk8sujq/cancel
정상적인 Job 취소 응답 예시
{
  "error": {
    "errorCode": 0,
    "message": "success"
  }
}
Progressing 상태 Job을 취소 요청시 응답 예시
{
  "error": {
    "errorCode": 240005,
    "message": "Bad Request"
  }
}

Custom preset 생성

Custom preset 생성 전 필수 요청 파라미터를 확인하여 Preset 생성을 요청합니다.

Custom preset 삭제

생성한 Custom preset을 삭제할 수 있습니다.

Step 1. Preset 목록 조회를 통해 삭제할 Preset ID 획득

GET https://vodtranscoder.apigw.ntruss.com/api/v1/presets

Step 2. Preset ID 삭제 요청

요청 예시

DELETE https://vodtranscoder.apigw.ntruss.com/api/v1/preset/f8eb8fd5-4372-11e8-8beb-421453cae184

응답 예시

{
  "error": {
    "errorCode": 0,
    "message": "success"
  }
}

연관 가이드

""에 대한 건이 검색되었습니다.

    ""에 대한 검색 결과가 없습니다.

    처리중...