الأسئلة الشائعة

ما هو تنسيق WebP؟ لماذا يجب استخدامها؟

‫WebP هي طريقة ضغط مع وبدون فقدان لمعلومات الصور يمكن استخدامها مع مجموعة كبيرة من الصور الفوتوغرافية والشفافة والرسومات التي يتم العثور عليها على الويب. يمكن تعديل درجة الضغط مع فقدان البيانات، ما يتيح للمستخدم اختيار التوازن بين حجم الملف وجودة الصورة. تحقّق WebP عادةً ضغطًا أكبر بنسبة% 30 في المتوسط مقارنةً بتنسيقَي JPEG وJPEG 2000، بدون فقدان جودة الصورة (راجِع الدراسة المقارنة).

يهدف تنسيق WebP بشكل أساسي إلى إنشاء صور أصغر حجمًا وأكثر جاذبية يمكن أن تساعد في تسريع الويب.

ما هي متصفحات الويب التي تتوافق مع WebP بشكلٍ أصلي؟

يمكن لمشرفي المواقع المهتمين بتحسين أداء مواقعهم الإلكترونية إنشاء بدائل WebP محسّنة للصور الحالية بسهولة، وعرضها بشكل مستهدف على المتصفحات التي تتوافق مع WebP.

  • توافق WebP مع الضغط مع فقدان البيانات
    • ‫Google Chrome (على الكمبيوتر) الإصدار 17 والإصدارات الأحدث
    • الإصدار 25 أو الإصدارات الأحدث من Google Chrome لنظام Android
    • ‫Microsoft Edge 18 والإصدارات الأحدث
    • الإصدار 65 من Firefox أو الإصدارات اللاحقة
    • ‫Opera 11.10+
    • متصفّح الويب الأصلي، الإصدار 4.0 (آيس كريم ساندويتش) من نظام التشغيل Android
    • ‫Safari 14 والإصدارات الأحدث (iOS 14 والإصدارات الأحدث، وmacOS Big Sur والإصدارات الأحدث)
  • توفُّر WebP مع ضغط مع فقدان البيانات وبدون فقدانها ومع قناة ألفا
    • ‫Google Chrome (على الكمبيوتر) الإصدار 23 والإصدارات الأحدث
    • الإصدار 25 أو الإصدارات الأحدث من Google Chrome لنظام Android
    • ‫Microsoft Edge 18 والإصدارات الأحدث
    • الإصدار 65 من Firefox أو الإصدارات اللاحقة
    • ‫Opera 12.10+
    • متصفّح ويب مدمج، الإصدار 4.2 من نظام التشغيل Android أو الإصدارات الأحدث (JB-MR1)
    • Pale Moon 26+
    • ‫Safari 14 والإصدارات الأحدث (iOS 14 والإصدارات الأحدث، وmacOS Big Sur والإصدارات الأحدث)
  • إتاحة الصور المتحركة بتنسيق WebP
    • ‫Google Chrome (على الكمبيوتر المكتبي وAndroid) الإصدار 32 والإصدارات الأحدث
    • ‫Microsoft Edge 18 والإصدارات الأحدث
    • الإصدار 65 من Firefox أو الإصدارات اللاحقة
    • ‫Opera 19+
    • ‫Safari 14 والإصدارات الأحدث (iOS 14 والإصدارات الأحدث، وmacOS Big Sur والإصدارات الأحدث)

انظر أيضًا:

كيف يمكنني رصد توافق المتصفّح مع WebP؟

عليك عرض صور WebP فقط على العملاء الذين يمكنهم عرضها بشكل صحيح، والرجوع إلى التنسيقات القديمة للعملاء الذين لا يمكنهم عرضها. لحسن الحظ، تتوفّر عدة أساليب لرصد إمكانية استخدام WebP، سواء من جهة العميل أو من جهة الخادم. يوفّر بعض مقدّمي شبكات توصيل المحتوى ميزة رصد التوافق مع WebP كجزء من خدمتهم.

التفاوض على المحتوى من جهة الخادم من خلال عناوين Accept

