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 कंप्रेस करने का काम करेगा, लेकिन सिर्फ़ आंकड़ों की रिपोर्ट करेगा. आउटपुट के नाम के तौर पर "-" का इस्तेमाल करने पर आउटपुट, {39;stdout'.
तक पहुंच जाएगा
-- string
इनपुट फ़ाइल के बारे में साफ़ तौर पर बताएं. यह विकल्प तब काम आता है, जब इनपुट फ़ाइल '-' से शुरू होती है. यह विकल्प last पर दिखना चाहिए. इसके बाद दिए गए सभी विकल्पों को अनदेखा कर दिया जाएगा.
-h, -help
कम इस्तेमाल की जानकारी.
-H, -longhelp
सभी संभावित विकल्पों के बारे में खास जानकारी.
-version
वर्शन नंबर (large.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

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 ने दूसरे पैरामीटर और #39 की वैल्यू को बदल दिया है. -q की वैल्यू को छोड़कर, यह विकल्प आर्ग्युमेंट के क्रम के हिसाब से सबसे पहले दिखना चाहिए.

-m int

इस्तेमाल करने के लिए कंप्रेस करने का तरीका बताएं. यह पैरामीटर, कोड में बदलने के समय और कंप्रेस की गई फ़ाइल के साइज़ और क्वालिटी के बीच के अंतर को कंट्रोल करता है. इसमें 0 से 6 तक की वैल्यू हो सकती हैं. डिफ़ॉल्ट वैल्यू 4 है. जब ज़्यादा वैल्यू का इस्तेमाल किया जाता है, तो एन्कोडर ज़्यादा एन्कोडिंग जांच करने और क्वालिटी से जुड़ा फ़ैसला लेने में ज़्यादा समय देगा. वैल्यू का साइज़ कम होने से, फ़ाइल का साइज़ बड़ा हो जाता है और उसे कंप्रेस करने में कम समय लगता है.

-crop x_position y_position width height

निर्देशांकों (x_position, y_position) और साइज़ width x height के ऊपर बाएं कोने से, आयत को एक आयत में काटें. यह क्रॉपिंग क्षेत्र, सोर्स रेक्टैंगल में पूरी तरह से शामिल होना चाहिए. ध्यान दें: क्रॉपिंग को किसी भी स्केलिंग से पहले लागू किया जाता है.

-resize width height

सोर्स को साइज़ के साथ x width x height साइज़ में बदलें. अगर चौड़ाई या ऊंचाई के पैरामीटर में से कोई एक (लेकिन दोनों नहीं) 0 है, तो वैल्यू का हिसाब, आसपेक्ट रेशियो या चौड़ाई-ऊंचाई के अनुपात को बनाए रखने के लिए लगाया जाएगा. ध्यान दें: स्केलिंग, काटने के बाद लागू की जाती है.

-mt

अगर हो सके, तो कोड में बदलने के लिए एक से ज़्यादा थ्रेड का इस्तेमाल करें.

-low_memory

कंप्रेस किए गए साइज़ की संख्या को चार गुना सेव करके, मेमोरी को नुकसान पहुंचाने वाली एन्कोडिंग के इस्तेमाल को कम करें. इससे कोड में बदलने का तरीका धीमा हो जाएगा और आउटपुट का साइज़ और डिस्टॉर्शन थोड़ा अलग हो जाएगा. यह फ़्लैग सिर्फ़ तीसरे और ऊपर के तरीके के लिए लागू होता है. यह डिफ़ॉल्ट रूप से बंद होता है. ध्यान दें कि इस फ़्लैग को बंद करने से बिट स्ट्रीम पर कुछ खराब असर पड़ता है: इससे कुछ विभाजन की सुविधाएं काम करती हैं, जैसे कि विभाजनों की संख्या (1 के लिए बाध्य). इस विकल्प का इस्तेमाल करते समय cwebp के ज़रिए बिटस्ट्रीम आकार की ज़्यादा विस्तृत रिपोर्ट प्रिंट की जाती है.

लॉससी विकल्प

ये विकल्प सिर्फ़ तब काम करते हैं, जब डेटा को कोड में बदलने के तरीके में कोई बदलाव न किया गया हो (डिफ़ॉल्ट रूप से, ऐल्फ़ा के साथ या उसके बिना).

-size int
कंप्रेस किए गए आउटपुट के लिए कोशिश करने और उस तक पहुंचने के लिए टारगेट साइज़ (बाइट में) बताएं. कंप्रेसर, टारगेट के काफ़ी करीब-करीब हो सके इसके लिए आंशिक एन्कोडिंग के कई पास बनाएं. अगर -size और -psnr, दोनों का इस्तेमाल किया जाता है, तो -size की वैल्यू लागू होगी.
-psnr float
कंप्रेस किए गए आउटपुट के लिए, टारगेट पीएसएन (dB में) और रीच तय करें. कंप्रेसर इस लक्ष्य को ज़्यादा से ज़्यादा पास करने के लिए आंशिक एन्कोडिंग के कई पास बनाएगा. अगर -size और -psnr, दोनों इस्तेमाल किए जाते हैं, तो -size वैल्यू लागू होगी.
-pass int
विकल्पों के लिए इस्तेमाल की जाने वाली डायटोमी के दौरान इस्तेमाल करने के लिए ज़्यादा से ज़्यादा पास सेट करें -size या -psnr. वैल्यू 10 से ज़्यादा नहीं हो सकती, लेकिन डिफ़ॉल्ट वैल्यू 1 है. अगर विकल्पों -size या -psnr का इस्तेमाल किया गया था, लेकिन -pass की जानकारी नहीं दी गई थी, तो डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जाएगा.
-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->YUC कन्वर्ज़न का इस्तेमाल करें. ध्यान दें कि यह प्रोसेस, डिफ़ॉल्ट और #39; तेज़' आरजीबी->वाईयूवी कन्वर्ज़न की तुलना में धीमी है.
-sns int
जगह के हिसाब से शोर को बढ़ाने की सुविधा के बारे में बताएं. जगह के हिसाब से शोर को कम करने की सुविधा (या कम शब्दों में जानकारी देने वाली सुविधा के लिए) बिल्ट-इन एल्गोरिदम के सामान्य संग्रह से जुड़ी है इसका इस्तेमाल यह तय करने के लिए किया जाता है कि तस्वीर के किस हिस्से को सामान्य से कम बिट इस्तेमाल करना चाहिए और इन बिट को बेहतर तरीके से कहां ट्रांसफ़र करना चाहिए. संभावित रेंज 0 से शुरू होती है (एल्गोरिदम बंद है), 100 से ज़्यादा से ज़्यादा हो सकती है. डिफ़ॉल्ट वैल्यू 50 है.
-segments int
स्न एल्गोरिदम के सेगमेंटेशन के दौरान, इस्तेमाल किए जाने वाले विभाजनों की संख्या बदलें. सेगमेंट की रेंज 1 से 4 तक होनी चाहिए. डिफ़ॉल्ट वैल्यू 4 है. इस विकल्प का असर तीसरे और ऊपर के तरीकों पर नहीं पड़ता है, बशर्ते -low_memory का इस्तेमाल न किया गया हो.
-partition_limit int
कुछ मैक्रोब्लॉक में इस्तेमाल किए जाने वाले बिट की संख्या को सीमित करके क्वालिटी में कमी लाएं. श्रेणी 0 है (कोई गिरावट नहीं, डिफ़ॉल्ट) और 100 (पूरी गिरावट). सामान्य तौर पर बड़ी इमेज के लिए, उपयोगी वैल्यू आम तौर पर 30-70 के आस-पास होती हैं. VM बहुत बड़ी इमेज के लिए, 512k की जगह हर 16x16 मैक्रोब्लॉक के साथ कुछ बिट तक ही रह सकती है. हर मैक्रोब्लॉक में कम से कम 4 बिट की ज़रूरत होती है. छोड़ें, सेगमेंट, और मोड की जानकारी करीब-करीब सभी चार बिट का इस्तेमाल कर सकती है. हालांकि, ऐसा कम ही होता है, क्योंकि बहुत बड़ी इमेज के लिए यह समस्या होती है. partition_limit फ़ैक्टर यह कंट्रोल करता है कि सबसे बिट-कॉस्ट्ड मोड (इंट्रा 4x4) का इस्तेमाल कितनी बार किया जाएगा. 5 लाख 12 हज़ार की सीमा पूरी होने पर और नीचे दिया गया मैसेज दिखाई देने पर यह काम का होता है: गड़बड़ी कोड: 6 (PARTITION0_OVERFLOW: विभाजन 0 #5 लाख 12 हज़ार तक फ़िट होने के लिए बहुत बड़ा है). अगर 5.12k की सीमा पूरी करने के लिए, -partition_limit का इस्तेमाल करना काफ़ी नहीं है, तो हर मैक्रोब्लॉक में हेडर के ज़्यादा बिट सेव करने के लिए, कम सेगमेंट का इस्तेमाल करना चाहिए. -segments विकल्प देखें.

लॉगिंग विकल्प

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

-v
अतिरिक्त जानकारी प्रिंट करें (खास तौर पर, कोड में बदलने का समय).
-print_psnr
औसत 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 लीनियर फ़ॉर्मैट में आईटीयू-आर BT.601 सुझाव के मुताबिक हैं. लूमा विमान का आकार width x height है.
-pre int
प्रोसेस से पहले के कुछ चरण तय करें. 2 की वैल्यू का इस्तेमाल करने से, क्वालिटी के हिसाब से सूडो-रैंडिंग के काम में रुकावट आएगी. यह आरजीबीए->YUAA कन्वर्ज़न के दौरान ही होगा (सिर्फ़ नुकसान पहुंचाने के लिए कंप्रेस करना).
-alpha_filter string
ऐल्फ़ा फ़िल्टर में, अनुमान लगाने के हिसाब से फ़िल्टर करने के तरीके के बारे में बताएं. none, fast या best में से एक, जिससे ऐप्लिकेशन के इस्तेमाल करने में लगने वाले समय को कम किया गया है और उसे धीमा किया जा रहा है. fast डिफ़ॉल्ट है. अंदरूनी तौर पर, ऐल्फ़ा फ़िल्टर करने के लिए चार संभावित सुझावों (कोई नहीं, क्षैतिज, वर्टिकल, और ग्रेडिएंट) का इस्तेमाल किया जाता है. best मोड, बदले में हर मोड को आज़माकर देखेगा और उसी मोड को चुनेगा जो छोटे साइज़ का होता है. fast मोड बस सभी मोड की जांच किए बिना, एक प्राथमिकता अनुमान बनाने की कोशिश करेगा.
-alpha_method int
ऐल्फ़ा कंप्रेस करने के लिए इस्तेमाल किया गया एल्गोरिदम बताएं: 0 या 1. एल्गोरिदम 0 से पता चलता है कि कंप्रेस करने का कोई समय नहीं है. 1, कंप्रेस करने के लिए, WebP लॉसलेस फ़ॉर्मैट का इस्तेमाल करता है. डिफ़ॉल्ट वैल्यू 1 है.
-exact
आरजीबी वैल्यू को पारदर्शी इलाके में सेव करें. कंप्रेस करने में मदद करने के लिए, डिफ़ॉल्ट सेटिंग बंद रहती है.
-blend_alpha int
यह विकल्प अल्फ़ा चैनल (अगर मौजूद हो) को स्रोत से मिला देता है. इसके लिए, हेक्साडेसिमल में बताए गए बैकग्राउंड रंग का इस्तेमाल 0xrrggb होता है. इसके बाद, ऐल्फ़ा चैनल 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 प्रोजेक्ट के लिए लिखा गया था (और दूसरे लोग इसका इस्तेमाल कर सकते हैं).