במזל טוב, VVC Codec הוכרז, מה זה אומר?

לאחרונה התבשרנו כי ה- Joint Video Experts Team (JVET) הכריז על Codec חדש, ה-VCC, או בשם היותר פופולרי H.266. תכנון ה-Codec במכון Fraunhofer הסתיים וכבר בחורף הקרוב יצא קוד אב-טיפוס לפענוח וקידוד תכנים בתוכנה (על לינוקס) – בעזרת Codec זה.

מה זה בעצם אומר?

כשזה מגיע לתכנון ושימוש ב-Codecs, יש לא מעט Codecs שקיימים בשוק. רובם לא מוכרים לאלו העובדים בתחום האודיו/וידאו אך בהחלט מוכרים בעולם התוכנה והחומרה. קחו לדוגמא Codecs כמו DIRAC או AV1 או או SNOW (אלו רק דוגמאות ספורות ל-Video Codecs) או OGG, Flac, Vorbix, CELT, OPUS, Speex (כולם Codecs ל-Audio) מוכרים לכם? כמה השתמשתם בהם? ברוב המקרים התשובה תהיה “לא משתמשים” – אולם אם אתם משתמשים ב-Whatsapp, Messenger, ותוכנות וידאו צ’אט אחרות – שם בהחלט נעשה שימוש בחלק מאותם Codecs שציינתי. ה-Codecs היותר מוכרים נמצאים בשימוש מתמיד בעולם הוידאו/אודיו המסחרי לשידור תכנים בזרימה.

החלק הבעייתי ביותר לכל Codec הוא אדפטציה ושימוש בו, הן מבחינה טכנית והן מבחינה “פוליטית”.

בואו ניקח לדוגמא את ה-Codec הידוע H.265 (או כפי שהוא יותר ידוע – HEVC): הוא יצא לשוק ב-2013, אך האימוץ שלו בשוק היה מאוחר, הוא ומי שבעצם גרם לחברות “לברוח” מאימוץ שלו הוא הגוף שאחראי על רישוי ה-Codec כולל פטנטים וכו’, ה-MPEG LA. כשה-Codec יצא, התנאים לשימוש בו היו מטורפים לחלוטין מבחינת סכומים לתשלום פר מכשיר/פר תוכנה שתשתמש ב-Codec, ומחירים מטורפים ליצרני מצלמות – הצליחו להניא את רוב ה”לקוחות הפוטנציאלים” משימוש באותו Codec למשך מספר שנים, עד שה-MEPG LA ירד מהעץ, ואז החל אימוץ של ה-Codec ע”י רוב החברות.

עוד Codec שמתחיל לתפוס תאוצה הוא ה-AV1. בניגוד ל-H.265, כאן הלקוחות הפוטנציאליים (יצרני ציוד, טלויזיות וכו’ וכו’) לא יצטרכו לשלם תמלוגים על שימוש ב-Codec זה, אך התחרות מול H.266 הולכת להיות מעניינת. בשני המקרים מדובר על Codecs תחרותיים שיודעים לחסוך בתעבורת נתונים – אך כולם מחכים לראות אלו גופים גדולים יעמדו מאחורי ה-Codecs, וכרגע – רוב החברות המסורתיות (יצרני מצלמות וטלויזיות לדוגמא) עומדים מאחורי שני ה-Codecs אולם גוגל נותנת יותר דגש ל-AV1 בשעה שאפל נותנת יותר גב ל-H.266, כך שיקחו כמה שנים טובות עד שנוכל לדעת מי ניצח במלחמת ה-Codecs הספציפיים הללו.