من الشائع أن ترسل برامج الويب طلبًا يتضمّن عنوان "قبول"، ما يشير إلى تنسيقات المحتوى التي يمكنها قبولها في الردّ. إذا أشار المتصفّح مسبقًا إلى أنّه "سيقبل" تنسيق image/webp، سيعرف خادم الويب أنّه يمكنه إرسال صور WebP بأمان، ما يؤدي إلى تبسيط عملية التفاوض بشأن المحتوى بشكل كبير. يُرجى الاطّلاع على الروابط التالية لمزيد من المعلومات.

Modernizr

Modernizr هي مكتبة JavaScript تتيح بسهولة رصد توافق متصفّحات الويب مع ميزات HTML5 وCSS3. ابحث عن السمات Modernizr.webp وModernizr.webp.lossless وModernizr.webp.alpha وModernizr.webp.animation.

عنصر <picture> في HTML5

يتوافق HTML5 مع العنصر <picture>، ما يتيح لك إدراج عدة صور بديلة مستهدَفة حسب ترتيب الأولوية، وذلك كي يطلب العميل صورة المرشح الأولى التي يمكنه عرضها بشكل صحيح. يمكنك الاطّلاع على هذه المناقشة على HTML5 Rocks. يتوافق العنصر <picture> مع المزيد من المتصفحات باستمرار.

في JavaScript الخاص بك

تتمثّل طريقة أخرى للرصد في محاولة فك ترميز صورة WebP صغيرة جدًا تستخدم ميزة معيّنة، ثم التحقّق من نجاح العملية. مثال:

// check_webp_feature:
//   'feature' can be one of 'lossy', 'lossless', 'alpha' or 'animation'.
//   'callback(feature, result)' will be passed back the detection result (in an asynchronous way!)
function check_webp_feature(feature, callback) {
    var kTestImages = {
        lossy: "UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",
        lossless: "UklGRhoAAABXRUJQVlA4TA0AAAAvAAAAEAcQERGIiP4HAA==",
        alpha: "UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAARBxAR/Q9ERP8DAABWUDggGAAAABQBAJ0BKgEAAQAAAP4AAA3AAP7mtQAAAA==",
        animation: "UklGRlIAAABXRUJQVlA4WAoAAAASAAAAAAAAAAAAQU5JTQYAAAD/////AABBTk1GJgAAAAAAAAAAAAAAAAAAAGQAAABWUDhMDQAAAC8AAAAQBxAREYiI/gcA"
    };
    var img = new Image();
    img.onload = function () {
        var result = (img.width > 0) && (img.height > 0);
        callback(feature, result);
    };
    img.onerror = function () {
        callback(feature, false);
    };
    img.src = "data:image/webp;base64," + kTestImages[feature];
}

يُرجى العِلم أنّ تحميل الصور لا يحظر تنفيذ التعليمات البرمجية الأخرى وغير متزامن. وهذا يعني أنّه من المفترض وضع أي رمز يعتمد على إمكانية استخدام WebP في دالة معاودة الاتصال.

لماذا أتاحت Google تنسيق WebP كمصدر مفتوح؟

نحن نؤمن بشدة بأهمية نموذج المصدر المفتوح. بما أنّ WebP مفتوح المصدر، يمكن لأي مستخدم العمل بهذا التنسيق واقتراح تحسينات عليه. ونحن نرى أنّ WebP سيصبح أكثر فائدة كتنسيق رسومات مع مرور الوقت، وذلك بفضل ملاحظاتك واقتراحاتك.

كيف يمكنني تحويل ملفات الصور الشخصية إلى WebP؟

يمكنك استخدام أداة سطر الأوامر WebP لتحويل ملفات الصور الشخصية إلى تنسيق WebP. لمزيد من التفاصيل، يمكنك الاطّلاع على مقالة استخدام WebP.

إذا كان لديك العديد من الصور التي تريد تحويلها، يمكنك استخدام واجهة سطر الأوامر في منصتك لتبسيط العملية. على سبيل المثال، لتحويل جميع ملفات jpeg في مجلد، جرِّب ما يلي:

