RailsでMozjpegを使いたいっ!
2018年10月1日
jpeg画像のファイルサイズを良い感じに小さくしてくれるやーつ
Mozjpegのインストール
CentOSにMozjpegを入れます。yum installはできなそうだったので、ソースから。
curl -LO https://github.com/mozilla/mozjpeg/releases/download/v3.2/mozjpeg-3.2-release-source.tar.gz tar xf mozjpeg-3.2-release-source.tar.gz cd mozjpeg yum install automake gcc nasm ./configure && make && make install ln -s /opt/mozjpeg/bin/* /usr/local/bin ln -s /opt/mozjpeg/share/man/man1/* /usr/local/share/man/man1
Gem追加
gem install mozjpeg
Rails(Ruby)
ま、ドキュメントに書いてあるまんまですが。
large_image = File.new('large.jpeg') # オリジナルのファイル tiny_image = File.new('tiny.jpeg') # 圧縮されたファイル Mozjpeg.compress( large_image, tiny_image, arguments: '-quality 70 -quant-table 2 -notrellis' )
中身はcjpeg(非可逆の方)ですね。
ま、jpegtran(可逆の方)はqualityの指定ができないので当然と言えば当然ですが。
細かいオプションはそのうち調べてみようかなと思います。
参考
svoboda-jan/mozjpeg-ruby: JPEG and PNG compression using MozJPEG