Tips

Mozjpeg 簡単インストールと一括で圧縮 [windows/mac]

mozjpegで圧縮は面倒ですが、プロのコーダーなら必須の作業だったりします。gulpなどで自動で圧縮されるのがベストですが、ちょっとしたサイトならそういう環境もない場合が多いので、今回はWindowsとmacでインストールから一括処理する方法までを紹介したいと思います。

mozjpegの中にはcjpeg,djpeg,jpegtran…などなど色々とコマンドが入ってますが、今回使用するのはcjpeg(非可逆圧縮)です。

目次

Windowsでmozjpeg

mozjpegをインストール(ダウンロード)

windowsで実行するには実行ファイルがいるので下記からダウンロード

https://mozjpeg.codelove.de/binaries.html

(* 本家はこっちですが、コンパイルしないと使えません)

ダウンロードしたファイルを適当な場所に解凍すると、exeファイルがずらずら〜と解凍されます。

一括圧縮するためにbatファイルの作成

バッチファイルです。自動で色々なことができます
すっごい使いにくいけど、メモ帳とかで作れます。

前記したmozjpegのzipを解凍した場所に下記の.batファイルを作成

作成した.batファイルに画像(複数可)をドラッグ・アンド・ドロップすると圧縮したjpg画像が「mozjpeg」フォルダに作成されます。(qualityを設定できるようになりました🎉)

その他の設定

cjpeg.exe の後に続く部分を変えてあげると色々設定を変えることができます。

-quality 90

0(汚)~100(綺麗)の整数を指定、もちろん綺麗なほど圧縮率は低くなります。デフォルト値は75

-optimize

これをつければ時間はかかるけど品質は落ちずにファイルサイズを小さくできる可能性が増える

まだまだオプションはあります。詳しくはgithubに載ってますが、クオリティーだけで十分だと思います。

Macでmozjpeg

mozjpegをインストール

ターミナルでインストールすることになります。

$ brew install mozjpeg

これでインストールは終わりですが、コマンドとして使えると色々と便利なのでmozjpegのシンボリックリンクをコマンドとして登録します。

インストールしたmozjpegのバージョンによってフォルダ名が変わるので注意してください。

$ ln -s /usr/local/Cellar/mozjpeg/3.3.1_1/bin/cjpeg /usr/local/bin/mozcjpeg
$ ln -s /usr/local/Cellar/mozjpeg/3.3.1_1/bin/jpegtran /usr/local/bin/mozjpegtran

完了するとコマンドとして使用できるので、試してみましょう

$ mozcjpeg -v
mozjpeg version 3.3.1 (build 20190105)
Copyright (C) 2009-2017 D. R. Commander
Copyright (C) 2011-2016 Siarhei Siamashka
...省略

ずらずらっとコピーライトが出てきたらOKです。

一括変換が行えるようにAutomatorの作成

Automatorのクイックアクションを作成し、右クリック一発で複数のファイルを圧縮できるように設定します。

クイックアクションを作成

Automatorを起動し、新規ファイルをクイックアクションで作成し下記のように設定します

  • ワークフローが受け取る現在の項目: イメージファイル
  • 検索対象: Finder
「シェルスクリプトを実行」を追加

設定

  • シェル: /bin/sh
  • 入力の引き渡し方法: 引数として

内容は下記の用な感じ

環境によって違いがあるかもなんで、自分でカスタマイズしてください。

あとは適当に名前をつけて保存すると、ファイルの右クリックに作成したクイックアクションが表示されますので、圧縮したいファイルを選択しながら右クリックし、作成したクイックアクションを実行すると圧縮されたファイルがmozcjpegに作成されます。

問題点

オプションを変えれないことです。
Automatorは途中のシェルスクリプト上でread処理を書いても入力を受け付けてくれないっぽくて、どうしようかなってなってます。

コーディング代行

高品質なソースコードをお約束

詳しくはこちら
背景イメージ
背景はFreepikによるデザイン

information

お問い合わせ