নাম
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) এবং আকারেরwidthxheightশীর্ষ-বাম কোণ সহ একটি আয়তক্ষেত্রে উৎসটি কাটুন। এই ক্রপিং এলাকাটি অবশ্যই উৎস আয়তক্ষেত্রের মধ্যে সম্পূর্ণরূপে ধারণ করতে হবে। দ্রষ্টব্য: কোনো স্কেলিং করার আগে ক্রপিং প্রয়োগ করা হয়।-
-resize width height আকারের
widthxheightসহ একটি আয়তক্ষেত্রে উত্সটির আকার পরিবর্তন করুন। যদি প্রস্থ বা উচ্চতার পরামিতিগুলির মধ্যে একটি (কিন্তু উভয় নয়)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 নমুনা নিয়ে গঠিত। লুমা প্লেনের আকার
widthxheightরয়েছে। -
-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 সমস্ত সমাবেশ অপ্টিমাইজেশান নিষ্ক্রিয় করুন.
বাগ
ইস্যু ট্র্যাকারে সমস্ত বাগ রিপোর্ট করুন: https://issues.webmproject.org
প্যাচ স্বাগত জানাই! শুরু করতে এই পৃষ্ঠাটি দেখুন: https://www.webmproject.org/code/contribute/submitting-patches/
উদাহরণ
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/ এ উপলব্ধ
এই ম্যানুয়াল পৃষ্ঠাটি ডেবিয়ান প্রকল্পের জন্য লেখা হয়েছিল (এবং অন্যরা ব্যবহার করতে পারে)।