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
সংস্করণ নম্বর প্রিন্ট করুন (major.minor.revision হিসাবে) এবং প্রস্থান করুন।
-lossless
কোন ক্ষতি ছাড়া ইমেজ এনকোড. সম্পূর্ণ স্বচ্ছ এলাকা সহ চিত্রগুলির জন্য, অদৃশ্য পিক্সেল মানগুলি (R/G/B বা Y/U/V) শুধুমাত্র -exact বিকল্পটি ব্যবহার করা হলেই সংরক্ষণ করা হবে।
-near_lossless int
কাছাকাছি-ক্ষতিহীন ইমেজ প্রিপ্রসেসিং এর স্তর নির্দিষ্ট করুন। এই বিকল্পটি কম্প্রেসিবিলিটি সাহায্য করার জন্য পিক্সেলের মানগুলিকে সামঞ্জস্য করে, কিন্তু ভিজ্যুয়াল মানের উপর ন্যূনতম প্রভাব ফেলে৷ এটি স্বয়ংক্রিয়ভাবে ক্ষতিহীন কম্প্রেশন মোড ট্রিগার করে। পরিসর হল 0 (সর্বোচ্চ প্রিপ্রসেসিং) থেকে 100 (কোন প্রিপ্রসেসিং নয়, ডিফল্ট)। সাধারণ মান প্রায় 60 । মনে রাখবেন যে -q 100 এর সাথে ক্ষতিকর কিছু সময়ে ভাল ফলাফল দিতে পারে।
-q float

0 এবং 100 এর মধ্যে RGB চ্যানেলের জন্য কম্প্রেশন ফ্যাক্টর নির্দিষ্ট করুন। ডিফল্ট হল 75

ক্ষতিকর কম্প্রেশনের ক্ষেত্রে (ডিফল্ট), একটি ছোট ফ্যাক্টর নিম্ন মানের সাথে একটি ছোট ফাইল তৈরি করে। 100 এর মান ব্যবহার করে সর্বোত্তম গুণমান অর্জন করা হয়।

লসলেস কম্প্রেশনের ক্ষেত্রে ( -lossless বিকল্প দ্বারা নির্দিষ্ট), একটি ছোট ফ্যাক্টর দ্রুত কম্প্রেশন গতি সক্ষম করে, কিন্তু একটি বড় ফাইল তৈরি করে। সর্বোচ্চ কম্প্রেশন 100 এর মান ব্যবহার করে অর্জন করা হয়।

-z int

0 এবং 9 এর মধ্যে নির্দিষ্ট লেভেল সহ lossless কম্প্রেশন মোড চালু করুন, লেভেল 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 x height শীর্ষ-বাম কোণ সহ একটি আয়তক্ষেত্রে উৎসটি কাটুন। এই ক্রপিং এলাকাটি অবশ্যই উৎস আয়তক্ষেত্রের মধ্যে সম্পূর্ণরূপে ধারণ করতে হবে। দ্রষ্টব্য: কোনো স্কেলিং করার আগে ক্রপিং প্রয়োগ করা হয়।

-resize width height

আকারের width x height সহ একটি আয়তক্ষেত্রে উত্সটির আকার পরিবর্তন করুন। যদি প্রস্থ বা উচ্চতার পরামিতিগুলির মধ্যে একটি (কিন্তু উভয় নয়) 0 হয়, তাহলে মানটি আকৃতি-অনুপাত সংরক্ষণ করে গণনা করা হবে। দ্রষ্টব্য: ক্রপ করার পরে স্কেলিং প্রয়োগ করা হয়।

-mt

এনকোডিংয়ের জন্য মাল্টি-থ্রেডিং ব্যবহার করুন, যদি সম্ভব হয়।

-low_memory

সংকুচিত আকারের চারগুণ (সাধারণত) সংরক্ষণ করে ক্ষতিকারক এনকোডিংয়ের মেমরি ব্যবহার হ্রাস করুন। এটি এনকোডিংকে ধীর করে তুলবে এবং আউটপুট আকার এবং বিকৃতিতে কিছুটা ভিন্ন হবে। এই পতাকাটি শুধুমাত্র পদ্ধতি 3 এবং তার উপরে কার্যকর, এবং ডিফল্টরূপে বন্ধ। মনে রাখবেন যে এই ফ্ল্যাগটি বন্ধ করে দিলে বিটস্ট্রিমে কিছু পার্শ্বপ্রতিক্রিয়া থাকবে: এটি কিছু বিটস্ট্রিম বৈশিষ্ট্যকে জোর করে যেমন পার্টিশনের সংখ্যা ( 1 তে জোর করে)। মনে রাখবেন যে এই বিকল্পটি ব্যবহার করার সময় cwebp দ্বারা বিটস্ট্রিম আকারের আরও বিস্তারিত প্রতিবেদন মুদ্রিত হয়।

