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 dengan efisiensi tinggi (HEVC) sebagai codec utama untuk konversi warna. Passthrough 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:

  • Log gamma hybrid (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.

Jalan masuk

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

Untuk passthrough, Transcoder API mengikuti warna primer input, fungsi transfer, rentang, lokasi kroma, dan ruang warna; tidak ada konversi warna yang dilakukan dalam prosesnya. 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 adalah upaya terbaik. 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 yang kosong. Bagian berikut menampilkan objek JSON untuk ditambahkan ke VideoStream guna melakukan konversi tertentu.

Konversikan 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":{}
    }
  }
]

Konversikan 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":{}
    }
  }
]

Konversi ke bawah ke format SDR

Gunakan objek sdr untuk mengonversi video input ke format SDR ke bawah.

"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 hal berikut:

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