cwebp

الاسم

cwebp -- ضغط ملف صورة إلى ملف WebP

الملخص

cwebp [options] input_file -o output_file.webp

الوصف

يضغط cwebp صورة باستخدام تنسيق WebP. يمكن أن يكون تنسيق الإدخال إما نماذج PNG أو JPEG أو TIFF أو WebP أو نماذج Y'CbCr الأولية. ملاحظة: لا يمكن استخدام ملفات PNG وWebP المتحركة.

الخيارات

تشمل الخيارات الأساسية ما يلي:

-o string
حدِّد اسم ملف WebP الناتج. إذا تم حذفها، ستنفّذ cwebp. والضغط على الإحصاءات وإعداد التقارير فقط استخدام "-" لأنّ اسم الإخراج سيوجِّه الناتج إلى "stdout".
-- string
تحديد ملف الإدخال بشكلٍ صريح. يكون هذا الخيار مفيدًا إذا كان الإدخال يبدأ الملف بعلامة "-" على سبيل المثال. يجب أن يظهر هذا الخيار last. وسيتم تجاهل أي خيارات أخرى بعد ذلك.
-h, -help
ملخّص قصير للاستخدام.
-H, -longhelp
ملخّص لكل الخيارات الممكنة.
-version
اطبع رقم الإصدار (asMajor.minor.revision) واخرج.
-lossless
يمكنك ترميز الصورة بدون فقدان أي بيانات. بالنسبة إلى الصور ذات المنطقة الشفافة بالكامل، فسيتم الاحتفاظ بقيم البكسل غير المرئية (R/G/B أو Y/U/V) فقط في حالة يتم استخدام الخيار -exact.
-near_lossless int
حدِّد مستوى المعالجة المسبقة للصور بدون فقدان البيانات تقريبًا. يضبط هذا الخيار قيم البكسل للمساعدة في الانضغاط، ولكن لها تأثير ضئيل على الشطيرة. وتعمل هذه الميزة تلقائيًا على تشغيل وضع الضغط بدون فقدان البيانات. يتراوح النطاق من 0 (الحد الأقصى للمعالجة المسبقة) إلى 100 (بدون معالجة مسبقة، حيث الافتراضي). القيمة المعتادة هي 60 تقريبًا. يُرجى العِلم أنّ فقدان البيانات مع استخدام -q 100 تؤدي في بعض الأحيان إلى نتائج أفضل
-q float

حدِّد عامل الضغط لقنوات RGB بين 0 و100. تشير رسالة الأشكال البيانية القيمة التلقائية هي 75.

وفي حالة فقد الضغط (الافتراضي)، ينتج عن عامل صغير حجم أصغر بجودة منخفضة. ويتم تحقيق أفضل جودة باستخدام قيمة 100

في حال الضغط بدون فقدان البيانات (المحدّد في الخيار -lossless): صغيرة الحجم تتيح سرعة ضغط أسرع، ولكنها تُنتج ملفًا أكبر. ويتم الوصول إلى الحد الأقصى من الضغط باستخدام قيمة 100.

-z int

بدِّل وضع الضغط في lossless للمستوى المحدَّد بين 0 و9، وكان المستوى 0 هو الأسرع و9 هو الأبطأ. الوضع السريع ينتج عنها حجم ملف أكبر من الملفات الأبطأ. والخيار التلقائي الجيد هو -z 6. هذا الخيار هو في الواقع اختصار لبعض إعدادات الجودة المحددة مسبقًا والطريقة. في حال استخدام الخيارَين -q أو -m لاحقًا، سيتم تنفيذهما. إبطال تأثير هذا الخيار.

-alpha_q int

تحديد عامل الضغط لضغط ألفا بين 0 و 100 يتم توفير ضغط ألفا بدون فقدان البيانات باستخدام قيمة تبلغ 100، بينما ينتج عن القيم الأقل ضغطًا مع فقدان البيانات. الإعداد الافتراضي هو 100

-preset string

تحديد مجموعة من المعلمات المحددة مسبقًا لتناسب نوع معين من المصدر. القيم المحتملة هي: default، photo، picture، drawing، icon، text.

بما أنّ -preset يستبدل المعلَمات الأخرى القيم (باستثناء -q واحد)، يُفضل أن يظهر هذا الخيار أولاً بترتيب الوسيطة.

