Cwebp

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şık 60. -q 100 ile kayıplı hesaplamanın bazen daha iyi sonuçlar sağlayabileceğini unutmayın.
-q float

0 ile 100 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 ile 100 arasında alfa sıkıştırma için sıkıştırma faktörünü belirtin. Alfa, kayıpsız sıkıştırma 100 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 ile 6 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 boyutu width x height 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 x height 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ırken cwebp 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ğer 10, 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) ve 100 (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 genellikle 20 - 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ı) ile 100 (maksimum etki) aralığındadır. Varsayılan değer 50 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 genellikle 30-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 ile 6 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 x height 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 veya best 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 veya 1. 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 veya graph.
-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

Ö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).