Optimo
Optimoは様々なファイル形式の画像や動画のファイルサイズを縮小できるオープンソースのCLIです。
メディアのファイルサイズで諸々圧迫されるのでいろいろ試したけど良い感じのが無さそうだったので作ったそうです。
概ね全ての画像フォーマット(png、jpeg、webp、avif、heic、jxl、gif、svg)と動画フォーマット(mp4、webm、mov、mkv、avi、ogv)をサポートしており、コマンドで任意のファイルを最適化できる、というものになります。
オプションも含めコマンドはざっくり以下の通り。
npx -y optimo public/media # ディレクトリ単位で最適化 npx -y optimo public/media/banner.png # 任意の画像ファイル最適化 npx -y optimo public/media/banner.png --lossy # 非可逆モード有効 npx -y optimo public/media/banner.png --format jpeg # 変換及び最適化 npx -y optimo public/media/banner.png --resize 50% # リサイズ及び最適化 npx -y optimo public/media/banner.png --resize 100kB # 最大ファイルサイズを指定 npx -y optimo public/media/banner.png --resize w960 # 最大横幅サイズを指定 npx -y optimo public/media/banner.png --resize h480 # 最大縦幅サイズを指定 npx -y optimo public/media/banner.jpg --preserve-exif # EXIFメタデータを維持 npx -y optimo public/media/banner.png --data-url # 最適化された画像をdata-urlとしてプリント npx -y optimo public/media/banner.heic --dry-run --verbose # 失敗を検査 npx -y optimo public/media/clip.mp4 # 動画最適化 npx -y optimo public/media/clip.mp4 --mute # 最適化及び音声削除 npx -y optimo public/media/clip.mp4 --mute false # 最適化及び音声維持 npx -y optimo public/media/clip.mov --format webm # 動画ファイルの変換及び最適化
結果は以下のようになります。
banner.png 1.2MB → 348kB (-71%)
シンプルで良いですね。リサイズや変換も付いてるのは結構便利そうです。
CLIでこの手のツールが欲しかった、という方はお試しになってみては如何でしょうか。ライセンスはMIT。
