エンコードオプションの作成

Prev Next

Classic/VPC環境で利用できます。

Object Storageに保存されているメディアソースファイルをモバイル、PCなど各種デバイスでさまざまな画質で視聴できるように変換するエンコードオプションを作成します。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
POST /api/v2/encoding-option

リクエストヘッダ

VOD Station APIで共通して使用されるヘッダの詳細は、VOD Stationのリクエストヘッダをご参照ください。

リクエストボディ

リクエストボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
encodingOptionType String Optional エンコードオプションタイプ
  • NORMAL (デフォルト) | AUDIO
    • NORMAL: ユーザー指定エンコードオプションタイプのビデオとオーディオストリームを含むプリセット
    • AUDIO: オーディオストリームのみ含むプリセット
name String Required ユーザー指定エンコードオプション名
  • 英数字、記号の「:」、「-」、「_」を使用して3~20文字以内で入力
format String Required 変換されたメディアファイルコンテナの形式
  • MP4 (有効値)
video Object Required ビデオエンコードオプション情報
  • encodingOptionTypeAUDIOの場合、オブジェクトを省略
video.codec String Required ビデオコーデックの形式
  • AVC (H.264をサポート)
video.codecOptions Object Required ビデオコーデックの詳細オプション情報
video.codecOptions.profile String Required ビデオコーデックプロファイル(Video Codec Profile)
  • BASELINE | MAIN | HIGH
  • ビデオの使用用途に合わせて H.264コーデックの特定の技術を使用できるようにあらかじめ定義しておいた標準明細
video.codecOptions.level String Required ビデオコーデックレベル(Video Codec Level)
  • 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.bitrate Integer Required ビデオストリームのビットレート(Kbps)
  • ビデオの画質を左右する非常に重要な要素で、1秒間のビデオを構成するデータのサイズを設定
video.width Integer Required 出力ビデオの幅(ピクセル)
  • -2 | {幅}
  • 96~4096
  • 自動(AUTO): -2
  • video.widthのみ-2(自動)の場合、video.heightは固定され、video.widthはそのビデオのアスペクト比に合わせて変換
video.height Integer Required 出力ビデオの高さ(ピクセル)
  • -2 | {高さ}
  • 96~4096
  • 自動(AUTO): -2
  • video.heightのみ-2(自動)の場合、video.widthは固定され、video.heightはそのビデオのアスペクト比に合わせて変換
video.framerate Double Required 1秒当たりのフレーム数(fps)
  • -2 (自動) | 10 | 15 | 23.97 | 24 | 29.97 | 30 | 50 | 60
video.maxFramerate Double Optional 1秒当たりの最大フレーム数(fps)
  • video.framerate-2(自動)の場合にのみ使用
  • 10~60
video.keyframeInterval Integer Required ビデオにキーフレームが作成される間隔(秒)
  • 1~100
video.rateControl String Required ビデオ変換時のビットレート配分方式
  • AUTO | ABR | CRF | CBR
    • AUTO: 自動
    • ABR: 平均ビットレート(Average Bitrate)。平均ビットレートを維持しながら、必要なビットレートに応じて可変的に変換。CBRより優れていて、CRFより落ちる中間品質
    • CRF: 固定画質(Constant Rate Factor). 一定の視覚品質を目標にしてビットレートを調整。容量に比べて圧縮効率が良く、品質は優れているが、エンコード前のビットレートとファイルサイズを指定できず、最終容量も予測できない
    • CBR: 固定ビットレート(Constant Bitrate)。すべてのフレームに同じビットレートを割り当てることで、結果の容量を簡単に予測できるが、品質は低下する
  • video.pass2-Passの場合、ABRのみ有効
video.pass String Required ビデオ変換時のエンコードパス設定
  • 1-Pass | 2-Pass
    • 1-Pass: エンコードを1回実行
    • 2-Pass: エンコードを2回実行
  • 2-Pass1-Passに比べてビットレート(bitrate)を効率的に活用するが、エンコード所要時間が増加
audio Object Required オーディオエンコードオプション情報
audio.codec String Required オーディオコーデックの形式
  • AAC | MP3
audio.bitrate Integer Required オーディオストリームのビットレート(Kbps)
  • 16~320