نظام التشغيل Windows:

> for /R . %I in (*.jpg) do ( cwebp.exe %I -o %~fnI.webp )

‫Linux / macOS:

$ for F in *.jpg; do cwebp $F -o `basename ${F%.jpg}`.webp; done

كيف يمكنني تقييم جودة صور WebP بنفسي؟

في الوقت الحالي، يمكنك عرض ملفات WebP من خلال تحويلها إلى تنسيق شائع يستخدم ضغطًا غير منقوص، مثل PNG، ثم عرض ملفات PNG في أي متصفّح أو عارض صور. للحصول على فكرة سريعة عن جودة WebP، يمكنك الاطّلاع على المعرض على هذا الموقع الإلكتروني لمقارنة الصور جنبًا إلى جنب.

كيف يمكنني الحصول على رمز المصدر؟

يتوفّر رمز المحوّل في قسم التنزيلات ضمن صفحة مشروع WebP المفتوح المصدر. يمكنك العثور على رمز برنامج الترميز الخفيف الوزن ومواصفات VP8 على موقع WebM الإلكتروني. يمكنك الاطّلاع على صفحة حاوية RIFF لمعرفة مواصفات الحاوية.

ما هو الحد الأقصى لحجم صورة WebP؟

يتوافق تنسيق WebP مع VP8 على مستوى دفق البيانات ويستخدم 14 بتًا للعرض والارتفاع. الحد الأقصى لأبعاد صورة WebP هو 16383 × 16383 بكسل.

ما هي مساحات الألوان التي يتيحها تنسيق WebP؟

يتوافق تنسيق WebP المضغوط مع فقدان البيانات مع تنسيق صور Y'CbCr 4:2:0 ذي 8 بت (يُعرف غالبًا باسم YUV420) فقط، وذلك بما يتوافق مع دفق بت VP8. يُرجى الرجوع إلى القسم 2، "نظرة عامة على التنسيق"، من RFC 6386، دليل تنسيق البيانات وفك الترميز في VP8، للحصول على مزيد من التفاصيل.

يعمل تنسيق WebP غير المضغوط حصريًا مع تنسيق RGBA. يمكنك الاطّلاع على مواصفات WebP Lossless Bitstream.

لماذا يختلف ملف WebP غير المنقوص عن الملف الأصلي؟

تستخدم دوال Simple Encoding API (WebPEncodeLosslessRGB() وWebPEncodeLosslessBGR() وWebPEncodeLosslessRGBA() وWebPEncodeLosslessBGRA()) الإعدادات التلقائية للمكتبة. بالنسبة إلى جودة الصوت بدون فقدان البيانات، يعني ذلك أنّ خيار "دقيق" غير مفعَّل. سيتم تعديل قيم النموذج اللوني أحمر أخضر أزرق (RGB) في المناطق الشفافة تمامًا (أي المناطق التي تتضمّن قيم ألفا تساوي 0) لتحسين عملية الضغط. لتجنُّب ذلك، استخدِم WebPEncode() واضبط WebPConfig::exact على 1. يُرجى الاطّلاع على مستندات Advanced Encoding API.

هل يمكن أن يصبح حجم صورة WebP أكبر من حجم الصورة المصدر؟

نعم، يحدث ذلك عادةً عند التحويل من تنسيق يؤدي إلى فقدان البيانات إلى تنسيق WebP بدون فقدان البيانات أو العكس. ويرجع ذلك بشكل أساسي إلى اختلاف مساحة الألوان (YUV420 مقابل ARGB) والتحويل بينهما.

