עדכון על אופן ההטמעה של AVIF בסביבה העסקית.
AVIF הוא פורמט תמונה חדש שצובר פופולריות במהירות באינטרנט בגלל שיעורי הדחיסה הגבוהים שלו, הביצועים היעילים והשימוש הנרחב בו. AVIF הוא פורמט תמונות פתוח ללא תמלוגים שמבוסס על קודק הווידאו AV1 שהוגדר כתקן על ידי Alliance for Open Media. בפוסט הזה בבלוג נספק סקירה כללית על אימוץ AVIF בסביבה העסקית, ועל היתרונות של AVIF לביצועים ולאיכות של תמונות סטילס ואנימציות.
מה חדש בסביבת AVIF?
מאז ההשקה של AVIF ב-Chrome, ב-Firefox וב-Safari, השימוש ב-AVIF באינטרנט גדל בהתמדה. כמעט כל הדפדפנים תומכים ב-AVIF היום.
ב-Chrome בלבד, השימוש ב-AVIF גדל לכ-1% תוך קצת יותר משנה אחרי שנוספה ל-Chrome תמיכה ב-AVIF בגרסה היציבה.
כמה שירותי CDN לתמונות, כמו Akamai, Cloudflare, Cloudinary ו-Imgix, כבר מציגים תמונות בפורמט AVIF. בפוסט בבלוג שמכריז על תמיכה ב-AVIF, חברת Imgix דיווחה על חיסכון של 60% בגודל הקובץ בהשוואה ל-JPEG וחיסכון של 35% בהשוואה ל-WebP. החיסכון בגודל הקבצים מוביל לחיסכון משמעותי בנפח האחסון, אבל הוא גם עוזר לדפים להיטען מהר יותר, וכך מפחית את זמני ה-Largest Contentful Paint (LCP). מדד LCP הוא אחד ממדדי הליבה לבדיקת חוויית המשתמש באתר, והוא מייצג את המהירות שבה נטען בלוק התוכן הגדול ביותר בדף. שימוש בקודקים מודרניים לדחיסת תמונות הוא אחת מהשיטות העיקריות להפחתת זמן ה-LCP. Lighthouse הוא כלי מצוין למפתחי Chrome לבדיקה של האתר שלכם ולבדיקה של החיסכון שאפשר להשיג באמצעות AVIF.
WordPress היא פלטפורמת האתרים הפופולרית ביותר בעולם, ויש מספר פלאגינים שזמינים למפתחים כדי להמיר את התמונות שלהם ל-AVIF, כמו:
- AutoOptimize
- המרה הושלמה למדיה
- כלי אופטימיזציית התמונות של EWWW
- Optimole
- כלי אופטימיזציית תמונות Shorts ב-Pixel
למפתחים שמעדיפים לעבוד באופן מעשי, כלים כמו ImageMagick ו-FFmpeg הם נקודת התחלה טובה.
מהירות קידוד AVIF
מהירות קידוד מהירה ואיכות חזותית גבוהה הן קריטיות לפריסה של דחיסת תמונות בקנה מידה נרחב. מהירות הקידוד של תוכנת AVIF השתפרה באופן משמעותי בשנתיים האחרונות. בהשוואה לפורמטים מודרניים אחרים של תמונות סטילס, קובצי AVIF קטנים יותר באיכות חזותית דומה (ראו את התרשים הבא, ככל שהערך נמוך יותר, כך האיכות טובה יותר), אבל גם הקידוד שלהם מהיר יותר.
בתרשים הבא (ככל שהערך גבוה יותר, כך המצב טוב יותר) מוצגת השוואה בין מהירות הקידוד של AVIF לבין מהירות הקידוד של פורמטים אחרים של תמונות. קודיקים מדור קודם כמו WebP נהנים מאלגוריתמי דחיסה פחות מורכבים (אבל גם פחות יעילים). באמצעות סכימה של קידוד בכמה שרשורים, פורמט AVIF משיג ביצועים דומים בתרחישים לדוגמה נפוצים, תוך שיפור משמעותי של דחיסת הנתונים.
למפתחים שמעוניינים בהשוואות מפורטות יותר של מהירות הקידוד ואיכות התמונה, האתר Image Coding Comparisons מכיל תוצאות של מדדי ביצועים שאפשר לשחזר.
הטמעות תוכנה של קודיקים מודרניים לתמונות, כמו AVIF ו-WebP, מותאמות לארכיטקטורות של מעבדי x86 ו-ARM, אבל דחיסת כמויות אדירות של תמונות בקנה מידה רחב יכולה להיות יקרה מבחינה חישובית. אחת מהאפשרויות לצמצום עלויות הדחיסה היא לבדוק את שיפור המהירות באמצעות חומרה. חברת Bluedot פיתחה מקודד Pulsar-AVIF שמואץ בחומרה שפועל ב-FPGAs לתכנות, כמו Alveo U250 של AMD. בהשוואה ל-avifenc מבוסס תוכנה, Pulsar-AVIF מספק שיפור מהירות פי 7 עד 23 עם יעילות דחיסה דומה.
- קבוצת בדיקה: Kodak (24 תמונות בגודל 768x512)
- קידוד של 24 תמונות בו-זמנית (24 תהליכים)
- כל תהליך קידוד תוכנה מבוצע באמצעות 4 שרשורים. (-j 4)
מפתחים יכולים לפרוס מקודד Pulsar-AVIF באמצעות מכונות וירטואליות בענן, כמו Azure NP-Series.
תכונות AVIF לדפי אינטרנט רספונסיביים
ל-AVIF יש כמה תכונות מעניינות שיעזרו להציג דפי אינטרנט עם תגובה מהירה יותר. הפעם נתעמק קצת בקובצי AVIF מונפשים, שהם ללא ספק הדרך היעילה ביותר להציג אנימציות מגניבות באינטרנט.
קובץ AVIF מונפש
GIF מונפש הוא עדיין פורמט פופולרי לתמונות מונפשות, למרות שהוא קיים כבר 35 שנה. החסרונות הגדולים ביותר של קובצי GIF מונפשים הם תמיכה ב-256 צבעים בלבד ודחיסה נמוכה מדי שמובילה לקבצים גדולים מאוד, וגם מגבילה את הרזולוציה או את קצב הפריימים בתרחישים לדוגמה. לעומת זאת, קידוד של אנימציות בפורמט AVIF זהה למעשה לתוכנית הקידוד של סרטוני AV1, שמספקת חיסכון משמעותי בגודל הקובץ בהשוואה ל-GIF מונפש.
הרצנו בדיקת ביצועים פשוטה שבה קידודנו קבוצה של קובצי GIF מונפשים גם ל-AVIF וגם ל-JPEG XL. בקבוצת הבדיקה, אחוז החיסכון הממוצע בגודל הקובץ היה כ-86% בהשוואה לקובצי GIF מקוריים וכ-73% בהשוואה לקובצי JPEG XL מונפשים*.
Chrome, Firefox ו-Safari תומכים בהפעלות של קובצי AVIF עם אנימציה.
FFmpeg הוא אחד הכלים ליצירת קובצי AVIF מונפשים. הנה דוגמה בסיסית להמרת קובץ GIF ל-AVIF באמצעות FFmpeg:
ffmpeg -i "$INPUT_GIF" -crf $CRF -b:v 0 "$OUTPUT.avif"
$CRF
היא איכות הפלט הרצויה בסולם של 0
עד 63
. ערכים נמוכים יותר מציינים איכות טובה יותר וגודל קובץ גדול יותר. אפליקציית 0
משתמשת בדחיסת נתונים ללא אובדן נתונים. כדאי להתחיל עם הערך 23
לקבצי AVIF קטנים עם אנימציה.
ברירת המחדל של FFmpeg היא להשתמש ב-libaom לקידוד תמונות AVIF, אבל אפשר גם להשתמש ב-rav1e או ב-SVT-AV1 כשהם זמינים. מידע נוסף על אפשרויות הקידוד ועל כוונון פרמטרים של קידוד לצורך איזון בין מהירות לבין איכות זמין במדריך של FFmpeg לקידוד AV1.
תרחיש לדוגמה נוסף הוא אריזה מחדש של סרטון AV1 בפורמט AVIF בלי לקודד מחדש את הקובץ המקורי. הפתרון הזה זול בהרבה מפענוח או קידוד של קובץ AV1 המקורי, והוא מאפשר להשתמש בסרטון AV1 עם האלמנט <img>
. אפשר לעשות זאת על ידי העברת -c:v copy
ל-FFmpeg.
ffmpeg -i "$INPUT_AV1_VIDEO" -c:v copy -an "$OUTPUT.avif"
מסקנות
השימוש ב-AVIF באינטרנט השתפר בהתמדה מאז ההשקה, ונתמך באופן נרחב על ידי דפדפנים, רשתות CDN של תמונות, יישומי פלאגין של WordPress וכלי קידוד. בסיכום, AVIF הוא בחירה מצוינת להצגת תמונות באינטרנט. הקודק של AVIF מאפשר קידוד ופענוח מהירים, תוך שמירה על האיכות הטובה ביותר או על גודל הקובץ הקטן ביותר, בהתאם לבחירה שלכם לאתר. AVIF היא הדרך היעילה ביותר להעביר אנימציות באינטרנט. אם יש לכם שאלות, תגובות או בקשות להוספת תכונות, אתם יכולים לפנות אלינו ברשימת התפוצה av1-discuss, בקהילת AOM ב-GitHub ובוויקיפדיה של AVIF.