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 "-" kullanıldığında çıkış, "stdout" öğesine yönlendirilir.
-- string
Giriş dosyasını açıkça belirtin. Giriş dosyası örneğin "-" ile başlıyorsa bu seçenek yararlıdır. Bu seçenek last görünmelidir. Daha sonraki diğer seçenekler yoksayılır.
-h, -help
Kısa bir kullanım özeti.
-H, -longhelp
Olası tüm seçeneklerin bir özeti.
-version
Sürüm numarasını yazdırıp (ana.alt.revizyon olarak) yazdırıp çıkın.
-lossless
Resmi hiç kaybetmeden 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, piksel değerlerini sıkıştırılabilirliğe yardımcı olacak şekilde 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) ile 100 (ön işleme yok, varsayılan) arasındadır. Normal değer 60 civarında. -q 100 ile kayıplı olmanın bazen daha iyi sonuçlar verebileceğ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 oluşturur. En iyi kalite, 100 değeri kullanılarak elde edilir.

Kayıpsız sıkıştırma durumunda (-lossless seçeneğiyle belirtilir) küçük bir faktör, daha hızlı sıkıştırma sağlar 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 açın. 0 en hızlı, 9 ise en yavaştır. Hızlı mod, yavaş modlardan daha büyük dosya boyutu üretir. -z 6 iyi bir varsayılan seçenektir. Bu seçenek aslında kalite ve yöntem ile ilgili önceden tanımlanmış bazı ayarların kısayoludur. Sonradan -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ındaki alfa sıkıştırması için sıkıştırma faktörünü belirtin. Alfa için kayıpsız sıkıştırma 100 değeri kullanılarak sağlanır. 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: default, photo, picture, drawing, icon, text.

-preset, diğer parametrelerin değerlerinin (-q dışında) üzerine yazması nedeniyle tercihen, bağımsız değişkenlerin sırasına göre ilk sırada görünmelidir.

-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 olanaklarını incelemek ve kalite kazancına karar vermek için daha fazla zaman harcar. Daha düşük değer, daha büyük dosya boyutu ve daha düşük sıkıştırma kalitesine karşılık daha kısa işleme süresi sağlayabilir.

-crop x_position y_position width height

