.\" Hey, EMACS: -*- nroff -*- .TH CWEBP 1 "April 10, 2025" .SH "نام (NAME)" cwebp \- فشرده‌سازی یک فایل تصویری به یک فایل WebP .SH "خلاصه دستور (SYNOPSIS)" .B cwebp .RI [ options ] " input_file \-o output_file.webp .br .SH "توضیحات (DESCRIPTION)" این صفحه راهنما دستور .B cwebp را توضیح می‌دهد. .PP دستور \fBcwebp\fP یک تصویر را با استفاده از قالب WebP فشرده می‌کند. قالب ورودی می‌تواند PNG، JPEG، TIFF، WebP یا نمونه‌های خام Y'CbCr باشد. نکته: فایل‌های متحرک PNG و WebP پشتیبانی نمی‌شوند. .SH "گزینه‌ها (OPTIONS)" گزینه‌های پایه عبارتند از: .TP .BI \-o " string نام فایل خروجی WebP را مشخص می‌کند. در صورت عدم ذکر، \fBcwebp\fP فشرده‌سازی را انجام می‌دهد اما تنها آمار را گزارش می‌کند. استفاده از «\-» به عنوان نام خروجی، خروجی را به 'stdout' هدایت می‌کند. .TP .BI \-\- " string فایل ورودی را به طور صریح مشخص می‌کند. این گزینه زمانی مفید است که برای نمونه، نام فایل ورودی با یک «\-» شروع شود. این گزینه باید در \fBآخرین\fP جایگاه قرار گیرد. هر گزینه دیگری پس از آن نادیده گرفته خواهد شد. .TP .B \-h, \-help خلاصه‌ای کوتاه از نحوه استفاده. .TP .B \-H, \-longhelp خلاصه‌ای از تمام گزینه‌های ممکن. .TP .B \-version شماره نسخه را (به صورت major.minor.revision) چاپ کرده و خارج می‌شود. .TP .B \-lossless تصویر را بدون هیچ‌گونه اتلافی کدگذاری می‌کند. برای تصاویر دارای ناحیه کاملاً شفاف، مقادیر پیکسل‌های نامرئی (R/G/B یا Y/U/V) تنها در صورتی حفظ خواهند شد که از گزینه \-exact استفاده شود. .TP .BI \-near_lossless " int سطح پیش‌پردازش تصویر نزدیک به بدون‌اتلاف (near-lossless) را تعیین می‌کند. این گزینه مقادیر پیکسل‌ها را برای کمک به فشرده‌سازی تنظیم می‌کند، اما کمترین اثر را روی کیفیت بصری دارد. این گزینه حالت فشرده‌سازی بدون‌اتلاف را به طور خودکار فعال می‌کند. محدوده آن از 0 (حداکثر پیش‌پردازش) تا 100 (بدون پیش‌پردازش، پیش‌فرض) است. مقدار معمول در حدود 60 است. توجه داشته باشید که حالت بااتلاف با \fB\-q 100\fP گاهی اوقات می‌تواند نتایج بهتری ایجاد کند. .TP .BI \-q " float ضریب فشرده‌سازی برای کانال‌های RGB را بین 0 تا 100 مشخص می‌کند. مقدار پیش‌فرض 75 است. .br در صورت فشرده‌سازی بااتلاف (پیش‌فرض)، یک ضریب کوچک فایلی کوچک‌تر با کیفیت پایین‌تر تولید می‌کند. بهترین کیفیت با استفاده از مقدار 100 حاصل می‌شود. .br در صورت فشرده‌سازی بدون‌اتلاف (مشخص‌شده با گزینه \fB\-lossless\fP)، ضریب کوچک‌تر سرعت فشرده‌سازی سریع‌تری را فراهم می‌سازد، اما فایل بزرگ‌تری تولید می‌کند. حداکثر فشرده‌سازی با استفاده از مقدار 100 به دست می‌آید. .TP .BI \-z " int حالت فشرده‌سازی \fBlossless\fP (بدون‌اتلاف) را با سطح مشخص‌شده بین 0 تا 9 فعال می‌کند، که در آن سطح 0 سریع‌ترین و 9 کندترین است. حالت سریع اندازه فایل بزرگ‌تری نسبت به حالت‌های کندتر تولید می‌کند. یک مقدار پیش‌فرض مناسب \fB\-z 6\fP است. این گزینه در واقع یک میان‌بر برای برخی تنظیمات از پیش تعریف‌شده کیفیت و روش است. اگر گزینه‌های \fB\-q\fP یا \fB\-m\fP پس از آن استفاده شوند، اثر این گزینه باطل خواهد شد. .TP .BI \-alpha_q " int ضریب فشرده‌سازی برای فشرده‌سازی آلفا را بین 0 تا 100 مشخص می‌کند. فشرده‌سازی بدون‌اتلاف آلفا با مقدار 100 حاصل می‌شود، در حالی که مقادیر کمتر منجر به فشرده‌سازی بااتلاف می‌شوند. مقدار پیش‌فرض 100 است. .TP .BI \-preset " string مجموعه‌ای از پارامترهای از پیش تعریف‌شده را متناسب با نوع خاصی از تصویر ورودی مشخص می‌کند. مقادیر ممکن عبارتند از: \fBdefault\fP، \fBphoto\fP، \fBpicture\fP، \fBdrawing\fP، \fBicon\fP، \fBtext\fP. از آنجا که \fB\-preset\fP مقادیر سایر پارامترها را (به جز \fB\-q\fP) بازنویسی می‌کند، این گزینه ترجیحاً باید در ابتدای ترتیب آرگومان‌ها قرار گیرد. .TP .BI \-m " int روش فشرده‌سازی مورد استفاده را مشخص می‌کند. این پارامتر مصالحه میان سرعت کدگذاری و اندازه و کیفیت فایل فشرده‌شده را کنترل می‌کند. مقادیر ممکن بین 0 تا 6 متغیر هستند. مقدار پیش‌فرض 4 است. با مقادیر بالاتر، کدگذار زمان بیشتری را صرف بررسی احتمالات کدگذاری اضافی و تصمیم‌گیری درباره بهبود کیفیت خواهد کرد. مقدار پایین‌تر می‌تواند منجر به زمان پردازش سریع‌تر به بهای اندازه فایل بزرگ‌تر و کیفیت فشرده‌سازی پایین‌تر شود. .TP .BI \-crop " x_position y_position width height تصویر مبدأ را به یک مستطیل با گوشه بالا-چپ در مختصات (\fBx_position\fP, \fBy_position\fP) و ابعاد \fBwidth\fP در \fBheight\fP برش می‌دهد. این ناحیه برش باید به طور کامل در محدوده مستطیل تصویر مبدأ قرار داشته باشد. نکته: برش \fIپیش از\fP هرگونه مقیاس‌بندی اعمال می‌شود. .TP .BI \-resize " width height تصویر مبدأ را به مستطیلی با ابعاد \fBwidth\fP در \fBheight\fP تغییر اندازه می‌دهد. اگر یکی از پارامترهای \fBwidth\fP یا \fBheight\fP (نه هر دو) برابر 0 باشد، مقدار با حفظ نسبت تصویر (aspect-ratio) محاسبه خواهد شد. نکته: مقیاس‌بندی \fIپس از\fP برش اعمال می‌شود. .TP .BI \-resize_mode " string رفتار گزینه \fB\-resize\fP را تعیین می‌کند. مقادیر ممکن عبارتند از: \fBdown_only\fP، \fBup_only\fP، \fBalways\fP (پیش‌فرض). مقدار \fBdown_only\fP تنها در صورتی از مقادیر مشخص‌شده توسط \fB\-resize\fP استفاده می‌کند که عرض \fIیا\fP ارتفاع ورودی بزرگ‌تر از ابعاد داده‌شده باشد. به همین ترتیب، \fBup_only\fP تنها در صورتی تغییر اندازه می‌دهد که عرض \fIیا\fP ارتفاع ورودی کوچک‌تر از ابعاد داده‌شده باشد. .TP .B \-mt در صورت امکان، از چندریسمانی (multi-threading) برای کدگذاری استفاده می‌کند. .TP .B \-low_memory میزان مصرف حافظه در کدگذاری بااتلاف را (معمولاً) با ذخیره چهار برابر اندازه فشرده‌شده کاهش می‌دهد. این کار سرعت کدگذاری را کاهش داده و اندازه خروجی و اعوجاج آن را اندکی تغییر می‌دهد. این پرچم فقط برای روش‌های 3 به بالا مؤثر است و به طور پیش‌فرض غیرفعال است. توجه داشته باشید که غیرفعال گذاشتن این پرچم اثرات جانبی بر جریان بیت (bitstream) دارد: برخی ویژگی‌های جریان بیت مانند تعداد بخش‌ها را اجبار می‌کند (مجبور به 1). توجه داشته باشید هنگام استفاده از این گزینه، گزارش دقیق‌تری از اندازه جریان بیت توسط \fBcwebp\fP چاپ می‌شود. .SS "گزینه‌های بااتلاف (LOSSY OPTIONS)" این گزینه‌ها تنها هنگام انجام کدگذاری بااتلاف (حالت پیش‌فرض، با یا بدون آلفا) مؤثر هستند. .TP .BI \-size " int یک اندازه هدف (به بایت) برای دستیابی به خروجی فشرده‌شده تعیین می‌کند. فشرده‌ساز چندین دور کدگذاری جزئی انجام می‌دهد تا حد امکان به این هدف نزدیک شود. اگر هم از \fB\-size\fP و هم از \fB\-psnr\fP استفاده شود، مقدار \fB\-size\fP اولویت خواهد داشت. .TP .BI \-psnr " float یک نسبت سیگنال به نویز اوج (PSNR) هدف (به دسی‌بل - dB) برای دستیابی به خروجی فشرده تعیین می‌کند. فشرده‌ساز چندین دور کدگذاری جزئی انجام می‌دهد تا حد امکان به این هدف نزدیک شود. اگر هر دو گزینه \fB\-size\fP و \fB\-psnr\fP استفاده شوند، مقدار \fB\-size\fP اولویت خواهد داشت. .TP .BI \-pass " int حداکثر تعداد گذرها (pass) را برای استفاده در جستجوی دودویی گزینه‌های \fB\-size\fP یا \fB\-psnr\fP تنظیم می‌کند. حداکثر مقدار 10 و پیش‌فرض 1 است. اگر گزینه‌های \fB\-size\fP یا \fB\-psnr\fP استفاده شوند اما \fB\-pass\fP مشخص نشده باشد، مقدار پیش‌فرض '6' گذر استفاده خواهد شد. اگر \fB\-pass\fP مشخص شود اما هیچ‌کدام از \fB-size\fP یا \fB-psnr\fP مشخص نشوند، مقدار هدف PSNR برابر با 40dB در نظر گرفته می‌شود. .TP .BI \-qrange " int int بازه مجاز برای ضریب کیفیت را مشخص می‌کند. این گزینه به‌ویژه هنگام استفاده از روش چندگذره (گزینه‌های \fB\-size\fP یا \fB\-psnr\fP) مفید است. پیش‌فرض 0 100 است. اگر ضریب کیفیت خارج از این بازه باشد، محدود (clamp) می‌شود. مقدار کمینه باید کمتر یا مساوی با مقدار بیشینه باشد. .TP .B \-af فیلتر خودکار (auto-filter) را فعال می‌کند. این الگوریتم زمان بیشتری را صرف بهینه‌سازی قدرت فیلتر برای رسیدن به یک کیفیت متوازن خواهد کرد. .TP .B \-jpeg_like نگاشت پارامترهای داخلی را تغییر می‌دهد تا با اندازه مورد انتظار در فشرده‌سازی JPEG تطابق بهتری داشته باشد. این پرچم معمولاً فایل خروجی با اندازه‌ای مشابه معادل JPEG آن (برای تنظیم یکسان \fB\-q\fP) اما با اعوجاج بصری کمتر تولید می‌کند. .TP گزینه‌های پیشرفته: .TP .BI \-f " int قدرت فیلتر حذف بلوک‌ها (deblocking filter) را بین 0 (بدون فیلتر) و 100 (حداکثر فیلتر) مشخص می‌کند. مقدار 0 هرگونه فیلتر را غیرفعال می‌کند. مقدار بالاتر، قدرت فرایند فیلتر را که پس از رمزگشایی تصویر اعمال می‌شود، افزایش می‌دهد. هر چه مقدار بالاتر باشد، تصویر هموارتر و نرم‌تر به نظر می‌رسد. مقادیر معمول عموماً در محدوده 20 تا 50 هستند. .TP .BI \-sharpness " int میزان تیزی و وضوح (sharpness) فیلتر را (در صورت استفاده) مشخص می‌کند. محدوده از 0 (بیشترین وضوح) تا 7 (کمترین وضوح) است. پیش‌فرض 0 است. .TP .B \-strong از فیلتر قدرتمند استفاده می‌کند (اگر به لطف گزینه \fB\-f\fP از فیلتر استفاده شود). فیلتر قدرتمند به طور پیش‌فرض فعال است. .TP .B \-nostrong فیلتر قدرتمند را غیرفعال کرده (اگر به لطف گزینه \fB\-f\fP از فیلتر استفاده شود) و به جای آن از فیلتر ساده استفاده می‌کند. .TP .B \-sharp_yuv از تبدیل دقیق‌تر و شفاف‌تر RGB->YUV استفاده می‌کند. توجه داشته باشید که این فرایند کندتر از تبدیل پیش‌فرض و سریع 'fast' RGB->YUV است. .TP .BI \-sns " int دامنه شکل‌دهی نوفه فضایی (spatial noise shaping) را مشخص می‌کند. شکل‌دهی نوفه فضایی (یا به اختصار \fBsns\fP) به مجموعه‌ای کلی از الگوریتم‌های توکار اشاره دارد که برای تصمیم‌گیری در این مورد استفاده می‌شوند که کدام ناحیه از تصویر باید از بیت‌های نسبتاً کمتری استفاده کند، و این بیت‌ها به کدام بخش‌ها منتقل شوند تا کیفیت بهتری حاصل شود. محدوده ممکن از 0 (الگوریتم خاموش) تا 100 (حداکثر اثر) است. مقدار پیش‌فرض 50 است. .TP .BI \-segments " int تعداد بخش‌های مورد استفاده در طول قطعه‌بندی (segmentation) الگوریتم sns را تغییر می‌دهد. بخش‌ها باید در محدوده 1 تا 4 باشند. مقدار پیش‌فرض 4 است. این گزینه برای روش‌های 3 به بالا هیچ اثری ندارد، مگر اینکه از \fB\-low_memory\fP استفاده شود. .TP .BI \-partition_limit " int کیفیت را با محدود کردن تعداد بیت‌های استفاده‌شده توسط برخی ماکروبلوک‌ها کاهش می‌دهد. محدوده از 0 (بدون کاهش کیفیت، پیش‌فرض) تا 100 (کاهش کیفیت کامل) است. مقادیر کاربردی معمولاً برای تصاویر نسبتاً بزرگ حدود 30\-70 هستند. در قالب VP8، بخش کنترل (control partition) دارای محدودیت 512 کیلوبایتی است و برای ذخیره این اطلاعات به کار می‌رود: آیا ماکروبلوک نادیده گرفته شده است (skip)، به کدام قطعه تعلق دارد، آیا به صورت حالت درون‌تصویری (intra) 4x4 کدگذاری شده است یا 16x16، و در نهایت حالت‌های پیش‌بینی مورد استفاده برای هر یک از زیربلوک‌ها. برای یک تصویر بسیار بزرگ، 512 کیلوبایت تنها فضایی برای چند بیت به ازای هر ماکروبلوک 16x16 باقی می‌گذارد. حداقل مطلق 4 بیت برای هر ماکروبلوک است. اطلاعات نادیده‌گیری، قطعه و حالت می‌توانند تقریباً تمام این 4 بیت را مصرف کنند (اگرچه این مورد نادر است)، که این برای تصاویر بسیار بزرگ مشکل‌ساز است. ضریب partition_limit دفعات استفاده از پرهزینه‌ترین حالت از نظر مصرف بیت (intra 4x4) را کنترل می‌کند. این گزینه زمانی مفید است که محدودیت 512k پر شود و این پیام نمایش یابد: \fIError code: 6 (PARTITION0_OVERFLOW: Partition #0 is too big to fit 512k)\fP. اگر استفاده از \fB\-partition_limit\fP برای برآورده کردن قید 512k کافی نباشد، باید از قطعات کمتری استفاده کرد تا بیت‌های سرایند بیشتری به ازای هر ماکروبلوک ذخیره شود. گزینه \fB\-segments\fP را ببینید. توجه داشته باشید که گزینه‌های \fB-m\fP و \fB-q\fP نیز بر تصمیمات کدگذار و توانایی آن در برخورد با این محدودیت اثر می‌گذارند. .SS "گزینه‌های ثبت وقایع (LOGGING OPTIONS)" این گزینه‌ها سطح خروجی را کنترل می‌کنند: .TP .B \-v اطلاعات اضافی (به‌ویژه زمان کدگذاری) را چاپ می‌کند. .TP .B \-print_psnr میانگین PSNR (نسبت سیگنال به نویز اوج) را محاسبه و گزارش می‌کند. .TP .B \-print_ssim میانگین SSIM (معیار شباهت ساختاری، برای جزئیات بیشتر https://en.wikipedia.org/wiki/SSIM را ببینید) را محاسبه و گزارش می‌کند. .TP .B \-print_lsim معیار شباهت محلی (مجموع کمترین خطا در بین پیکسل‌های هم‌مکان همسایه) را محاسبه و گزارش می‌کند. .TP .B \-progress پیشرفت کدگذاری را به درصد گزارش می‌کند. .TP .B \-quiet هیچ چیزی چاپ نمی‌کند. .TP .B \-short تنها اطلاعات کوتاهی (اندازه فایل خروجی و PSNR) را برای اهداف آزمایشی چاپ می‌کند. .TP .BI \-map " int یک نقشه اسکی (ASCII-map) اضافی از اطلاعات کدگذاری خروجی می‌دهد. مقادیر ممکن نقشه از 1 تا 6 متغیر است. این گزینه فقط برای کمک به اشکال‌زدایی در نظر گرفته شده است. .SS "گزینه‌های اضافی (ADDITIONAL OPTIONS)" گزینه‌های پیشرفته‌تر عبارتند از: .TP .BI \-s " width height مشخص می‌کند که فایل ورودی در واقع شامل نمونه‌های خام Y'CbCr بر اساس استاندارد ITU\-R BT.601، در قالب خطی 4:2:0 است. صفحه روشنایی (luma) دارای اندازه \fBwidth\fP در \fBheight\fP است. .TP .BI \-pre " int برخی مراحل پیش‌پردازش را مشخص می‌کند. استفاده از مقدار '2' باعث ایجاد دیترینگ (dithering) شبه‌تصادفی وابسته به کیفیت در طول تبدیل RGBA\->YUVA می‌شود (فقط در فشرده‌سازی بااتلاف). .TP .BI \-alpha_filter " string روش فیلتر پیش‌بینانه را برای صفحه آلفا مشخص می‌کند. یکی از مقادیر 'none'، \&'fast' یا 'best'، به ترتیب افزایش پیچیدگی و کندی. پیش‌فرض \&'fast' است. در داخل برنامه، فیلتر آلفا با استفاده از چهار پیش‌بینی ممکن (none، horizontal، vertical، gradient) انجام می‌شود. حالت 'best' هر حالت را به نوبت آزمایش کرده و موردی را که اندازه کوچک‌تری می‌دهد انتخاب می‌کند. حالت 'fast' صرفاً سعی می‌کند بدون آزمایش همه حالت‌ها، یک حدس اولیه بزند. .TP .BI \-alpha_method " int الگوریتم مورد استفاده برای فشرده‌سازی آلفا را مشخص می‌کند: 0 یا 1. الگوریتم 0 به معنی عدم فشرده‌سازی است، 1 از قالب بدون‌اتلاف WebP برای فشرده‌سازی استفاده می‌کند. پیش‌فرض 1 است. .TP .B \-exact مقادیر RGB را در نواحی شفاف حفظ می‌کند. پیش‌فرض برای کمک به فشرده‌سازی، غیرفعال است. .TP .BI \-blend_alpha " int این گزینه کانال آلفا را (در صورت وجود) با استفاده از رنگ پس‌زمینه‌ای که به صورت شانزده‌شانزدهی با 0xrrggbb مشخص شده است، با مبدأ ترکیب می‌کند. کانال آلفا سپس به مقدار مات 255 بازنشانی می‌شود. .TP .B \-noalpha استفاده از این گزینه، کانال آلفا را نادیده می‌گیرد و حذف می‌کند. .TP .BI \-hint " string راهنمایی درباره نوع تصویر ورودی ارائه می‌دهد. مقادیر ممکن عبارتند از: \fBphoto\fP، \fBpicture\fP یا \fBgraph\fP. .TP .BI \-metadata " string فهرستی با کاما جدا شده از فراداده‌ها برای کپی از ورودی به خروجی (در صورت وجود). مقادیر معتبر: \fBall\fP، \fBnone\fP، \fBexif\fP، \fBicc\fP، \fBxmp\fP. پیش‌فرض \fBnone\fP است. نکته: ممکن است هر قالب ورودی از تمام این ترکیب‌ها پشتیبانی نکند. .TP .B \-noasm همه بهینه‌سازی‌های زبان اسمبلی را غیرفعال می‌کند. .SH "وضعیت خروج (EXIT STATUS)" اگر در طول اجرا مشکلی وجود نداشته باشد، \fBcwebp\fP با مقدار ثابت C یعنی \fBEXIT_SUCCESS\fP خارج می‌شود. این مقدار معمولاً صفر است. .PP در صورت بروز خطا، \fBcwebp\fP با مقدار ثابت C یعنی \fBEXIT_FAILURE\fP خارج می‌شود. این مقدار معمولاً یک است. .SH "مثال‌ها (EXAMPLES)" cwebp \-q 50 -lossless picture.png \-o picture_lossless.webp .br cwebp \-q 70 picture_with_alpha.png \-o picture_with_alpha.webp .br cwebp \-sns 70 \-f 50 \-size 60000 picture.png \-o picture.webp .br cwebp \-o picture.webp \-\- \-\-\-picture.png .SH "نویسندگان (AUTHORS)" دستور \fBcwebp\fP بخشی از libwebp است و توسط تیم WebP نوشته شده است. .br آخرین درخت منبع در نشانی زیر در دسترس است: https://chromium.googlesource.com/webm/libwebp .PP این صفحه راهنما توسط Pascal Massimino برای پروژه دبیان نوشته شده است (و ممکن است توسط دیگران نیز استفاده شود). .SH "گزارش باگ‌ها (BUGS)" لطفاً تمام باگ‌ها را به سامانه ردیابی مشکلات گزارش دهید: https://issues.webmproject.org .br وصله‌ها با استقبال پذیرفته می‌شوند! برای شروع به این صفحه مراجعه کنید: https://www.webmproject.org/code/contribute/submitting\-patches .SH "همچنین ببینید (SEE ALSO)" .BR dwebp (1), .BR gif2webp (1) .br لطفاً برای اطلاعات بیشتر به https://developers.google.com/speed/webp مراجعه کنید.