Webpmux

名稱

webpmux:使用非動畫 WebP 圖片建立動畫 WebP 檔案、從動畫 WebP 圖片擷取影格,以及管理 XMP/EXIF 中繼資料和 ICC 設定檔。

Synopsis

webpmux -get GET_OPTIONS INPUT -o OUTPUT
webpmux -set SET_OPTIONS INPUT -o OUTPUT
webpmux -strip STRIP_OPTIONS INPUT -o OUTPUT
webpmux -frame FRAME_OPTIONS [ -frame ... ] [ -loop LOOP_COUNT ]
        [ -bgcolor BACKGROUND_COLOR ] -o OUTPUT
webpmux -duration DURATION OPTIONS [ -duration ... ] INPUT -o OUTPUT
webpmux -info INPUT
webpmux [-h|-help]
webpmux -version
webpmux argument_file_name

說明

webpmux 可用來從動畫 WebP 檔案建立/擷取,以及新增/extract/strip XMP/EXIF 中繼資料和 ICC 設定檔。如果提供單一檔案名稱 (而非以「-」字元開頭) 做為引數,則指令列引數實際上是從這個檔案中進行權杖化。這種做法可輕鬆編寫指令碼,或使用大量引數。

選項

取得 (-get)

icc
取得 ICC 設定檔。
exif
取得 EXIF 中繼資料。
xmp
取得 XMP 中繼資料。
frame n
從動畫圖片取得第 n 個畫面。(n = 0 具有特殊意義:最後一個影格)

SET_OPTIONS (-set 個)

loop LOOP_COUNT
設定動畫檔案的循環次數。「LOOP_COUNT」位於 [0, 65535] 的範圍內。
bgcolor BACKGROUND_COLOR
設定動畫背景顏色。
icc file.icc
設定 ICC 設定檔。 其中:「file.icc」包含要設定的 ICC 設定檔。
exif file.exif
設定 EXIF 中繼資料。其中:「file.exif」包含要設定的 EXIF 中繼資料。
xmp file.xmp
設定 XMP 中繼資料。其中「file.xmp」包含要設定的 XMP 中繼資料。

STRIP_OPTIONS (-strip 個)

icc
去除 ICC 設定檔。
exif
去除 EXIF 中繼資料。
xmp
移除 XMP 中繼資料。

DURATION_OPTIONS (-duration)

修改特定影格的持續時間。這個選項僅適用於動畫 WebP 動畫,且不會影響單一影格檔案。

duration[,start[,end]]

其中:duration 是間隔的持續時間,以毫秒為單位 (必要)。 不得為負數。start 是間隔的起始影格索引 (選用)。end 是間隔 (選用) 的結束影格索引 (含)。

這個選項的三種一般用途如下:

-duration d

將整個動畫的時間長度設為「d」。

-duration d,f

將「f」影格的時間長度設為「d」。

-duration d,start,end

將整個 [開始,end] 間隔的時間長度設為「d」。

請注意,[start, end] 間隔以外的影格仍會保持不變。end0 具有「動畫的最後一個影格」的特殊意義。

貼心小提醒: 影格索引建立時間是從 1 開始。

畫格數量 (-frame 個)

使用多個 (非動畫) WebP 圖片建立動畫 WebP 檔案。

file_i +di[+xi+yi[+mi[bi]]]
其中:file_i 是 iP 格式 (WebP 格式),xiyi 指定這個頁框的圖片偏移值、di 是下一個影格之前的暫停時間,mi 是這個影格的處置方法 (NONE 為 0,而 BACKGROUND 為 1),而 bi 是這個影格的混合方法 (+b-b 代表 NO_BLEND)。可以省略引數 bi,並預設為 +b (BLEND)。此外,如果省略 bi 且預設為 0 (NONE),則可省略 mi。最後,如果省略 mibi,則可省略 xiyi,並預設為 +0+0

LOOP_COUNT

重複播放動畫的次數。有效範圍為 0 到 65535 [預設值:0 (無限)]。

BACKGROUND_COLOR

畫布的背景顏色。 其中:ARGB0255 範圍內的整數,分別指定 Alpha 版、紅色、綠色和藍色元件值。[預設:255,255,255,255]。

INPUT

以 WebP 格式輸入檔案。

輸出內容 (-o)

WebP 格式的輸出檔案。

注意:系統不會檢查 EXIF、XMP 和 ICC 資料的性質,並假設其為有效。

錯誤

範例

新增 ICC 設定檔:

webpmux -set icc image_profile.icc in.webp -o icc_container.webp

擷取 ICC 設定檔:

webpmux -get icc icc_container.webp -o image_profile.icc

去除 ICC 設定檔:

webpmux -strip icc icc_container.webp -o without_icc.webp

新增 XMP 中繼資料:

webpmux -set xmp image_metadata.xmp in.webp -o xmp_container.webp

擷取 XMP 中繼資料:

webpmux -get xmp xmp_container.webp -o image_metadata.xmp

去除 XMP 中繼資料:

webpmux -strip xmp xmp_container.webp -o without_xmp.webp

新增 EXIF 中繼資料:

webpmux -set exif image_metadata.exif in.webp -o exif_container.webp

擷取 EXIF 中繼資料:

webpmux -get exif exif_container.webp -o image_metadata.exif

去除 EXIF 中繼資料:

webpmux -strip exif exif_container.webp -o without_exif.webp

使用 3 個 (非動畫) WebP 圖片建立動畫 WebP 檔案:

webpmux -frame 1.webp +100 -frame 2.webp +100+50+50 \
  -frame 3.webp +100+50+50+1+b -loop 10 -bgcolor 255,255,255,255 \
  -o anim_container.webp

從動畫 WebP 檔案取得第 2 個影格:

webpmux -get frame 2 anim_container.webp -o frame_2.webp

使用以「-」開頭的輸入檔案名稱,使用 -get/-set/-strip:

webpmux -set icc image_profile.icc -o icc_container.webp -- ---in.webp
webpmux -get icc -o image_profile.icc -- ---icc_container.webp
webpmux -strip icc -o without_icc.webp -- ---icc_container.webp

作者

webpmux 屬於 libwebp 的一部分,由 WebP 團隊編寫。最新的原始碼樹狀結構請見 https://chromium.googlesource.com/webm/libwebp/

這個手冊頁面是由 Vikas Arora vikaas.arora@gmail.com 編寫,適用於 Debian 專案 (也可能可供其他人使用)。