ক্ষতিকারক বিকল্প

ক্ষতিকর এনকোডিং করার সময় এই বিকল্পগুলি শুধুমাত্র কার্যকর হয় (ডিফল্ট, আলফা সহ বা ছাড়া)।

-size int
সংকুচিত আউটপুট চেষ্টা এবং পৌঁছানোর জন্য একটি লক্ষ্য আকার নির্দিষ্ট করুন (বাইটে)। এই লক্ষ্যের যতটা সম্ভব কাছাকাছি যাওয়ার জন্য কম্প্রেসার আংশিক এনকোডিংয়ের বেশ কয়েকটি পাস তৈরি করবে। যদি -size এবং -psnr উভয়ই ব্যবহার করা হয়, -size মান প্রাধান্য পাবে।
-psnr float
সংকুচিত আউটপুট চেষ্টা এবং পৌঁছানোর জন্য একটি লক্ষ্য PSNR (dB-তে) নির্দিষ্ট করুন। এই লক্ষ্যের যতটা সম্ভব কাছাকাছি যাওয়ার জন্য কম্প্রেসার আংশিক এনকোডিংয়ের বেশ কয়েকটি পাস তৈরি করবে। যদি -size এবং -psnr উভয়ই ব্যবহার করা হয়, -size মান প্রাধান্য পাবে।
-pass int
অপশন -size বা -psnr দ্বারা ব্যবহৃত ডিকোটমির সময় ব্যবহার করার জন্য সর্বাধিক সংখ্যক পাস সেট করুন। সর্বাধিক মান হল 10 , ডিফল্ট হল 1 । যদি -size বা -psnr বিকল্পগুলি ব্যবহার করা হয়, কিন্তু -pass নির্দিষ্ট করা না থাকে, তাহলে '6' পাসের একটি ডিফল্ট মান ব্যবহার করা হবে। যদি -pass নির্দিষ্ট করা থাকে, কিন্তু -size বা -psnr নয়, তাহলে 40dB এর একটি টার্গেট PSNR ব্যবহার করা হবে।
-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
sns অ্যালগরিদমের সেগমেন্টেশনের সময় ব্যবহার করার জন্য পার্টিশনের সংখ্যা পরিবর্তন করুন। বিভাগগুলি 1 থেকে 4 সীমার মধ্যে হওয়া উচিত। ডিফল্ট মান হল 4 । এই বিকল্পটি পদ্ধতি 3 এবং তার উপরে কোন প্রভাব নেই, যদি না -low_memory ব্যবহার করা হয়।
-partition_limit int
কিছু ম্যাক্রোব্লক দ্বারা ব্যবহৃত বিটের সংখ্যা সীমিত করে গুণমান হ্রাস করুন। ব্যাপ্তি হল 0 (কোনও অবনতি নয়, ডিফল্ট) থেকে 100 (সম্পূর্ণ অবক্ষয়)। মাঝারি আকারে বড় ছবির জন্য দরকারী মান সাধারণত 30 - 70 কাছাকাছি হয়৷ VP8 ফর্ম্যাটে, তথাকথিত কন্ট্রোল পার্টিশনের সীমা 512k এবং নিম্নলিখিত তথ্যগুলি সংরক্ষণ করতে ব্যবহৃত হয়: ম্যাক্রোব্লকটি বাদ দেওয়া হয়েছে কিনা, এটি কোন বিভাগের অন্তর্গত, এটি ইন্ট্রা 4x4 বা ইন্ট্রা 16x16 মোড হিসাবে কোড করা কিনা, এবং পরিশেষে প্রতিটি উপ-ব্লকের জন্য ভবিষ্যদ্বাণী মোড ব্যবহার করতে হবে। একটি খুব বড় ছবির জন্য, 512k শুধুমাত্র 16x16 ম্যাক্রোব্লক প্রতি কয়েক বিটের জন্য জায়গা ছেড়ে দেয়। পরম সর্বনিম্ন ম্যাক্রোব্লক প্রতি 4 বিট। স্কিপ, সেগমেন্ট, এবং মোড তথ্য প্রায় সব এই 4 বিট ব্যবহার করতে পারে (যদিও ক্ষেত্রে অসম্ভাব্য), যা খুব বড় ছবির জন্য সমস্যাযুক্ত। partition_limit ফ্যাক্টর নিয়ন্ত্রণ করে কত ঘন ঘন বিট-ব্যয়বহুল মোড (ইন্ট্রা 4x4) ব্যবহার করা হবে। 512k সীমা ছুঁয়ে গেলে এবং নিম্নলিখিত বার্তাটি প্রদর্শিত হলে এটি কার্যকর: ত্রুটি কোড: 6 (PARTITION0_OVERFLOW: পার্টিশন #0 512k ফিট করার জন্য খুব বড়)। যদি -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
উল্লেখ করুন যে ইনপুট ফাইলটি আসলে 4:2:0 রৈখিক বিন্যাসে ITU-R BT.601 সুপারিশ অনুসরণ করে কাঁচা Y'CbCr নমুনা নিয়ে গঠিত। লুমা প্লেনের আকার width x height রয়েছে।
-pre int
কিছু প্রাক-প্রক্রিয়াকরণ পদক্ষেপ নির্দিষ্ট করুন। 2 এর মান ব্যবহার করা RGBA->YUVA রূপান্তরের সময় গুণমান-নির্ভর সিউডো-র্যান্ডম ডিথারিংকে ট্রিগার করবে (শুধুমাত্র ক্ষতিকর কম্প্রেশন)।
-alpha_filter string
আলফা সমতলের জন্য ভবিষ্যদ্বাণীমূলক ফিল্টারিং পদ্ধতি উল্লেখ করুন। ক্রমবর্ধমান জটিলতা এবং মন্থরতা ক্রমে, fast বা best কোনোটিই none । ডিফল্ট fast । অভ্যন্তরীণভাবে, আলফা ফিল্টারিং চারটি সম্ভাব্য ভবিষ্যদ্বাণী (কোনটি নয়, অনুভূমিক, উল্লম্ব, গ্রেডিয়েন্ট) ব্যবহার করে সঞ্চালিত হয়। best মোড প্রতিটি মোড পালা করে চেষ্টা করবে এবং একটি বাছাই করবে যা ছোট আকার দেয়। fast মোড সমস্ত মোড পরীক্ষা না করেই একটি অগ্রাধিকার অনুমান তৈরি করার চেষ্টা করবে।
-alpha_method int
আলফা কম্প্রেশনের জন্য ব্যবহৃত অ্যালগরিদম নির্দিষ্ট করুন: 0 বা 1 । অ্যালগরিদম 0 কোন কম্প্রেশন বোঝায় না, 1 কম্প্রেশনের জন্য WebP লসলেস ফর্ম্যাট ব্যবহার করে। ডিফল্ট হল 1
-exact
স্বচ্ছ এলাকায় RGB মান সংরক্ষণ করুন। কম্প্রেসিবিলিটি সাহায্য করার জন্য ডিফল্ট বন্ধ আছে।
-blend_alpha int
এই বিকল্পটি 0xrrggbb হিসাবে হেক্সাডেসিমেলে নির্দিষ্ট করা পটভূমির রঙ ব্যবহার করে উৎসের সাথে আলফা চ্যানেল (যদি উপস্থিত থাকে) মিশ্রিত করে। আলফা চ্যানেল পরে অস্বচ্ছ মান 255 এ পুনরায় সেট করা হয়।
-noalpha
এই বিকল্পটি ব্যবহার করে আলফা চ্যানেল বাতিল করা হবে।
-hint string
ইনপুট ইমেজ টাইপ সম্পর্কে ইঙ্গিত উল্লেখ করুন। সম্ভাব্য মানগুলি হল: photo , picture বা graph
-metadata string

উপস্থিত থাকলে ইনপুট থেকে আউটপুটে কপি করার জন্য মেটাডেটার একটি কমা বিভক্ত তালিকা। বৈধ মান: all , none , exif , icc , xmp । ডিফল্ট none

মনে রাখবেন যে প্রতিটি ইনপুট বিন্যাস সমস্ত সংমিশ্রণ সমর্থন নাও করতে পারে৷

-noasm

সমস্ত সমাবেশ অপ্টিমাইজেশান নিষ্ক্রিয় করুন.

বাগ

উদাহরণ

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/ এ উপলব্ধ

এই ম্যানুয়াল পৃষ্ঠাটি ডেবিয়ান প্রকল্পের জন্য লেখা হয়েছিল (এবং অন্যরা ব্যবহার করতে পারে)।