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