هناك ثلاث حالات نموذجية:

  1. إذا كانت الصورة المصدر بتنسيق ARGB غير مضغوط، سيؤدي تقليل دقة العيّنات المكانية إلى YUV420 إلى ظهور ألوان جديدة يصعب ضغطها مقارنةً بالألوان الأصلية. يمكن أن يحدث ذلك عادةً عندما يكون المصدر بتنسيق PNG مع عدد قليل من الألوان، لأنّ التحويل إلى WebP مع فقدان البيانات (أو JPEG مع فقدان البيانات) قد يؤدي إلى زيادة حجم الملف.
  2. إذا كان المصدر بتنسيق مضغوط مع فقدان البيانات، سيؤدي استخدام ضغط WebP بدون فقدان البيانات إلى الحصول على ملف أكبر حجمًا. لا يقتصر ذلك على WebP، ويمكن أن يحدث عند تحويل مصدر JPEG إلى تنسيقات WebP أو PNG بدون فقدان أي تفاصيل، على سبيل المثال.
  3. إذا كان المصدر بتنسيق مضغوط مع فقدان البيانات وكنت تحاول ضغطه كتنسيق WebP مضغوط مع فقدان البيانات مع ضبط جودة أعلى على سبيل المثال، إذا حاولت تحويل ملف JPEG تم حفظه بجودة 80 إلى ملف WebP بجودة 95، سيؤدي ذلك عادةً إلى ملف أكبر، حتى إذا كان كلا التنسيقين يقللان من جودة الصورة. وغالبًا ما يكون من المستحيل تقييم جودة المصدر، لذا يُنصح بخفض جودة WebP المستهدَفة إذا كان حجم الملف أكبر باستمرار. هناك احتمال آخر وهو تجنُّب استخدام إعداد الجودة، واستهداف حجم ملف معيّن بدلاً من ذلك باستخدام الخيار -size في أداة cwebp، أو واجهة برمجة التطبيقات المكافئة. على سبيل المثال، قد يكون استهداف% 80 من حجم الملف الأصلي أكثر فعالية.

يُرجى العِلم أنّ تحويل مصدر JPEG إلى WebP مع فقدان بعض التفاصيل، أو تحويل مصدر PNG إلى WebP بدون فقدان أي تفاصيل، لا يؤدي إلى حدوث مفاجآت بشأن حجم الملف.

هل تتوافق WebP مع العرض التدريجي أو المتداخل؟

لا يوفّر WebP عملية إعادة تحميل متزايدة أو متداخلة لفك الترميز كما هو الحال في JPEG أو PNG. من المرجّح أن يؤدي ذلك إلى فرض ضغط كبير على وحدة المعالجة المركزية والذاكرة في برنامج فك الترميز، لأنّ كل حدث إعادة تحميل يتضمّن عملية مرور كاملة عبر نظام فك الضغط.

في المتوسط، يكون فك ترميز صورة JPEG متدرّجة مساويًا لفك ترميز صورة الخط الأساسي ثلاث مرات.

بدلاً من ذلك، يوفّر تنسيق WebP إمكانية فك الترميز التزايدي، حيث يتم استخدام جميع وحدات البايت الواردة المتاحة من دفق البتات لمحاولة إنتاج صف عيّنة قابل للعرض في أقرب وقت ممكن. يؤدي ذلك إلى توفير الذاكرة ووحدة المعالجة المركزية والجهد المطلوب لإعادة الرسم على الجهاز، مع تقديم إشارات مرئية حول حالة التنزيل. تتوفّر ميزة فك الترميز التدريجي من خلال Advanced Decoding API.

كيف يمكنني استخدام روابط libwebp Java في مشروع Android؟

تتضمّن WebP إمكانية استخدام روابط JNI لواجهات برنامج الترميز وبرنامج فك الترميز البسيطة في الدليل swig/.

إنشاء المكتبة في Eclipse:

  1. تأكَّد من تثبيت مكوّن ADT الإضافي مع أدوات NDK وضبط مسار NDK بشكل صحيح (الإعدادات المفضّلة > Android > NDK).
  2. أنشئ مشروعًا جديدًا: ملف (File) > جديد (New) > مشروع (Project) > مشروع تطبيق Android (Android Application Project).
  3. استنساخ أو فك حزمة libwebp إلى مجلد باسم jni في المشروع الجديد
  4. أضِف swig/libwebp_java_wrap.c إلى قائمة LOCAL_SRC_FILES.
  5. انقر بزر الماوس الأيمن على المشروع الجديد واختَر أدوات Android > إضافة دعم أصلي ... لتضمين المكتبة في الإصدار.
  6. افتح خصائص المشروع وانتقِل إلى إنشاء C/C++‎ > السلوك. أضِف ENABLE_SHARED=1 إلى قسم Build (Incremental build) لإنشاء libwebp كمكتبة مشتركة.

    ملاحظة سيؤدي ضبط NDK_TOOLCHAIN_VERSION=4.8 بشكل عام إلى تحسين أداء الإصدارات المتوافقة مع 32 بت.

  7. أضِف swig/libwebp.jar إلى مجلد المشروع libs/.

  8. أنشئ مشروعك. سيؤدي ذلك إلى إنشاء libs/<target-arch>/libwebp.so.

  9. استخدِم System.loadLibrary("webp") لتحميل المكتبة في وقت التشغيل.