מה לגבי שימוש ב-Codecs הללו בעריכה? (הרי בסופו של יום, אם יצרני מצלמות יאמצו את ה-H.266, מצלמות בקצה התחתון והבינוני פשוט יקליטו רק ב-Codec זה) – כאן בדרך כלל הבעיה מתחילה להתעורר: משאבי עיבוד. Codecs כמו H.264/H.265 נתמכים על הסיליקון של כרטיסי ה-GPU ומעבדים שונים (בטלפון, מעבדים למחשבים, טלויזיות, טאבלטים וכו’) ובכך ניתן להציג וידאו מקודד באותם Codecs שהשבבים תומכים – מבלי לצרוך יותר מדי חשמל (עניין חשוב במכשירים כמו טאבלטים וטלפונים), אולם ברגע שה-Codecs אינם נתמכים בצורה טבעית – יהיה צורך לפענח/לקודד את הוידאו עם המעבדים עצמם ובעזרת תוכנות ללא כל “סיוע” של המעבד, וזהו דבר שהוא לא רק איטי, הוא גם צורך משאבים מרובים, ולכן כל יצרני תוכנות עריכת וידאו אינן תומכות ב-Export ב-Codecs שאין להם תמיכת חומרה – עד שיוצאים פתרונות הכוללים תמיכה באותו Codecs כמו כרטיסים גרפיים חדשים, ומעבדים חדשים ל-PC, סלולר וכו’.

ומה קורה כיום?

כיום, כל יצרני החומרה השונים תומכים ב-H.264, H.265, וב-VP9 של גוגל (למעט אפל). כיום, התמיכה הולכת וגודלת (בקצב איטי) ל-AV1. סמסונג ו-LG הכריזו כי בטלויזיות ה-8K שלהם תהיה תמיכה לניגון וידאו AV1, חברת MediaTek הכריזה על מעבד Dimensity 1000 שיתמוך ב-AV1 עם ניגון עד 4K ב-60 פריימים לשניה ואילו חברת Chip&Media החליטה להתעלות מעל כולם ולהציע תמיכה וניגון קבצים בקידוד AV1 עם רזולוציה של 4K עד 120 פריימים לשניה (שימושי? לא חושב). הכרזה חשובה נוספת יצאה מחברת Amlogic על 3 מעבדים חדשים שיכללו תמיכה ב-AV1. הסיבה לחשיבות ההכרזה – כמעט כל יצרני מכשירי אנדרואיד TV (בטלויזיה עצמה או כסטרימר) כוללים את השבבים של Amlogic. ישנה גם חברות שהחלו להזרים וידאו ב-AV1 לחלק ממכשירי האנדרואיד, אולי שמעתם עליהן: נטפליקס ו-יוטיוב. (אתם יכולים לצפות בערימת קליפים שמקודדים ב-AV1 כאן. שימו לב שהרזולוציה המקסימלית של הקליפים היא 1080P). אתם יכולים גם להשוות בין HEVC ל-AV1 כאן.

הבעיה? אין חומרה שתומכת ב-AV1.

