בדף הזה מוסבר איך להמיר את סרטון הקלט בעבודת טרנסקוד לפורמט נתמך של טווח דינמי גבוה (HDR) או טווח דינמי סטנדרטי (SDR). Transcoder API משתמש בקידוד וידאו יעיל (HEVC) כקודק העיקרי להמרת הצבעים. ההגדרה 'העברה ללא שינוי' מופעלת כברירת מחדל אם לא מציינים פורמט להמרת צבעים.
פורמטים של המרת צבעים
HEVC הוא קודק ראשי שמשמש לפורמטים הנתמכים של המרת צבעים, כולל:
- Hybrid log-gamma (HLG)
- SDR
- HDR10
בסטרימינג בפורמטים H.264 ו-VP9, נתמכים רק הפורמטים HLG ו-SDR. כל ההמרות בין הקודק הנתמך לבין פורמטי הצבע הקודמים נתמכות.
מצב Passthrough
העברת נתונים ללא שינוי מופעלת כברירת מחדל אם לא מציינים פורמט להמרת צבעים.
במקרה של העברה, Transcoder API מכבד את צבעי היסוד של הקלט, פונקציית ההעברה, הטווח, מיקום הכרומה ומרחב הצבעים; לא מתבצעת המרת צבעים בתהליך. אם הקלט הוא HDR10 (או HDR10+) ו-HEVC, Transcoder API מעביר גם את המטא-נתונים לסרטון הפלט.
אם מציינים קודק פלט שלא תומך בפורמט הצבע של הקלט,
העברת הנתונים היא על בסיס מאמץ מרבי. לדוגמה, לסרטון HDR10 יש אפשרויות של 10 ביט לprofile ולpixelFormat. אם מציינים את הפלט כ-H.265 עם אפשרות של 8 ביט ל-profile, הפלט לא יהיה סרטון HDR10 תקין כי HDR10 לא פועל עם אפשרות של 8 ביט ל-profile.
דוגמאות להמרות
כדי לציין את פורמט המרת הצבעים, משתמשים באובייקט ריק hlg, hdr10 או sdr. בקטעים הבאים מוצג אובייקט ה-JSON שצריך להוסיף ל-VideoStream כדי לבצע המרה מסוימת.
המרת פורמט ל-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":{}
}
}
]
הודעות שגיאה אפשריות
אם ה-API של Transcoder לא יכול לבצע את ההמרה, משימת הקידוד מחדש נכשלת. השגיאות האפשריות כוללות את השגיאות הבאות:
- המרת פורמט ל-HDR10 עם פרופילים או פורמטים של פיקסלים באיכות 8 ביט
- אותות SDR שלא תואמים ל-BT.709