-m int

حدِّد طريقة الضغط المطلوب استخدامها. تتحكم هذه المعلمة في التجارة بين سرعة الترميز وحجم الملف المضغوط وجودته. تتراوح القيم المحتملة بين 0 و6. القيمة التلقائية هي 4. عندما تكون القيمة أعلى هذه القيم، سيقضي برنامج الترميز وقتًا أطول في فحص المعلومات الإضافية إمكانات الترميز وتحديد مصادر الجودة. يمكن أن تكون القيمة الأدنى تؤدي إلى وقت معالجة أسرع على حساب حجم الملف الأكبر جودة ضغط أقل.

-crop x_position y_position width height

اقتصاص المصدر إلى مستطيل مع الزاوية العلوية اليسرى عند الإحداثيات (x_position، y_position) والمقاس width × height تتيح لك هذه الاقتصاص أن تكون المساحة مضمنة بالكامل في مستطيل المصدر. ملاحظة: سيتم الاقتصاص تطبيق قبل أي تحجيم.

-resize width height

غيِّر حجم مستند المصدر إلى مستطيل بحجم width × height. إذا كانت إحدى (وليس كلاهما) لمعاملي العرض والارتفاع 0، ستكون القيمة المحسوبة مع الحفاظ على نسبة العرض إلى الارتفاع. ملاحظة: يتم تطبيق التحجيم بعد الاقتصاص.

-mt

استخدِم سلاسل المحادثات المتعددة للترميز، إن أمكن.

-low_memory

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

خيارات فقدان البيانات

تكون هذه الخيارات فعالة فقط عند إجراء تشفير مع فقدان البيانات (الإعداد الافتراضي، مع أو بدون ألفا).

-size int
تحديد حجم مستهدف (بالبايت) لمحاولة الوصول إلى الملف المضغوط الإخراج. سيُجري الضاغط عدة تمريرات من الترميز الجزئي في من أجل الاقتراب قدر الإمكان من هذا الهدف. إذا كان كل من -size و يتم استخدام -psnr، وستسود قيمة -size.
-psnr float
حدِّد قيمة PSNR مستهدفة (بالديسيبل) لمحاولة الوصول إلى الإخراج المضغوط. سيُجري الضاغط عدة عمليات من الترميز الجزئي للحصول على الاقتراب قدر الإمكان من هذا الهدف. في حال استخدام كل من -size و-psnr، ستسود قيمة -size.
-pass int
اضبط حدًّا أقصى لعدد البطاقات التي يمكن استخدامها خلال الثنائيات المستخدمة في الخيارات -size أو -psnr. الحد الأقصى للقيمة هو 10، والقيمة التلقائية هي 1. إذا كانت الخيارات تم استخدام -size أو -psnr، ولكن لم يتم تحديد -pass، وهي قيمة تلقائية. من '6' استخدام البطاقات إذا تم تحديد -pass، ولكن لم يتم تحديد -size أو -psnr هي، سيتم استخدام PSNR مستهدف يبلغ 40 ديسيبل.
-af
يتم تفعيل الفلتر التلقائي. ستقضي هذه الخوارزمية وقتًا إضافيًا في التحسين قوة الفلترة للوصول إلى جودة متوازنة.
-jpeg_like
تغيير تعيين المعلمات الداخلية لمطابقة الحجم المتوقع بشكل أفضل ضغط JPEG. وستنتج هذه العلامة بشكل عام ملف إخراج حجم مشابه لحجمه المكافئ بتنسيق JPEG (لإعداد -q نفسه)، ولكن مع تشويه بصري أقل.

الخيارات المتقدمة:

-f int
تحديد مدى قوة فلتر إزالة الحظر، بين 0 (بدون فلترة) و100 (الحد الأقصى للتصفية). ستؤدي القيمة 0 إلى إيقاف أي فلترة. ستؤدي القيمة الأعلى إلى زيادة قوة عملية الفلترة المطبَّقة. بعد فك ترميز الصورة. كلما ارتفعت القيمة، كانت الصورة أكثر سلاسة. عن علامة التبويب. تتراوح القيم العادية عادةً بين 20 و50.
-sharpness int
حدِّد حدّة الفلترة (في حال استخدامها). النطاق هو 0 (الأكثر وضوحًا) إلى 7 (الأقل حدّة). القيمة التلقائية هي 0.
-strong
استخدام فلتر قوي (في حال استخدام الفلترة بفضل -f هذا الخيار). ويتم تفعيل "الفلترة القوية" تلقائيًا.
-nostrong
إيقاف الفلترة القوية (في حال استخدام الفلترة بفضل -f ) واستخدام الفلترة البسيطة بدلاً من ذلك.
-sharp_yuv
استخدِم تحويلًا أكثر دقة ووضوحًا للنموذج "RGB->YUV" إذا لزم الأمر. لاحظ أن هذا تكون العملية أبطأ من العملية الافتراضية "السريعة" RGB->YUV
-sns int
حدِّد اتساع تشكيل الضوضاء المكانية. تحديد الضوضاء المكانية يشير الاختصار (sns) إلى مجموعة عامة من الخوارزميات المدمَجة. المستخدم لتحديد مساحة الصورة التي ينبغي أن تستخدم وحدات بت أقل نسبيًا، والمكان الآخر لنقل هذه وحدات البت بشكل أفضل. النطاق المحتمل يبدأ من من 0 (الخوارزمية غير مفعّلة) إلى 100 (أقصى تأثير). القيمة الافتراضية هي 50
-segments int
تغيير عدد الأقسام المراد استخدامها أثناء تقسيم الأرقام القياسية للخوارزمية. يجب أن تكون الشرائح في نطاق 1 إلى 4. القيمة التلقائية هي 4. لا يؤثر هذا الخيار في الطريقتَين 3 والإصدارات الأحدث، ما لم تكن -low_memory غير مفعّلة. استخدام البيانات
-partition_limit int
تقلل الجودة من خلال الحد من عدد وحدات البت التي تستخدمها بعض وحدات الماكرو. النطاق هو 0 (بدون تراجع، وهو الإعداد التلقائي) إلى 100 (انخفاض كامل). تتراوح القيم المفيدة عادةً بين 30 و70 للصور الكبيرة نسبيًا. ضِمن بتنسيق VP8، فإن ما يُدعى قسم التحكم يبلغ حده 512 كيلوبايت يُستخدم لتخزين المعلومات التالية: ما إذا كان مصغّر الكتلة تخطيها، والشريحة التي تنتمي إليها، سواء تم ترميزها على أنها ضمن 4x4 أو بين وضع 16×16، وأخيرًا أوضاع التنبؤ التي سيتم استخدامها لكل الكتل الفرعية. بالنسبة إلى الصور الكبيرة جدًا، لا تترك مساحة 512 كيلوبايت سوى بضع وحدات بت لكل 16x16 chromeblock. الحد الأدنى المطلق هو 4 بت لكل كتلة ماكرو. تخطى، وقطاع البيانات والوضع أن تستخدم جميع هذه البتات الأربعة تقريبًا (على الرغم من وهذا أمرٌ مستبعَد)، وهو ما يؤثر في الصور الكبيرة جدًا. تشير رسالة الأشكال البيانية يتحكّم العامل partition_limit في معدّل تكرار الوضع الأكثر تكلفة. (داخل 4×4). يكون ذلك مفيدًا في حال الوصول إلى الحدّ الأقصى المسموح به وهو 512 ألف وتظهر الرسالة التالية: رمز الخطأ: 6 (PARTITION0_OVERFLOW: القسم رقم 0 كبير جدًا ولا يسع 512 كيلوبايت). في حال استخدام الدالة -partition_limit غير كافية لتلبية قيد 512k، حيث يجب على المرء يستخدم عدد أقل من المقاطع لحفظ المزيد من وحدات بت العنوان لكل كتلة ماكرو. عرض الخيار -segments. يُرجى العلم أنّ الخيارَين -m و-q يؤثران أيضًا في برنامج الترميز وقدرته على بلوغ هذا الحد.

خيارات التسجيل

تتحكّم الخيارات التالية في مستوى الإخراج:

