नाम
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
xheight
. यह क्रॉपिंग एरिया, सोर्स रेक्टैंगल के अंदर पूरी तरह से शामिल होना चाहिए. ध्यान दें: काटना किसी स्केलिंग से पहले लागू किया जाता है.-resize width height
सोर्स को
width
xheight
साइज़ वाले रेक्टैंगल में बदलें. अगर इनमें से कोई एक है चौड़ाई या ऊंचाई पैरामीटर की (लेकिन दोनों नहीं)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
xheight
है. -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
सभी असेंबली ऑप्टिमाइज़ेशन बंद करें.
बग
कृपया समस्या ट्रैकर में सभी गड़बड़ियों की रिपोर्ट करें: 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/
यह मैन्युअल पृष्ठ Debian प्रोजेक्ट के लिए लिखा गया था (और इसका उपयोग करके अन्य).