入力動画を HDR に変換する

このページでは、コード変換ジョブの入力動画を、サポートされているハイ ダイナミック レンジ(HDR)形式または標準ダイナミック レンジ(SDR)形式に変換する方法について説明します。Transcoder API は、高効率ビデオ コーディング(HEVC)を色変換のプライマリ コーデックとして使用します。色変換形式を指定しない場合、パススルーはデフォルトで有効になります。

色変換形式

HEVC は、サポートされている色変換形式に使用されるメイン コーデックで、以下のものが含まれます。

  • ハイブリッド ログガンマ(HLG)
  • SDR
  • HDR10

H.264 ストリームと VP9 ストリームでは、HLG と SDR のみがサポートされます。サポートされているコーデックと上記のカラー形式の間のすべての変換はサポートされています。

パススルー

色変換形式を指定しない場合、パススルーはデフォルトで有効になります。

パススルーの場合、Transcoder API は入力カラーのプライマリ、転送関数、範囲、彩度の位置、色空間を使用します。プロセスでは色変換が行われません。入力が HDR10(または HDR10+)と HEVC の場合、Transcoder API は、出力動画にメタデータを渡します。

入力のカラー形式をサポートしていない出力コーデックを指定すると、パススルーがベスト エフォートになります。たとえば、入力 HDR10 動画には profilepixelFormat の 10 ビット オプションがあります。profile に対して 8 ビット オプションを使用して出力を H.265 として指定した場合、HDR10 は profile に対して 8 ビット オプションでは機能しないため、出力は有効な HDR10 動画ではありません。

変換の例

カラー変換形式を指定するには、空の hlg オブジェクト、hdr10 オブジェクト、または sdr オブジェクトを使用します。以下のセクションでは、特定の変換をおこなうために VideoStream に追加する JSON オブジェクトを示します。

HLG 形式に変換する

hlg オブジェクトを使用して、入力動画を HLG 形式に変換します。

"elementaryStreams": [
  {
    "key": "video_hlg",
    "videoStream": {
      "h264": {
        "heightPixels": 720,
        "widthPixels": 1280,
        "bitrateBps": 5000000,
        "frameRate": 25,
        "hlg":{}
    }
  }
]

HDR10 形式に変換する

hdr10 オブジェクトを使用して、入力動画を HDR10 形式に変換します。

"elementaryStreams": [
  {
    "key": "video_hdr10",
    "videoStream": {
      "h265": {
        "heightPixels": 720,
        "widthPixels": 1280,
        "bitrateBps": 5000000,
        "frameRate": 25,
        "pixelFormat":"yuv420p10",
        "profile":"main10",
        "hdr10":{}
    }
  }
]

SDR 形式にダウン コンバートする

sdr オブジェクトを使用して、入力動画を SDR 形式にダウン コンバートします。

"elementaryStreams": [
  {
    "key": "video_sdr",
    "videoStream": {
      "h264": {
        "heightPixels": 720,
        "widthPixels": 1280,
        "bitrateBps": 5000000,
        "frameRate": 25,
        "sdr":{}
    }
  }
]

発生する可能性があるエラー

Transcoder API が変換を行えない場合、コード変換ジョブは失敗します。考えられるエラーは次のとおりです。

  • 8 ビットピクセル形式またはプロファイルによる HDR10 形式への変換
  • BT.709 に準拠していない SDR 入力