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 के बीच के आरजीबी चैनलों के लिए, कंप्रेस करने का फ़ैक्टर क्या है. कॉन्टेंट बनाने डिफ़ॉल्ट वैल्यू 75 है.

नुकसान पहुंचाने वाले कंप्रेशन (डिफ़ॉल्ट) की स्थिति में, छोटे फ़ैक्टर का इस्तेमाल करने पर निम्न गुणवत्ता वाली फ़ाइल. सबसे अच्छी क्वालिटी हासिल करने के लिए, 100.

लॉसलेस कंप्रेशन (-lossless विकल्प में बताया गया) के मामले में, एक छोटा फ़ैक्टर, तेज़ कंप्रेशन स्पीड को चालू करता है, लेकिन बड़ी फ़ाइल जनरेट करता है. 100 वैल्यू का इस्तेमाल करके, ज़्यादा से ज़्यादा कंप्रेस किया जा सकता है.

-z int

0 के बीच के चुने गए लेवल पर, lossless कंप्रेशन मोड चालू करें और 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 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 के टारगेट पीएसएनआर का इस्तेमाल किया जाएगा.
-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 कन्वर्ज़न का इस्तेमाल करें. ध्यान दें कि प्रक्रिया डिफ़ॉल्ट 'तेज़' से धीमी है आरजीबी->वाईयूवी कन्वर्ज़न.
-sns int
जगह के आस-पास होने वाले शोर के आयाम की जानकारी दें. स्पेशल नॉइज़ शेपिंग (या संक्षेप में sns) बिल्ट-इन एल्गोरिदम के सामान्य संग्रह को दिखाता है इसका इस्तेमाल यह तय करने के लिए किया जाता है कि तस्वीर के किस हिस्से में कम बिट इस्तेमाल होने चाहिए, साथ ही, इन बिट को कहीं और बेहतर तरीके से ट्रांसफ़र किया जा सकता है. संभावित रेंज यहां से ली जा सकती है 0 (एल्गोरिदम बंद है) से 100 (सबसे ज़्यादा इफ़ेक्ट). डिफ़ॉल्ट मान यह है 50.
-segments int
sn के विभाजन के दौरान उपयोग करने के लिए विभाजनों की संख्या बदलें एल्गोरिदम. सेगमेंट 1 से 4 की रेंज में होने चाहिए. डिफ़ॉल्ट मान 4 है. इस विकल्प का असर 3 और इससे बाद के तरीकों के लिए नहीं पड़ता. ऐसा तब तक होता है, जब तक -low_memory इस्तेमाल किया गया है.
-partition_limit int
कुछ मैक्रोब्लॉक में इस्तेमाल होने वाले बिट की संख्या को सीमित करके, क्वालिटी को बेहतर बनाएं. रेंज 0 (कोई डिग्रेडेशन नहीं, डिफ़ॉल्ट) से 100 (पूरी तरह डिग्रेडेशन) है. आम तौर पर, बड़ी इमेज के लिए उपयोगी वैल्यू करीब 30 से 70 के बीच होती है. तय सीमा में VP8 फ़ॉर्मैट में है, जबकि तथाकथित कंट्रोल पार्टिशन की सीमा 512k है और यह नीचे दी गई जानकारी संग्रहित करने के लिए इस्तेमाल किया जाता है: क्या मैक्रोब्लॉक स्किप किया गया, यह किस सेगमेंट से जुड़ा है, चाहे इसे intra 4x4 के रूप में कोड किया गया हो या इंट्रा 16x16 मोड और आखिर में हर डिवाइस के लिए अनुमान मोड सब-ब्लॉक न करें. बहुत बड़ी इमेज के लिए, 512k प्रति कुछ बिट के लिए ही जगह छोड़ता है 16x16 मैक्रोब्लॉक. हर मैक्रोब्लॉक के लिए कुल कम से कम 4 बिट होना चाहिए. अभी नहीं, सेगमेंट और मोड की जानकारी करीब-करीब इन सभी 4 बिट का इस्तेमाल कर सकती है (हालांकि, कोई संभावना नहीं है), जो बहुत बड़ी इमेज के लिए समस्या पैदा करता है. कॉन्टेंट बनाने partition_limit फ़ैक्टर से यह कंट्रोल होता है कि सबसे ज़्यादा बिट-लागत वाला मोड कितनी बार दिखेगा (इंट्रा 4x4) का इस्तेमाल किया जाएगा. यह तब फ़ायदेमंद होता है, जब 5.12,000 की सीमा पूरी हो जाए और यह मैसेज दिखेगा: गड़बड़ी कोड: 6 (PartITION0_OVERFLOW: पार्टिशन #0 इतना बड़ा है कि 512k में फ़िट नहीं हो सकता). अगर इसका इस्तेमाल किया जा रहा है 512k की कंस्ट्रेंट को पूरा करने के लिए, -partition_limit काफ़ी नहीं है. इसलिए, आपको यह करना चाहिए हर मैक्रोब्लॉक में हेडर बिट सेव करने के लिए कम सेगमेंट का इस्तेमाल करना. यहां जाएं: -segments विकल्प. ध्यान दें कि -m और -q विकल्प चुनने पर, के फ़ैसले और इस सीमा तक पहुंचने की क्षमता भी देखते हैं.

लॉग करने के विकल्प

ये विकल्प, आउटपुट के लेवल को कंट्रोल करते हैं:

-v
अतिरिक्त जानकारी प्रिंट करें (खास तौर पर, कोड में बदलने का समय).
-print_psnr
औसत पीएसएनआर (सबसे ज़्यादा सिग्नल और शोर का अनुपात) का हिसाब लगाएं और उसकी रिपोर्ट करें.
-print_ssim
औसत एसएसआईएम (संरचनात्मक समानता मेट्रिक, देखें) का पता लगाएं और इसकी रिपोर्ट करें https://en.wikipedia.org/wiki/SSIM के बारे में ज़्यादा जानकारी देखें.
-print_lsim
लोकल समानता वाली मेट्रिक का हिसाब लगाएं और रिपोर्ट करें (इनमें से सबसे कम गड़बड़ी का कुल योग एक जगह से दूसरी जगह पर बने पिक्सल आस-पास के नतीजे).
-progress
एन्कोडिंग की प्रोग्रेस को प्रतिशत में रिपोर्ट करें.
-quiet
कुछ भी प्रिंट न करें.
-short
जांच के लिए, सिर्फ़ प्रिंट की जाने वाली जानकारी (आउटपुट फ़ाइल का साइज़ और पीएसएनआर) को प्रिंट करें के मकसद से बनाया गया है.
-map int
एन्कोडिंग की जानकारी का अतिरिक्त ASCII-मैप आउटपुट करें. संभावित मैप मान रेंज 1 से 6 तक है. इसका इस्तेमाल सिर्फ़ डीबग करने के लिए किया जाता है.

ज़्यादा विकल्प

ज़्यादा बेहतर विकल्प ये हैं:

-s width height
यह बताएं कि इनपुट फ़ाइल में असल में रॉ Y'CbCr के सैंपल हैं 4:2:0 लीनियर फ़ॉर्मैट में, ITU-R BT.601 सुझाव के मुताबिक. कॉन्टेंट बनाने लुमा हवाई जहाज़ का साइज़ width x height है.
-pre int
प्रोसेस करने से पहले के कुछ चरण बताएं. 2 की वैल्यू का इस्तेमाल करने पर, यह ट्रिगर हो जाएगा आरजीबीए->वाईयूवीए कन्वर्ज़न के दौरान क्वालिटी पर निर्भर pseudo-रैंडम तरीके से डेटा कॉपी करना (सिर्फ़ कम करने के लिए).
-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

सभी असेंबली ऑप्टिमाइज़ेशन बंद करें.

बग

उदाहरण

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 प्रोजेक्ट के लिए लिखा गया था (और इसका उपयोग करके अन्य).