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