يُرجى العِلم أنّه يمكن إنشاء المكتبة يدويًا باستخدام ndk-build وAndroid.mk المضمّنة. يمكن إعادة استخدام بعض الخطوات الموضّحة أعلاه في هذه الحالة.

كيف يمكنني استخدام libwebp مع C#؟

يمكن إنشاء WebP كملف DLL يصدّر واجهة برمجة التطبيقات libwebp. ويمكن بعد ذلك استيراد هذه الدوال في C#.

  1. إنشاء libwebp.dll سيؤدي ذلك إلى ضبط WEBP_EXTERN بشكل صحيح لتصدير دوال واجهة برمجة التطبيقات.

    libwebp> nmake /f Makefile.vc CFG=release-dynamic
    
  2. أضِف libwebp.dll إلى مشروعك واستورِد الدوال المطلوبة. يُرجى العِلم أنّه في حال استخدام واجهة برمجة التطبيقات البسيطة، عليك طلب WebPFree() لتحرير أي مخازن مؤقتة تم عرضها.

    [DllImport("libwebp.dll", CallingConvention = CallingConvention.Cdecl)]
    static extern int WebPEncodeBGRA(IntPtr rgba, int width, int height, int stride,
                                     float quality_factor, out IntPtr output);
    [DllImport("libwebp.dll", CallingConvention = CallingConvention.Cdecl)]
    static extern int WebPFree(IntPtr p);
    
    void Encode() {
      Bitmap source = new Bitmap("input.png");
      BitmapData data = source.LockBits(
          new Rectangle(0, 0, source.Width, source.Height),
          ImageLockMode.ReadOnly,
          PixelFormat.Format32bppArgb);
      IntPtr webp_data;
      const int size = WebPEncodeBGRA(data.Scan0,
                                      source.Width, source.Height, data.Stride,
                                      80, out webp_data);
      // ...
      WebPFree(webp_data);
    }
    

لماذا يجب استخدام صور WebP المتحركة؟