תמיכה ב-AV1 (פריסה בלבד) תהיה במעבדים בדור הבא של אינטל (Tiger Lake) וכפי הנראה שתמיכת חומרה ב-GPU תהיה בכרטיסי RTX 3XXX שיצאו כפי הנראה לקראת סוף השנה ותחילת השנה הבאה, ורק אז נראה תמיכה את תחילתה של תמיכה בקידוד קבצי AV1 בתוכנות עריכה (מי שמתעקש ורוצה להוציא AV1 כיום מתוכנות כמו Premiere Pro, יצטרך קצת להפשיל שרוולים ולעקוב אחר ההוראות כאן כיצד לחבר בין Premiere Pro ל-FFMPEG ומשם לקודד כ-AV1 (שימו לב שהמקום היחידי שמקבל קבצים כאלו זה יוטיוב וגם אז – עד 1080P, וצריך מעבד די חזק לעבד את הוידאו).

לסיכום: ל-Codec לוקח לפחות 2-4 שנים עד שדברים מתחילים לזוז להיכן שהוא, ולא חשוב אם יש לו גב מסחרי כמו MPEG-LA או Codec שעומדת מאחוריו גוגל וחברות רבות הצטרפו ואין צורך בתשלום תמלוגים. H.266 נשמע נחמד, אבל זו בדיוק גם הפינה של AV1 (לחתוך ב-50% תעבורה של H.265) ולכן אני מאמין שיהיה מאבק, ובכל מקרה לא נראה תמיכה משמעותית לאף Codec מבחינת חומרה לפחות עד השנה הבאה.

לכידת וידאו ושינוי ה-Workflow

מי שקורא את הבלוג הזה ואת הפוסטים בו, בוודאי מודע לעובדה שאני תמיד מחפש לנצל את הציוד שברשותי או ציוד שאני רוכש – בצורה המקסימלית האפשרית, גם כשמדובר בדרכים שהיצרן לא חושב עליהם או לא ממליץ עליהם. המוטו שלי: אם זה אפשרי וזה עובד ולא מזיק לציוד – למה לא?

אחד הדברים ששאפתי להתחיל לבצע לאחרונה קשור להקלטות וידאו לערוצי היוטיוב שלי. יש לי כרגע 2 מצלמות די פשוטות (G85 של פנאסוניק ו-D7100 של ניקון) וכנראה שאני ארכוש עוד אחת (תלוי בתקציב שיהיה לי – A6600 של סוני או GH5S של פנאסוניק. אני לפעמים צריך להקליט ברזולוציית 4K ב-60 פריימים לשניה) ואיכות הוידאו שהן מקליטות היא טובה, אך אינני מרוצה מהקבצים עצמם: הם מוקלטים עם קידוד H.264.

אחד הדברים הבעייתיים ביותר עם קידוד H.264 לוידאו הוא שהמקודד הזה בנוי להזרמת או ניגון ישיר של הוידאו בנגן תוכנה או חומרה, אבל הוא לא בדיוק מתאים לעריכה, הואיל ותוכנת העריכה צריכה לחשב (דרך ה-CPU במקרים רבים) היכן כל פריים נמצא, וכשמבצעים Scrubbing בעורך הוידאו, יכולים לראות במקרים רבים שהמחשב “משתהה” עד שהוא מציג וידאו וגם כשהוא מציג, לפעמים לאחר מספר שניות הוא “נחנק”. יוטיוברים רבים מצלמים במצלמות סוני/ניקון/קאנון/פנאסוניק שמקליטות ב-H.264 ואת זה הם עורכים, ובדרך כלל אם כל מה שעושים קשור לחיתוך חלקים שונים, הוספת LUT, כמה אפקטים, סינכרון אודיו/וידאו ויצוא וידאו להעלאה ליוטיוב (כלומר Workflow די קטן יחסית לאדם אחד) – אז אפשר להסתדר עם H.264.

העניין הוא שבדרך כלל כשרוצים איכות וידאו גבוהה ולא דחוסה כל כך (H.264 ו-H.264 דוחסים בלי רחמים) וגם רוצים לערוך קבצים בנוחות, צריך וידאו בפורמט “ביניים” (באנגלית: Mezzanine) בקידוד אחר, קידודים כמו Apple ProRes, DNxHD/DNxHR, CineForm. הבעיה – כמעט שום מצלמה בסקטור ה-Prosumer (כזו שעולה פחות מ-4000 דולר) לא מאפשרת להקליט ישירות בקידודים כאלו, את זה היצרניות שומרות למצלמות הוידאו המקצועיות, ה-CX00 של קנון, ה-FX של Sony וכו’ וכו’. מה שכן, במקרים רבים הן מאפשרות להקליט באיכות הרבה יותר גבוהה דרך יציאת ה-HDMI במצלמה. יש צורך להגדיר 2-3 דברים במצלמה ואפשר להקליט ברזולוציות גבוהות ובאיכות צבע יוצאת מן הכלל.

וזה בדיוק מה שרבים עושים עם מסכים חיצוניים קטנים שגם מקליטים, כמו משפחת Atomos: מחברים את המצלמה אל המסך החיצוני הקטן, ובמקום להקליט לכרטיס ה-SD (או בנוסף) – מקליטים במסך עצמו שכולל בד”כ SSD שליף או כרטיס SD משלו. מחירים מסכים מקליטים כאלו מתחילים בסביבות ה-500$ ונעים לכיוון ה-5000$.

למי שרוצה להשיג את אותו אפקט ויש לו מחשב רציני, אפשר להשתמש בכרטיס לוכד וידאו עם כניסת HDMI (דוגמאות: Elgato 4K60 Pro,Elgato Cam link 4K, ויש עוד חברות אחרות) ועם תוכנה כמו OBS Studio. שיטה כזו גם מאפשרת “הלבשה” של LUT ופונקציונות רבות נוספות, כולל תמיכה בקידודי ביניים כפי שציינתי לעיל, וגם להקליט בקידוד H.264 עם Bit-rate הרבה יותר גבוה ממה שהמצלמה מאפשרת פנימית. הבעיה: קידודי הביניים למרות שהם אפשריים מבחינת התוכנה – אינם דבר כה יציב, בלשון המעטה, ויש גם צורך במחשב חזק ומהיר על מנת לבצע את העבודה הזו.

התקופה הנוכחית בה וירוס הקורונה משתולל בחוץ, זימנה סיטואציה די מעניינת: אנשים התנפלו על כל דבר אפשרי שקשור לשידור וידאו דיגיטלי: מצלמות Webcam (מכל הסוגים), לוכדי וידאו זולים (במיוחד של Elgato ו-AverMedia) וכתוצאה מכך המחירים זינקו במאות אחוזים. לעומת זאת, כרטיסי לכידת וידאו מקצועיים שאינם תומכים כברירת מחדל באפליקציות וידאו כמו סקייפ, ZOOM וכו’ – מחירם נשאר ואף ירד בחלק מהמקרים/

וכך מצאתי לאחרונה באמזון את הכרטיס המופיע כאן משמאל. זהו כרטיס של חברת Blackmagic ושמו: DeckLink Mini Recorder 4K. הוא יכול לקבל קלט HDMI ו-SDI. (אפשר, אגב, לרכוש את אותו כרטיס בארץ בקישור הזה, אולם יש לקחת בחשבון זמן המתנה של שבועיים, תתעלמו מכך שכתוב שהוא אינו במלאי. הם מייבאים רק כשמזמינים).

היתרון של כרטיס כזה הוא בכך שהכל נעשה על שבב חומרה יעודי ולא על ה-CPU של המחשב, הווה אומר: כל עוד יש במחשב SSD מהיר (עדיף NVME כמו Samsung Evo 970 Plus) ואת הכרטיס הזה, אפשר להקליט וידאו ישירות מהמצלמה ללא צורך בהקלטה על כרטיס SD – ואפשר לבחור מקודדי ביניים או מקודד סופי עם איכות שאפשר לשנות מקצה לקצה, והקידוד יהיה בזמן אמת. בשבילי זה חוסך גם עבודה עם OBS וגם עבודה בעורך הוידאו עם מקודדים סופיים, וכתוצאה מכך העריכה נהיית הרבה יותר קלה ו… אין צורך בקבצי פרוקסי, תודה לאל!

הזמנתי כרטיס כזה (דרך ushops, אמזון לא מאפשרים להזמין אותו ישירות לארץ) ובהמשך הדרך אני אשדרג ל”אח” היותר גדול שלו: Decklink Quad HDMI Recorder, מה שיאפשר לי לחבר במקביל עד 4 מצלמות עם תמיכה של עד 4K ב-60 פריימים לשניה (אם המצלמה מאפשרת זאת כהקלטה חיצונית כמובן).

לסיכום: שיטה זו ו-Workflow זה אינו מתאים לכולם. אלו שמשתמשים במצלמות וידאו מקצועיות, כבר עובדים עם מקודדי ביניים ואותן מצלמות מייצאות פורמטים כאלו. לעומת זאת, אני עם ה-Workflow הזה חוסך לעצמי את ההמרה מ-H.264 למקודד ביניים, וההמרה בסוף (ליצוא) לא תחליף את הקבצים שקודדו עם מקודדי הביניים. אלו יוכלו להישאר אצלי באחסון על דיסקים יותר איטיים וכשיהיה צורך אעביר את הקליפים בין האחסון האיטי למהיר (שנמצא במחשב) ולהיפך וכל זאת מבלי לאבד איכות וידאו בהקלטה.

אשמח לשמוע את דעתכם ומה אתם הייתם משנים ב-Workflow.