cwebp 命令大全

本文由月小升博客https://java-er.com翻譯自google官方文檔https://developers.google.com/speed/webp/docs/cwebpjava

翻譯的感受web

  1. 我背了3年的單詞,有點用
  2. 翻譯讓我靜下心來仔細的閱讀官方文檔,對webp瞭解更深刻一層了
    2020.02.29

cwebp算法

名字
cwebp — 壓縮一張圖片文件爲webp文件多線程

摘要命令行less

cwebp [options] input_file -o output_file.webp
描述
cwebp壓縮一張圖片爲WebP格式。輸入的數據能夠是PNG, JPEG, TIFF, WebP 或者 raw Y’CbCr samples (備註,月小升沒看懂)ide

參數優化

基本參數:google

-o string
制定輸出文件名稱。若是省略,cwebp將進行壓縮,輸出靜態報告,使用 「-」 做爲一個輸出名稱,將直接輸入到文件編碼

-- string
明確制定輸入文件。這個選項以 – 開頭。這個選項必須出如今最後,任何其餘在他後面的選項都會被忽略命令行

-h, -help
幫助手冊簡單版

-H, -longhelp
幫助手冊詳情版

-version
打印版本

-lossless
編碼圖片,不須要進行任何損失。整個圖片,包含透明區域,看不見的像素值(R/G/B or Y/U/V)都會被保存。

-near_lossless int
指定無損壓縮級別對圖片處理預處理。這個參數用來調整像素幫助圖片的可壓縮性,可是儘量減小圖片可見區域質量。 這個參數會自動觸發無損壓縮模式。參數範圍0-100,典型的數值爲60. 記住:有損壓縮-q 100 能夠達到更好的結果。

-q float
爲RGB通道指定壓縮參數0-100, 默認值75

若是是在有損壓縮中(默認爲有損壓縮)參數越小,圖片質量越低,文件越小。最好的質量參數是100

如是是在無損壓縮中(特別是指定了 -lossless 參數),小的參數會得到快的壓縮速度,可是生產出較大的文件。最大的壓縮值爲100.

-z int
https://java-er.com/blog/cwebp-useage/

切換無損壓縮模式級別從0-9,0最快,9最慢。速度越快文件越大。比較好的默認值是6. 這個參數是一個預約義壓縮質量快捷闡述。若是參數 -q 或者 -m 被隨後用到,這個-z 就無效了。

-alpha_q int
爲alpha壓縮指定一個0-100的數值。alpha無損壓縮用100,小於100將產生有損壓縮。默認值100.

-preset string
指定一組預約義的值用來區分不一樣的文件材料。可能的值有default, photo, picture, drawing, icon, text.

因爲 -preset 覆蓋其餘參數的值(除了-q),這個值最好出如今全部參數最前面。

-m int
制定壓縮模式。這個參數控制了編碼的速度,壓縮文件大小,質量。值範圍爲0-6. 默認4. 值越大,花費時間越大用來檢查額外的編碼能力和質量。小的值會產生快的壓縮速度,大的文件和低的壓縮質量。

-resize width height
調整源文件的寬高。若是任意一個寬或者高的參數爲0,那麼將按比例計算。

-crop x_position y_position width height
從左邊頂部的點開始(x_position, y_position)計算來裁切圖片。裁切區域必須在原文件圖片區域內。

-mt
若是支持,採用多線程編碼

-low_memory
經過節省四倍於壓縮大小(一般)來減小有損編碼的內存使用。 這將使編碼變慢,而且輸出的大小和失真會稍有不一樣。 該標誌僅對方法3及更高版本有效,在默認狀況下處於禁用狀態。 請注意,禁用此標誌會對比特流產生一些反作用:它將強制執行某些比特流功能,例如分區數(強制爲1)。 請注意,使用此選項時,cwebp將打印更詳細的比特流大小報告。

有損壓縮選項

這些選項僅僅對有損壓縮有效(默認狀況下,帶或者不帶alpha)

-size int
爲輸出文件指定一個目標大小(單位bytes),壓縮器將屢次壓縮以接近這個目標。若是-size 和 -psnr 同時使用, 那麼-size 優先

-psnr float
指定目標PSNR(以dB爲單位)以嘗試達到壓縮輸出。 壓縮程序將經過幾回部分編碼,以便儘量接近此目標。 若是同時使用-size和-psnr,則以-size值爲準。

-pass int
設置選項-size或-psnr程序執行期間要使用的最大經過次數。 最大值爲10,默認值爲1。若是使用選項-size或-psnr,但未指定-pass,則將使用默認值「6」。

-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轉換。 請注意,此過程比默認的「快速」 RGB-> YUV轉換要慢。

-sns int
指定空間噪聲整形的幅度。 空間噪聲整形(或簡稱爲sns)是指用於肯定圖片的哪一個區域應使用相對較少的位以及在何處更好地傳輸這些位的內置算法的常規集合。 可能的範圍是從0(關閉算法)到100(最大效果)。 默認值爲50。

-segments int
更改在sns算法分段期間要使用的分區數。 段的範圍應爲1到4。默認值爲4。除非使用-low_memory,不然此選項對方法3及更高版本無效。

-partition_limit int
經過限制某些宏塊使用的位數來下降質量。範圍是0(無降級,默認)到100(徹底降級)。對於中等大小的圖像,有用的值一般在30-70左右。在VP8格式中,所謂的控制分區限制爲512k,用於存儲如下信息:宏塊是否被跳過,宏塊屬於哪一個段,是否被編碼爲4×4幀內或16×16幀內模式;以及最後,將預測模式用於每一個子塊。對於很是大的圖像,每一個16×16宏塊只有512k的空間。每一個宏塊的絕對最小值爲4位。跳過,分段和模式信息幾乎會用完全部這4位(儘管狀況不太可能),這對於很是大的圖像來講是個問題。 partition_limit因子控制將使用最昂貴的模式(4×4內)的頻率。若是達到512k限制並顯示如下消息,這將頗有用:錯誤代碼:6(PARTITION0_OVERFLOW:分區#0太大,沒法容納512k)。若是使用-partition_limit不足以知足512k約束,則應使用較少的段,以便爲每一個宏塊節省更多的報頭位。請參閱-segments選項。

https://java-er.com/blog/cwebp-useage/

相關文章
相關標籤/搜索