2013/08/02更新

[Tool] JPGファイルをコマンドラインで圧縮するツールが便利!

このエントリーをはてなブックマークに追加      

こんにちは、@yoheiMuneです。
1つ前の記事ではPNG圧縮を行うコマンドラインを紹介しましたが、 今回はJPGの圧縮をコマンドラインで行うツールを紹介したいと思います。

画像



JPEGの圧縮をコマンドラインから実行できるjpegoptim

pegoptimというツールを使うと、JPEGをコマンドラインで圧縮することが出来ます。
Macの場合インストールは簡単で、以下のように行います。
$ brew intall jpegoptim
上記でインストールできない場合には、以下のサイトからソースコードをダウンロードしてコンパイルすることでもインストールできます。

http://www.kokkonen.net/tjko/projects.html

インストールが完了したら、以下のコマンドが認識されればインストール成功です。
$ jpegoptim



jpegoptimをコマンドラインで使ってみる

jpegoptimの基本的な使い方は以下となります。
$ jpegoptim [options] [ファイル名]
オプションの詳細は。「jpegoptim --help」で確認できますが特に利用するオプションは以下となります。

--strip-all Exifやコメントといったメタ情報を全て削除してファイル容量を削減する
--max JPEGの圧縮品質を指定する。0〜100が指定可能。

実行例として、以下のように実行が可能です。
# メタ情報を削除しつつ、品質30%で圧縮する
$ jpegoptim --strip-all --max=30 aaa.jpg
こんな感じで簡単に、圧縮できます。



Automatorを使って右クリックからJPEG圧縮を行う

それでは、前回の記事で紹介したPNG圧縮を右クリックから行うについて、その機能にJPEG圧縮も追加して、PNGでもJPEGでも圧縮できるようにしてみたいと思います。
前回の記事で、以下のAutomatorのサービスを作成したかと思います。
画像
前回作成した「シェルスクリプトを実行」の内容をPNGとJPGの圧縮を行うように変更するため、以下の内容に変更します。
for f in "$@"
do
  # PNG
  [`basename "$f" .png` = `basename "$f"` ] || {
    /usr/local/bin/pngquant --force --ext .png 256 "$f"
  }

  # JPG
  [ `basename "$f" .jpg` = `basename "$f"` ] || {
    /usr/local/bin/jpegoptim --strip-all --max=30 "$f"
  }
done
jepgoptimのオプション部分は、好みに合わせて変更してください。
上記を設定すると以下のような画面となります。
画像
そして前回は「600pxにしてPNG圧縮」という名称で登録しましたが、今回の対応でPNGとJPEGのどちらにも対応することとなったので、「600pxにして画像を圧縮」などの汎用的な名前に変更して保存します。 これでサービスへの登録が出来ました。

JPGは圧縮するため美に画像劣化してしまうので、Gruntなどで自動的に圧縮するのではなく、最初に1回だけ圧縮するようにしたいですね。



最後に

JPEGの圧縮には、JPEGminiというツールを使ってましたが、無料版だと1日20画像のみという制約と、いちいちドラッグ&ドロップする必要があって面倒な感じでした。
右クリックやショートカットで簡単にできるという点で、とても便利だなぁと思い今回のツールを紹介させて頂きました。

最後までご覧頂きましてありがとうございました。





こんな記事もいかがですか?

RSS画像

もしご興味をお持ち頂けましたら、ぜひRSSへの登録をお願い致します。