このページでは、コード変換ジョブの入力動画を、サポートされているハイ ダイナミック レンジ(HDR)形式または標準ダイナミック レンジ(SDR)形式に変換する方法について説明します。Transcoder API は、高効率の動画コーディング(HEVC)を色変換のプライマリ コーデックとして使用します。カラー変換形式を指定しない場合、パススルーはデフォルトで有効になります。
色変換形式
HEVC は、サポートされている色変換形式に使用されるメインのコーデックです。これには次のものが含まれます。
- ハイブリッド ログガンマ(HLG)
- SDR
- HDR10
H.264 ストリームと VP9 ストリームでは、HLG と SDR のみがサポートされます。サポートされているコーデックと上記のカラー形式の間のすべての変換がサポートされています。
パススルー
カラー変換形式を指定しない場合、パススルーはデフォルトで有効になります。
パススルーの場合、Transcoder API は入力カラーのプライマリ、転送関数、範囲、彩度の位置、色空間を使用します。プロセスでは色変換が行われません。入力が HDR10(または HDR10+)と HEVC の場合、Transcoder API は出力動画にメタデータを渡します。
入力のカラー形式をサポートしていない出力コーデックを指定した場合、パススルーはベスト エフォートになります。たとえば、入力 HDR10 動画には、profile
と pixelFormat
の 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 入力