مزايا WebP المتحركة مقارنةً بصور GIF المتحركة

  1. يتوافق WebP مع ألوان RGB ذات 24 بت مع قناة ألفا ذات 8 بت، مقارنةً بألوان GIF ذات 8 بت وقناة ألفا ذات 1 بت.

  2. يتوافق تنسيق WebP مع الضغط مع فقدان البيانات والضغط بدون فقدان البيانات. في الواقع، يمكن أن تجمع صورة متحركة واحدة بين إطارات مضغوطة مع فقدان البيانات وإطارات مضغوطة بدون فقدان البيانات. لا يتيح تنسيق GIF سوى الضغط بدون فقدان البيانات. تتلاءم تقنيات الضغط مع فقدان البيانات في WebP مع الصور المتحركة التي يتم إنشاؤها من فيديوهات واقعية، وهي مصدر متزايد الشهرة للصور المتحركة.

  3. تتطلّب WebP عددًا أقل من البايتات مقارنةً بتنسيق GIF1. يقل حجم صور GIF المتحرّكة المحوّلة إلى صور WebP مع فقدان بعض التفاصيل بنسبة% 64، بينما يقل حجم صور WebP بدون فقدان أي تفاصيل بنسبة% 19. ويُعدّ ذلك مهمًا بشكل خاص على شبكات الجوّال.

  4. يستغرق فك ترميز WebP وقتًا أقل عند البحث عن محتوى. في Blink، يمكن أن يؤدي التنقّل أو تغيير علامات التبويب إلى إخفاء الصور وعرضها، ما يؤدي إلى إيقاف الحركات مؤقتًا ثم تخطّيها إلى نقطة مختلفة. قد يتطلّب الاستخدام المفرط لوحدة المعالجة المركزية (CPU) الذي يؤدي إلى فقدان إطارات الصور المتحركة من وحدة فك الترميز البحث عن إطارات لاحقة في الصورة المتحركة. في هذه السيناريوهات، يستغرق فك ترميز WebP المتحركة 0.57 مرة من إجمالي وقت فك الترميز مقارنةً بتنسيق GIF، ما يؤدي إلى تقليل التشويش أثناء التمرير السريع والتعافي بشكل أسرع من الارتفاعات المفاجئة في استخدام وحدة المعالجة المركزية. يعود ذلك إلى ميزتَين تتفوّق بهما WebP على GIF:

    • تخزّن صور WebP بيانات وصفية حول ما إذا كان كل إطار يحتوي على قناة ألفا، ما يلغي الحاجة إلى فك ترميز الإطار لتحديد ذلك. يؤدي ذلك إلى استنتاج أكثر دقة للإطارات السابقة التي يعتمد عليها إطار معيّن، ما يقلّل من فك ترميز الإطارات السابقة غير الضروري.

    • وعلى غرار برامج ترميز الفيديو الحديثة، يضيف برنامج ترميز WebP بشكل تجريبي إطارات رئيسية على فترات منتظمة (وهو ما لا تفعله معظم برامج ترميز GIF). يؤدي ذلك إلى تحسين عملية البحث في الصور المتحركة الطويلة بشكل كبير. لتسهيل إدراج هذه اللقطات بدون زيادة حجم الصورة بشكل كبير، يضيف WebP علامة &quot;طريقة المزج&quot; لكل لقطة بالإضافة إلى طريقة التخلص من اللقطات التي يستخدمها GIF. يسمح ذلك برسم إطار رئيسي كما لو تم محو الصورة بأكملها إلى لون الخلفية بدون فرض أن يكون الإطار السابق بكامل حجمه.

عيوب صور WebP المتحركة مقارنةً بصور GIF المتحركة

  1. في حال عدم البحث، يكون فك ترميز WebP بطريقة القسط الثابت أكثر استهلاكًا لوحدة المعالجة المركزية من GIF. يستغرق فك ترميز WebP مع فقدان بعض التفاصيل وقتًا أطول بمقدار 2.2 مرة مقارنةً بفك ترميز GIF، بينما يستغرق فك ترميز WebP بدون فقدان أي تفاصيل وقتًا أطول بمقدار 1.5 مرة.

  2. لا تتوفّر إمكانية استخدام WebP على نطاق واسع مثل GIF، التي يمكن استخدامها في كل مكان تقريبًا.

  3. تؤدي إضافة إمكانية استخدام WebP إلى المتصفحات إلى زيادة حجم الرمز البرمجي ومساحة الهجوم. في Blink، يبلغ عدد الأسطر الإضافية للرمز البرمجي حوالي 1500 سطر (بما في ذلك مكتبة فك ترميز WebP وبرنامج فك ترميز صور WebP من جهة Blink). يُرجى العِلم أنّه يمكن الحدّ من هذه المشكلة في المستقبل إذا كان WebP وWebM يتشاركان المزيد من رموز فك الترميز الشائعة، أو إذا تم تضمين إمكانات WebP في WebM.

لماذا لا يتم توفير WebM في <img>؟

