Ad
cwebp
-- Resim dosyasını WebP dosyası olarak sıkıştırın
Özet
cwebp [options] input_file -o output_file.webp
Açıklama
cwebp
, bir resmi WebP biçimini kullanarak sıkıştırır. Giriş biçimi PNG, JPEG, TIFF, WebP veya ham Y'CbCr örnekleri olabilir.
Not: Animasyonlu PNG ve WebP dosyaları desteklenmez.
Seçenekler
Temel seçenekler şunlardır:
-o string
- Çıkış WebP dosyasının adını belirtin. Atlanırsa
cwebp
sıkıştırma gerçekleştirir ancak yalnızca istatistikleri raporlar. Çıkış adı olarak "-" kullanmak, çıkışı "stdout"a yönlendirir. -- string
- Giriş dosyasını açıkça belirtin. Bu seçenek, örneğin giriş dosyası "-" ile başlıyorsa kullanışlıdır. Bu seçenek
last
görünmelidir. Daha sonra kullanılabilecek diğer seçenekler yoksayılır. -h, -help
- Kısa bir kullanım özeti.
-H, -longhelp
- Olası tüm seçeneklerin özeti.
-version
- Sürüm numarasını (ana.alt.revizyon olarak) yazdırıp çıkın.
-lossless
- Resmi kayıpsız olarak kodlayın. Alanı tamamen şeffaf olan resimlerde görünmez piksel değerleri (R/G/B veya Y/U/V) yalnızca
-exact
seçeneği kullanıldığında korunur. -near_lossless int
- Neredeyse kayıpsız resim ön işleme düzeyini belirtin. Bu seçenek, sıkıştırılabilirliğe yardımcı olmak için piksel değerlerini ayarlar ancak görsel kalite üzerindeki etkisi minimum düzeydedir. Kayıpsız sıkıştırma modunu otomatik olarak tetikler.
Aralık,
0
(maksimum ön işleme) -100
(ön işleme yok, varsayılan) şeklindedir. Normal değer yaklaşık60
.-q 100
ile kayıplı hesaplamanın bazen daha iyi sonuçlar sağlayabileceğini unutmayın. -q float
0
ile100
arasındaki RGB kanalları için sıkıştırma faktörünü belirtin. Varsayılan değer:75
.Kayıplı sıkıştırma durumunda (varsayılan) küçük bir faktör, daha düşük kalitede daha küçük bir dosya üretir. En yüksek kalite,
100
değeri kullanılarak elde edilir.Kayıpsız sıkıştırma durumunda (
-lossless
seçeneği ile belirtilir) küçük bir faktör, daha hızlı sıkıştırmaya olanak tanır ancak daha büyük bir dosya üretir. Maksimum sıkıştırma,100
değeri kullanılarak elde edilir.-z int
Belirtilen seviye 0 ile 9 arasında olacak şekilde
lossless
sıkıştırma modunu etkinleştirin. Düzey 0 en hızlı, 9 ise en yavaş olmak üzere gösterilir. Hızlı mod, yavaş olanlardan daha büyük dosya boyutu üretir.-z 6
iyi bir varsayılan değerdir. Bu seçenek, aslında kalite ve yöntem ile ilgili önceden tanımlanmış bazı ayarların kısayoludur. Daha sonra-q
veya-m
seçenekleri kullanılırsa bu seçeneğin etkisi geçersiz kılınır.-alpha_q int
0
ile100
arasında alfa sıkıştırma için sıkıştırma faktörünü belirtin. Alfa, kayıpsız sıkıştırma100
değeri kullanılarak gerçekleştirilir. Daha düşük değerler ise kayıplı bir sıkıştırmaya neden olur. Varsayılan değer:100
.-preset string
Belirli bir kaynak malzeme türüne uygun, önceden tanımlanmış bir parametre grubu belirtin. Olası değerler şunlardır:
default
,photo
,picture
,drawing
,icon
,text
.-preset
, diğer parametrelerin değerlerinin (-q
değeri dışında) üzerine yazdığından bu seçeneğin bağımsız değişkenlerin sırasına göre ilk sırada görünmesi tercih edilir.-m int
Kullanılacak sıkıştırma yöntemini belirtin. Bu parametre, kodlama hızı ile sıkıştırılmış dosya boyutu ve kalitesi arasındaki dengeyi kontrol eder. Olası değerler
0
ile6
aralığındadır.4
, varsayılan değerdir. Daha yüksek değerler kullanıldığında, kodlayıcı ek kodlama olasılıklarını incelemek için daha fazla zaman harcar ve kalite kazancına karar verir. Daha düşük değer, daha büyük dosya boyutuna ve daha düşük sıkıştırma kalitesine karşılık daha hızlı işleme süresi sağlayabilir.-crop x_position y_position width height
Kaynağı, sol üst köşesi koordinatlarda (
x_position
,y_position
) ve boyutuwidth
xheight
olan bir dikdörtgene kırpın. Bu kırpma alanı, kaynak dikdörtgen içinde tamamen tutulmalıdır. Not: Kırpma işlemi herhangi bir ölçeklendirmeden önce uygulanır.-resize width height
Kaynağı
width
xheight
boyutunda bir dikdörtgene yeniden boyutlandırın. Genişlik veya yükseklik parametrelerinden biri (ancak ikisi birden değil)0
ise değer, en boy oranı korunarak hesaplanır. Not: Ölçeklendirme, kırpma işleminden sonra uygulanır.-mt
Mümkünse kodlama için çoklu iş parçacığı kullanın.
-low_memory
Sıkıştırılmış boyutun (genellikle) dört katı tasarruf ederek kayıplı kodlamanın bellek kullanımını azaltın. Bu işlem, kodlamayı yavaşlatır, çıkışın boyut ve distorsiyonu açısından biraz farklılaşır. Bu işaret yalnızca 3. ve sonraki yöntemler için geçerlidir ve varsayılan olarak devre dışıdır. Bu işaretin kapalı bırakılmasının bit akışında bazı yan etkileri olacağını unutmayın: Bölüm sayısı (
1
için zorunlu kılınır) gibi belirli bit akışı özelliklerini zorlar. Bu seçeneği kullanırkencwebp
tarafından daha ayrıntılı bir bit akışı boyutu raporunun yazdırıldığını unutmayın.
Kayıplı Seçenekler
Bu seçenekler yalnızca kayıplı kodlama (varsayılan olarak alfa ile veya alfa olmadan) yapılırken etkilidir.
-size int
- Sıkıştırılmış çıkışa ulaşmaya çalışmak için bayt cinsinden bir hedef boyut belirtin. Kompresör bu hedefe olabildiğince yaklaşmak için birkaç kısmi kodlama geçişi gerçekleştirir. Hem
-size
hem de-psnr
kullanılırsa-size
değeri geçerli olur. -psnr float
- Sıkıştırılmış çıkışa erişmeye çalışmak için bir hedef PSNR (dB cinsinden) belirtin.
Kompresör bu hedefe olabildiğince yaklaşmak için birkaç kısmi kodlama geçişi gerçekleştirir. Hem
-size
hem de-psnr
kullanılırsa-size
değeri geçerli olur. -pass int
- Seçeneklerin kullandığı ikilem sırasında kullanılabilecek maksimum kart sayısını belirleyin
-size
veya-psnr
. Maksimum değer10
, varsayılan değer:1
.-size
veya-psnr
seçenekleri kullanıldıysa ancak-pass
belirtilmediyse varsayılan değer olarak "6" kart kullanılır.-pass
belirtilmişse ancak-size
veya-psnr
belirtilmezse 40 dB'lik bir hedef PSNR kullanılır. -af
- Otomatik filtreyi açar. Bu algoritma, dengeli bir kaliteye ulaşmak için filtreleme gücünü optimize etmeye daha fazla zaman ayıracaktır.
-jpeg_like
- Dahili parametre eşlemesini, beklenen JPEG sıkıştırma boyutuyla daha iyi eşleşecek şekilde değiştirin. Bu işaret genellikle JPEG eşdeğerine benzer boyutta (aynı
-q
ayarı için) ancak daha az görsel bozulma içeren bir çıkış dosyası üretir.
Gelişmiş seçenekler:
-f int
0
(filtreleme yok) ve100
(maksimum filtreleme) arasında, engelleme kaldırma filtresinin gücünü belirtin.0
değeri, tüm filtrelemeyi devre dışı bırakır. Daha yüksek değer, resmin kodu çözüldükten sonra uygulanan filtreleme işleminin gücünü artırır. Değer ne kadar yüksek olursa resim de o kadar düzgün görünür. Normal değerler genellikle20
-50
aralığında.-sharpness int
- Filtrelemenin keskinliğini belirtin (kullanılıyorsa). Aralık
0
(en keskin) -7
(en az keskin) şeklindedir.0
varsayılandır. -strong
- Güçlü filtreleme kullanın (
-f
seçeneği sayesinde filtreleme kullanılıyorsa). Güçlü filtreleme varsayılan olarak etkindir. -nostrong
- Güçlü filtrelemeyi devre dışı bırakın (
-f
seçeneği sayesinde filtreleme kullanılıyorsa) ve bunun yerine basit filtreleme kullanın. -sharp_yuv
- Gerekirse daha doğru ve daha keskin RGB->YUV dönüşümü kullanın. Bu işlemin, varsayılan "hızlı" RGB->YUV dönüştürmesinden daha yavaş olduğunu unutmayın.
-sns int
- Üç boyutlu gürültü şekillendirmenin genliğini belirtin. Uzamsal gürültü şekillendirme (veya kısaca sns), resmin hangi alanında görece daha az bit kullanılması gerektiğine ve bu bitlerin başka nerelere daha iyi aktarılacağına karar vermek için kullanılan yerleşik algoritmalardan oluşan genel bir koleksiyonu ifade eder. Olası aralık,
0
(algoritma kapalı) ile100
(maksimum etki) aralığındadır. Varsayılan değer50
değeridir. -segments int
- sns algoritmasının segmentasyonu sırasında kullanılacak bölüm sayısını değiştirme. Segmentler
1
-4
aralığında olmalıdır.4
, varsayılan değerdir.-low_memory
kullanılmadığı sürece bu seçeneğin 3. ve sonraki yöntemler üzerinde etkisi yoktur. -partition_limit int
- Bazı makro blokların kullandığı bit sayısını sınırlandırarak kaliteyi düşürün.
Aralık,
0
(değer düşüşü yok, varsayılan olarak) -100
(tam düşüş) şeklindedir. Orta büyüklükte resimler için yararlı değerler genellikle30
-70
aralığındadır. VP8 biçiminde, sözde denetim bölümü 512.000 kişiyle sınırlıdır ve şu bilgileri depolamak için kullanılır: makro blokun atlanıp atlanmadığı, hangi segmente ait olduğu, intra 4x4 veya 16x16 modu olarak kodlandığı ve son olarak alt blokların her biri için kullanılacak tahmin modları. Çok büyük bir resim için 512k, 16x16 makro blok başına yalnızca birkaç bit için yer bırakır. Mutlak minimum değer makro blok başına 4 bittir. Atlama, segmentlere ayırma ve mod bilgileri bu 4 bitin neredeyse tamamını kullanabilir (ancak bu olasılığın düşük olması pek olası değildir). Bu da çok büyük resimlerde soruna yol açar.partition_limit
faktörü, en bit maliyetli modun (4x4 içi) ne sıklıkta kullanılacağını kontrol eder. Bu, 512k sınırına ulaşıldığında ve şu mesaj görüntülendiğinde faydalıdır: Hata kodu: 6 (PARTITION0_OVERFLOW: Bölüm #0, 512k sığmayacak kadar büyük).-partition_limit
kullanmak 512.000 sınıra uymak için yeterli değilse makro blok başına daha fazla başlık biti kaydetmek için daha az segment kullanılmalıdır.-segments
seçeneğini inceleyin.-m
ve-q
seçeneklerinin de kodlayıcının kararlarını ve bu sınıra ulaşma yeteneğini etkilediğini unutmayın.
Günlüğe Kaydetme Seçenekleri
Bu seçenekler çıkış düzeyini kontrol eder:
-v
- Ek bilgi yazdırın (özellikle kodlama süresi).
-print_psnr
- Ortalama PSNR'yi (Zirve-Sinyal-Gürültü oranı) hesaplayıp raporlayın.
-print_ssim
- Ortalama SSIM'yi hesaplayıp bildirin (yapısal benzerlik metriği, daha fazla bilgi için https://en.wikipedia.org/wiki/SSIM adresini ziyaret edin).
-print_lsim
- Yerel benzerlik metriğini (birlikte konumlandırılmış piksel komşuları arasındaki en düşük hatanın toplamı) hesaplayın ve raporlayın.
-progress
- Kodlama ilerleme durumunu yüzde olarak bildirir.
-quiet
- Hiçbir şey yazdırmayın.
-short
- Test amacıyla yalnızca kısa bilgileri (çıktı dosyası boyutu ve PSNR) yazdırın.
-map int
- Kodlama bilgilerinin ek ASCII haritasını çıkarın. Olası harita değerleri
1
ile6
aralığındadır. Buradaki amaç hata ayıklamaya yardımcı olmaktır.
Ek Seçenekler
Diğer gelişmiş seçenekler şunlardır:
-s width height
- Giriş dosyasının aslında ITU-R BT.601 önerisine uygun ham Y'CbCr örneklerinden oluştuğunu, 4:2:0 doğrusal biçiminde belirtin. Luma düzlemi
width
xheight
boyutundadır. -pre int
- Ön işleme adımlarından bazılarını belirtin.
2
değerinin kullanılması, RGBA->YUVA dönüştürmesi sırasında kaliteye bağlı sözde rastgele dalgalanmayı tetikler (yalnızca kayıplı sıkıştırma). -alpha_filter string
- Alfa düzlemi için tahmine dayalı filtreleme yöntemini belirtir. Artan karmaşıklık ve yavaşlık sıralamasında
none
,fast
veyabest
değerlerinden biri.fast
varsayılandır. Alfa filtrelemesi dahili olarak dört olası tahmin (hiçbiri, yatay, dikey, gradyan) kullanılarak gerçekleştirilir.best
modu sırayla her modu deneyecek ve en küçük boyutu veren modu seçecektir.fast
modu, tüm modları test etmeden sadece bir öncelikli tahmin oluşturmaya çalışır. -alpha_method int
- Alfa sıkıştırması için kullanılan algoritmayı belirtin:
0
veya1
.0
algoritması, sıkıştırma olmadığını belirtir,1
ise sıkıştırma için WebP kayıpsız biçimini kullanır. Varsayılan değer:1
. -exact
- RGB değerlerini şeffaf bir alanda saklayın. Sıkıştırılabilirliğe yardımcı olmak için varsayılan ayar kapalıdır.
-blend_alpha int
- Bu seçenek, onaltılık tabanda 0xrrggbb olarak belirtilen arka plan rengini kullanarak alfa kanalını (varsa) kaynakla harmanlar. Alfa kanalı, daha sonra opak değerine
255
sıfırlanır. -noalpha
- Bu seçenek kullanıldığında alfa kanalı silinir.
-hint string
- Giriş görüntüsü türüyle ilgili ipucunu belirtin. Olası değerler şunlardır:
photo
,picture
veyagraph
. -metadata string
Varsa girişten çıkışa kopyalanacak meta verilerin virgülle ayrılmış listesi. Geçerli değerler:
all
,none
,exif
,icc
,xmp
. Varsayılan değer:none
.Her giriş biçiminin tüm kombinasyonları desteklemeyebileceğini unutmayın.
-noasm
Tüm derleme optimizasyonlarını devre dışı bırakın.
Böcekler
Lütfen tüm hataları sorun izleyiciye bildirin: https://bugs.chromium.org/p/webp
Yamalar kullanılabilir! Başlamak için bu sayfaya bakın: https://www.webmproject.org/code/contribute/submitting-patches/
Örnekler
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
Yazarlar
cwebp
, libwebp
kapsamında olup WebP ekibi tarafından yazılmıştır.
En yeni kaynak ağacını https://chromium.googlesource.com/webm/libwebp/ adresinde bulabilirsiniz.
Bu kılavuz sayfa Debian projesi için yazılmıştır (başkaları tarafından da kullanılabilir).