Mengonversi video input ke HDR

Halaman ini menjelaskan cara mengonversi video input dalam tugas transcoding ke format rentang dinamis tinggi (HDR) atau rentang dinamis standar (SDR) yang didukung. Transcoder API menggunakan coding video efisiensi tinggi (HEVC) sebagai codec utama untuk konversi warna. Penerusan diaktifkan secara default jika Anda tidak menentukan format konversi warna.

Format konversi warna

HEVC adalah codec utama yang digunakan untuk format konversi warna yang didukung, yang mencakup hal berikut:

  • Hybrid log-gamma (HLG)
  • SDR
  • HDR10

Untuk streaming H.264 dan VP9, hanya HLG dan SDR yang didukung. Semua konversi antara codec yang didukung dan format warna sebelumnya didukung.

Passthrough

Passthrough diaktifkan secara default jika Anda tidak menentukan format konversi warna.

Untuk passthrough, Transcoder API mematuhi primer warna input, fungsi transfer, rentang, lokasi kromatik, dan ruang warna; tidak ada konversi warna yang dilakukan dalam proses ini. Jika inputnya adalah HDR10 (atau HDR10+) dan HEVC, Transcoder API juga akan meneruskan metadata ke video output.

Jika Anda menentukan codec output yang tidak mendukung format warna input, passthrough akan dilakukan sebaik mungkin. Misalnya, video HDR10 input memiliki opsi 10-bit untuk profile dan pixelFormat. Jika Anda menentukan output sebagai H.265 dengan opsi 8-bit untuk profile, output tersebut bukan video HDR10 yang valid karena HDR10 tidak berfungsi dengan opsi 8-bit untuk profile.

Contoh konversi

Untuk menentukan format konversi warna, gunakan objek hlg, hdr10, atau sdr kosong. Bagian berikut menunjukkan objek JSON yang akan ditambahkan ke VideoStream untuk melakukan konversi tertentu.

Mengonversi ke format HLG

Gunakan objek hlg untuk mengonversi video input ke format HLG.

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

Mengonversi ke format HDR10

Gunakan objek hdr10 untuk mengonversi video input ke format HDR10.

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

Menurunkan konversi ke format SDR

Gunakan objek sdr untuk mengonversi video input ke format SDR.

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

Kemungkinan error

Jika Transcoder API tidak dapat melakukan konversi, tugas transcoding akan gagal. Kemungkinan error meliputi:

  • Konversi ke format HDR10 dengan format atau profil piksel 8-bit
  • Input SDR yang tidak sesuai dengan BT.709