قد يكون من المنطقي على المدى الطويل إتاحة تنسيقات الفيديو داخل العلامة <img>. ومع ذلك، فإنّ إجراء ذلك الآن بهدف أن يحلّ WebM في <img> محلّ WebP المتحرّك المقترَح يطرح المشاكل التالية:

  1. عند فك ترميز لقطة تعتمد على لقطات سابقة، يتطلّب WebM ذاكرة أكبر بنسبة% 50 من WebP المتحرّك للاحتفاظ بالحد الأدنى من اللقطات السابقة3.

  2. تختلف إمكانية استخدام برامج ترميز الفيديو والحاويات بشكل كبير بين المتصفّحات والأجهزة. لتسهيل عملية تحويل ترميز المحتوى تلقائيًا (مثل الخوادم الوكيلة التي توفّر النطاق الترددي)، على المتصفحات إضافة عناوين Accept تشير إلى التنسيقات التي تتوافق مع علامات الصور. وحتى هذا قد لا يكون كافيًا، لأنّ أنواع MIME، مثل "video/webm" أو "video/mpeg"، لا تزال لا تشير إلى توافق برنامج الترميز (مثل VP8 مقابل VP9). من ناحية أخرى، تم تجميد تنسيق WebP بشكل فعّال، وإذا وافق المورّدون الذين يوفّرونه على توفير WebP المتحرّك، يجب أن يكون سلوك WebP متسقًا على جميع وكلاء المستخدمين، وبما أنّه يتم استخدام عنوان Accept الحالي "image/webp" للإشارة إلى إمكانية استخدام WebP، لن تكون هناك حاجة إلى إجراء أي تغييرات جديدة على عنوان Accept.

  3. تم تحسين حزمة الفيديو في Chromium لتوفير تشغيل سلس، وهي تفترض أنّه يتم تشغيل فيديو واحد أو فيديوهَين فقط في المرة الواحدة. ونتيجةً لذلك، يكون التنفيذ مكثفًا في استهلاك موارد النظام (مثل سلاسل التعليمات والذاكرة وما إلى ذلك) لتحقيق أعلى جودة تشغيل. ولا يمكن توسيع نطاق هذا النوع من عمليات التنفيذ ليشمل فيديوهات متزامنة كثيرة، بل يجب إعادة تصميمه ليكون مناسبًا للاستخدام مع صفحات الويب التي تتضمّن عددًا كبيرًا من الصور.

  4. لا تتضمّن WebM حاليًا جميع تقنيات الضغط المتوفّرة في WebP. نتيجةً لذلك، هذه الصورة يتم ضغطها بشكل أفضل بكثير باستخدام WebP مقارنةً بالبدائل:


1 بالنسبة إلى جميع المقارنات بين صور GIF المتحركة وصور WebP المتحركة، استخدمنا مجموعة من حوالي 7000 صورة GIF متحركة تم أخذها عشوائيًا من الويب. تم تحويل هذه الصور إلى WebP متحركة باستخدام أداة gif2webp مع الإعدادات التلقائية (تم إنشاؤها من أحدث شجرة مصدر libwebp اعتبارًا من 8/10/2013). الأرقام المقارنة هي متوسط القيم في هذه الصور.

2 تم احتساب أوقات فك الترميز باستخدام أحدث إصدار من libwebp وToT Blink اعتبارًا من 08/10/2013 باستخدام أداة قياس الأداء. يتم احتساب "وقت فك الترميز مع البحث" على النحو التالي: "فك ترميز أول خمسة إطارات، ومسح ذاكرة التخزين المؤقت لمخزن الإطارات، ثم فك ترميز الخمسة إطارات التالية، وهكذا".

3 يحتفظ WebM بأربع لقطات مرجعية بتنسيق YUV في الذاكرة، ويخزّن كل إطار وحدات بكسل (العرض+96)*(الارتفاع+96). بالنسبة إلى تنسيق YUV 4:2:0، نحتاج إلى 4 بايت لكل 6 وحدات بكسل (أو 3/2 بايت لكل وحدة بكسل). لذلك، تستخدم هذه اللقطات المرجعية 4*3/2*(width+96)*(height+96) بايت من الذاكرة. من ناحية أخرى، لا تحتاج WebP سوى إلى توفّر الإطار السابق (بتنسيق RGBA)، أي 4*width*height بايت من الذاكرة.

‫4 يتطلّب عرض صور WebP المتحركة الإصدار 32 من Google Chrome أو إصدارًا أحدث