Kaynağı, sol üst köşesi koordinatları (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 tam olarak yer almalı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, kodlamanın daha yavaş olmasına, çıkışın boyut ve distorsiyon açısından biraz farklı olmasına neden olur. 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ışı üzerinde 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 daha ayrıntılı bir bit akışı boyutu raporunun cwebp tarafından yazdırıldığını unutmayın.

Kayıplı Seçenekler

Bu seçenekler yalnızca kayıplı kodlama (varsayılan, alfa ile veya alfa olmadan) yaparken etkilidir.

-size int
Sıkıştırılmış çıkış için ulaşmaya çalışacağınız hedef boyutu (bayt cinsinden) belirtin. Sıkıştırıcı, 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ış için erişim denemek üzere hedef PSNR (dB cinsinden) belirtin. Sıkıştırıcı, 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
-size veya -psnr seçenekleri tarafından kullanılan ikilem sırasında kullanılacak maksimum kart sayısı belirleyin. Maksimum değer 10, varsayılan değer 1. -size veya -psnr seçenekleri kullanıldıysa ancak -pass belirtilmediyse varsayılan olarak "6" kart değeri kullanılır.
-af
Otomatik filtreyi açar. Bu algoritma, iyi dengelenmiş 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 distorsiyona sahip bir çıkış dosyası üretir.

Gelişmiş seçenekler:

-f int
Engellemeyi kaldırma filtresinin gücünü, 0 (filtreleme yok) ile 100 (maksimum filtreleme) arasında belirtin. 0 değeri, tüm filtrelemeleri 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ığındadır.
-sharpness int
Filtrelemenin keskinliğini belirtin (kullanılıyorsa). Aralık 0 (en keskin) - 7 (en az keskin) arasındadır. 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üştürmesi kullanın. Bu işlemin, varsayılan "hızlı" RGB->YUV dönüşümünden daha yavaş olduğunu unutmayın.
-sns int
Uzamsal gürültü şekillendirmenin genliğini belirtin. Üç boyutlu gürültü şekillendirme (veya kısaca sns), resmin hangi alanının nispeten daha az bit kullanması gerektiğine ve bu bitlerin başka nerelerde daha iyi aktarılacağına karar vermek için kullanılan genel bir yerleşik algoritma koleksiyonunu ifade eder. Olası aralık, 0 (algoritma kapalı) ile 100 (maksimum etki) aralığındadır. 50, varsayılan değerdir.
-segments int
Sns algoritmasının segmentasyonu sırasında kullanılacak bölümlendirme sayısını değiştirin. 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 için 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 (varsayılan değer azalması olmadan) ile 100 (tam azalma) arasındadır. Yararlı değerler genellikle büyük boyutlu resimler için 30-70 civarındadır. VP8 biçiminde, denetim bölümü olarak adlandırılan bölümün 512 bin sınırı vardır ve şu bilgileri depolamak için kullanılır: makro blokun atlanıp atlanmadığı, hangi segmente ait olduğu, intra 4x4 veya 16x16 modunda mı 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 bloku başına yalnızca birkaç bite 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 büyük olasılıkla çok büyük resimler için bu durum pek olası değildir). 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 yararlı olur: Hata kodu: 6 (PARTITION0_OVERFLOW: Bölüm #0, 512k boyutuna sığmayacak kadar büyük). -partition_limit kullanmak 512.000 sınırlamayı karşılamak için yeterli değilse makro blok başına daha fazla başlık biti tasarrufu sağlamak için daha az segment kullanılmalıdır. -segments seçeneğini inceleyin.

Günlüğe Kaydetme Seçenekleri

Bu seçenekler, çıktı düzeyini kontrol eder:

-v
Ekstra bilgileri (özellikle kodlama süresini) yazdırın.
-print_psnr
Ortalama PSNR'yi (Zirve-Sinyal-Gürültü oranı) hesaplayın ve raporlayın.
-print_ssim
Ortalama SSIM'yi hesaplayın ve hesaplayın (yapısal benzerlik metriği, daha fazla ayrıntı için https://en.wikipedia.org/wiki/SSIM adresine bakın).
-print_lsim
Yerel benzerlik metriğini (aynı durumdaki piksel komşuları arasındaki en düşük hata toplamı) hesaplayın ve raporlayın.
-progress
Kodlama ilerleme durumunu yüzde olarak raporlayın.
-quiet
Hiçbir şey yazdırmayın.
-short
Test amaçlı olarak yalnızca kısa bilgileri (çıktı dosyası boyutu ve PSNR) yazdırın.
-map int
Kodlama bilgilerinin ek ASCII-haritası çıktısını alın. Olası harita değerleri 1 ile 6 aralığındadır. Buradaki amaç hata ayıklamaya yardımcı olmaktır.

Ek Seçenekler

Daha gelişmiş seçenekler şunlardır:

-s width height
Giriş dosyasının, ITU-R BT.601 önerisi doğrultusunda 4:2:0 doğrusal biçiminde ham Y'CbCr örneklerinden oluştuğunu belirtin. Luma düzlemi width x height boyutundadır.
-pre int
Ön işleme için birkaç adım belirtin. 2 değerinin kullanılması, RGBA->YUVA dönüşümü 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 belirtin. 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 dener ve daha küçük boyutu sağlayan modu seçer. fast modu, tüm modları test etmeden sadece öncelikli tahmin oluşturmaya çalışır.
-alpha_method int
Alfa sıkıştırma için kullanılan algoritmayı belirtin: 0 veya 1. 0 algoritması sıkıştırma olmadığını belirtirken 1 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 devre dışı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. Daha sonra alfa kanalı, opak değerine 255 sıfırlanır.
-noalpha
Bu seçenek kullanıldığında alfa kanalı silinir.
-hint string
Giriş resmi türüyle ilgili ipucunu belirtin. Olası değerler: 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 montaj 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 ve WebP ekibi tarafından yazılmıştır. En yeni kaynak ağacı https://chromium.googlesource.com/webm/libwebp/ adresinde bulunmaktadır.

Bu manuel sayfa Debian projesi için yazılmıştır (başkaları tarafından da kullanılabilir).