犬ターネット

WebP 触ってみる

2011-11-28 webp

WebP ってのは、Google が開発してるWeb高速化を目的とした新しい画像フォーマット。手元の CentOS5.4 でちょっと試してみる。

事前準備

libjpeg と libpng が必要なので yum で入れておく...ん、もう入ってた。

# yum install libjpeg*
...
Nothing to do

# yum install libpng*
...
Nothing to do

webp インストール

ここ みながら手順どおりに。

# wget http://webp.googlecode.com/files/libwebp-0.1.3.tar.gz
# tar xzvf libwebp-0.1.3.tar.gz
# cd libwebp-0.1.3/
# ./autogen.sh
# aclocal
# ./configure
# make
# make install

./autogen.sh 実行時に「You should update your `aclocal.m4' by running aclocal.」って表示されたので実行。

これで cwebp と dwebp ってコマンドが使えるはず。

# cwebp -version
cwebp: error while loading shared libraries: libwebp.so.2: cannot open shared object file: No such file or directory
# dwebp -version
dwebp: error while loading shared libraries: libwebp.so.2: cannot open shared object file: No such file or directory

ぬ... libwebp.so.2 が見つからないとな。/usr/local/lib/libwebp.so.2 が見えるように LD_LIBRART_PATH にパス通す。

# export LD_LIBRARY_PATH=/usr/local/lib/

これでOK。

# cwebp -version
0.1.3
# dwebp -version
0.1.3

cwebp コマンド

cwebp は png/jpeg を webp に変換するコマンド。基本的な使い方は以下。

cwebp [options] -q quality input_file -o output_file.webp

ためしにサンプルpng画像を変換してみた。ぬ、結構な圧縮率ですな... -q 100 を指定しても半分以下のサイズになった。

# cwebp 1.png -o 1_default.webp
# cwebp -q 100 1.png -o 1_100.webp
# ls -l 1*
-rw-rw-r-- 1 mgng mgng 224811 11月 28 01:42 1.png
-rw-rw-r-- 1 mgng mgng  69226 11月 28 01:43 1_100.webp
-rw-rw-r-- 1 mgng mgng  14514 11月 28 01:43 1_default.webp

サンプルjpeg画像でも試してみた。さすがに -q 100 指定したら大きくなるね...

# cwebp 2.jpg -o 2_default.webp
# cwebp -q 100 2.jpg -o 2_100.webp
# ls -l 2*
-rw-rw-r-- 1 mgng mgng 25294 11月 28 01:42 2.jpg
-rw-rw-r-- 1 mgng mgng 69264 11月 28 01:43 2_100.webp
-rw-rw-r-- 1 mgng mgng 14680 11月 28 01:43 2_default.webp

dwebp コマンド

dwebp は webp を png/jpeg に変換するコマンド。基本的な使い方は以下。

dwebp input_file.webp [options] [-o output_file]

ためしにさっき作った webp ファイルを png/jpeg に戻してみる。jpeg → webp → jpeg したらサイズがものすごいことに....

# dwebp 1_default.webp -o 1_default.webp.png
# dwebp 2_default.webp -o 2_default.webp.jpg

# ls -l 1*
-rw-rw-r-- 1 mgng mgng 224811 11月 28 01:42 1.png
-rw-rw-r-- 1 mgng mgng  69226 11月 28 01:43 1_100.webp
-rw-rw-r-- 1 mgng mgng  14514 11月 28 01:43 1_default.webp
-rw-rw-r-- 1 mgng mgng 195049 11月 28 01:44 1_default.webp.png

# ls -l 2*
-rw-rw-r-- 1 mgng mgng  25294 11月 28 01:42 2.jpg
-rw-rw-r-- 1 mgng mgng  69264 11月 28 01:43 2_100.webp
-rw-rw-r-- 1 mgng mgng  14680 11月 28 01:43 2_default.webp
-rw-rw-r-- 1 mgng mgng 199209 11月 28 01:44 2_default.webp.jpg

以下にファイルupした。

1.png
1_100.webp
1_default.webp
1_default.webp.png

2.jpg
2_100.webp
2_default.webp
2_default.webp.jpg

webp の MIME type は何になるんだろ? image/webp かな?

--- 追記 ---

image/webp で良かったぽい(WebP - Wikipedia

ということで上記の .webp ファイル、Chrome と Opera だと閲覧できるかも。


Firefoxを使い続けてるとメモリ大量に確保しちゃって閉じるときにすんごい時間かかってたんだけどconfig.trim_on_minimizeをtrueにして適当なタイミングでブラウザ最小化→元に戻すするとメモリ瞬時に開放されるしFirefox閉じるの速くなった気がする

家臭