audio.channel Integer Required 出力オーディオのチャンネル数設定
  • AUTO | 1 | 2
    • AUTO: 自動
    • 1: モノ
    • 2: ステレオ
  • AUTO設定時、ソースのオーディオチャンネルを使用
  • エンコード時、入力メディアファイルのオーディオチャンネルと異なる設定でエンコードする場合、音量の変化が発生する可能性がある
audio.samplingRate Integer Required 出力オーディオサンプリングレート(Hz)
  • -2 (自動) | 22050 | 32000 | 44100 | 48000
  • -2(自動)に設定するとソースのオーディオサンプリングレートを使用

リクエスト例

リクエストのサンプルコードは次の通りです。

curl --location --request POST 'https://vodstation.apigw.ntruss.com/api/v2/encoding-option' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--data '{
    "encodingOptionType": "NORMAL",
    "name": "vodstation_uhd",
    "format": "MP4",
    "video": {
        "codec": "AVC",
        "codecOptions": {
            "profile": "HIGH",
            "level": "5.1"
        },
        "bitrate": 18000,
        "width": 3840,
        "height": 2160,
        "framerate": -2.0,
        "maxFramerate": 30,
        "keyframeInterval": 2,
        "rateControl": "ABR",
        "pass": "1-Pass"
    },
    "audio": {
        "codec": "AAC",
        "bitrate": 192,
        "channel": 2,
        "samplingRate": 48000.0
    }
}'

レスポンス

レスポンス形式を説明します。

レスポンスボディ

レスポンスボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
content Object - レスポンス結果
content.disabled Boolean - Sub Accountは無効化するか
  • true | false
    • true: 無効化
    • false: 有効化
content.id Integer - エンコードオプション ID
content.encodingOptionType String - エンコードオプションタイプ
  • NORMAL | AUDIO
    • NORMAL: ビデオエンコードオプション
    • AUDIO: オーディオエンコードオプション
content.name String - エンコードオプション名
content.format String - 変換されたメディアファイルコンテナの形式
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 - 1秒当たりのフレーム数(fps)
content.video.maxFramerate Double - 1秒当たりの最大フレーム数(fps)
content.video.keyframeInterval Double - ビデオにキーフレームが作成される間隔(秒)
content.video.rateControl String - ビットレートの配分方式
  • AUTO | ABR | CRF | CBR
    • AUTO: 自動
    • ABR: 平均ビットレート(Average Bitrate)
    • CRF: 固定品質(Constant Rate Factor)
    • CBR: 固定ビットレート(Constant Bitrate)
content.video.pass String - ビデオ変換時のエンコードパス設定
  • 1-Pass | 2-Pass
    • 1-Pass: エンコードを1回実行
    • 2-Pass: エンコードを2回実行
content.audio Object - オーディオエンコードオプション情報
content.audio.codec String - オーディオコーデックの形式
content.audio.bitrate Integer - オーディオストリームのビットレート(Kbps)
content.audio.channel Integer - 出力オーディオのチャンネル数設定
  • AUTO | 1 | 2
    • AUTO: 自動
    • 1: モノ
    • 2: ステレオ
content.audio.samplingRate Double - 出力オーディオサンプリングレート(Hz)
content.regionNo String - リージョン番号
  • 1 (有効値)
    • 1: 韓国リージョン
content.memberNo Integer - メンバー番号

レスポンスステータスコード

VOD Station APIで共通して使用されるレスポンスステータスコードの詳細は、VOD Stationのレスポンスステータスコードをご参照ください。

レスポンス例

レスポンスのサンプルコードは次の通りです。

{
    "content": {
        "disabled": false,
        "id": 1111,
        "encodingOptionType": "NORMAL",
        "name": "vodstation_uhd",
        "format": "MP4",
        "video": {
            "codec": "AVC",
            "codecOptions": {
                "profile": "HIGH",
                "level": "5.1"
            },
            "bitrate": 18000,
            "width": 3840,
            "height": 2160,
            "framerate": -2.0,
            "maxFramerate": 30.0,
            "keyframeInterval": 2.0,
            "rateControl": "ABR",
            "pass": "1-Pass"
        },
        "audio": {
            "codec": "AAC",
            "bitrate": 192,
            "channel": 2,
            "samplingRate": 48000.0
        },
        "regionNo": "1",
        "memberNo": 2*****2
    }
}