-v
اطبع معلومات إضافية (وقت الترميز على وجه الخصوص).
-print_psnr
حساب وإبلاغ متوسط PSNR (نسبة الإشارات إلى الضوضاء في أوقات الذروة)
-print_ssim
حساب متوسط التشابه الهيكلي والإبلاغ عنه (SSIM)، راجع يمكنك الانتقال إلى https://en.wikipedia.org/wiki/SSIM للاطّلاع على تفاصيل إضافية.
-print_lsim
حساب مقياس التشابه المحلي والإبلاغ عنه (مجموع أقل الأخطاء بين جيران البكسل المجمّع).
-progress
أبلِغ عن مستوى تقدّم الترميز بالنسبة المئوية.
-quiet
لا تطبع أي شيء.
-short
اطبع المعلومات الموجزة فقط (حجم ملف الناتج وPSNR) للاختبار فقط.
.
-map int
يمكنك إخراج خريطة ASCII إضافية لمعلومات الترميز. القيم المحتملة في الخريطة تتراوح من 1 إلى 6. الهدف الوحيد من ذلك هو المساعدة في تصحيح الأخطاء.

خيارات إضافية

تشمل الخيارات الأكثر تقدمًا:

-s width height
تحديد أن ملف الإدخال يتكون بالفعل من عينات Y'CbCr الأولية باتباع توصية ITU-R BT.601، بالتنسيق الخطي 4:2:0. تشير رسالة الأشكال البيانية حجم طائرة luma هو width × height.
-pre int
حدِّد بعض خطوات المعالجة المسبقة. سيؤدي استخدام قيمة 2 إلى تشغيل اختلاف عشوائي زائف مستند إلى الجودة أثناء تحويل RGBA->YUVA (الضغط مع فقدان البيانات فقط)
-alpha_filter string
حدِّد طريقة التصفية التنبؤية بمستوى ألفا. أحد none أو fast أو best بترتيب متزايد. القيمة التلقائية هي fast. داخليًا، يتم إجراء تصفية ألفا باستخدام أربعة التنبؤات المحتملة (لا شيء، أفقي، رأسي، متدرج). best كل وضع على حدة واختيار الوضع المناسب الحجم. سيحاول وضع fast فقط تشكيل تخمين قبل بدون واختبار جميع الأوضاع
-alpha_method int
حدِّد الخوارزمية المستخدمة لضغط ألفا: 0 أو 1. الخوارزمية تشير السمة 0 إلى عدم الضغط، ويستخدم 1 تنسيق WebP بدون فقدان البيانات للضغط. والقيمة التلقائية هي 1.
-exact
الاحتفاظ بقيم النموذج اللوني أحمر أخضر أزرق في منطقة شفافة. ويكون الإعداد التلقائي هو "إيقاف"، للمساعدة للانضغاط.
-blend_alpha int
يمزج هذا الخيار قناة ألفا (إن وجدت) مع المصدر باستخدام لون الخلفية المحدد بالنظام السداسي العشري 0xrrggbb. ألفا تتم بعد ذلك إعادة ضبط القناة إلى القيمة الغامضة 255.
-noalpha
سيؤدي استخدام هذا الخيار إلى تجاهل قناة الإصدار الأولي.
-hint string
حدِّد التلميح المتعلّق بنوع صورة الإدخال. القيم المتاحة: photo، picture أو graph.
-metadata string

قائمة بالبيانات الوصفية المفصولة بفواصل للنسخ من الإدخال إلى الإخراج إذا حاليًا. القيم الصالحة: all وnone وexif وicc وxmp. الإعداد الافتراضي هو none

وتجدر الإشارة إلى أنّ كل تنسيق إدخال قد لا يتيح كل المجموعات.

-noasm

أوقِف جميع تحسينات التجميع.

Bugs

أمثلة

cwebp -q 50 -lossless picture.png -o picture_lossless.webp
cwebp -q 70 picture_with_alpha.png -o picture_with_alpha.webp
cwebp -sns 70 -f 50 -size 60000 picture.png -o picture.webp
cwebp -o picture.webp -- ---picture.png

المؤلفون

cwebp هو جزء من libwebp، وكتبه فريق WebP. تتوفّر أحدث شجرة مصادر على https://chromium.googlesource.com/webm/libwebp/

تمت كتابة هذه الصفحة اليدوية لمشروع Debian (ويمكن أن يستخدمه آخرون).