コンテンツへ移動

MacでGIFを圧縮する3つの方法

GetCompress、QuickTimeのMP4書き出し、またはFFmpegを使ってMacでGIFを圧縮します。トリミング、幅の縮小、またはツールが動画に対応している場合はMP4への変換を行います。

作成者 Petr Samokhin

15秒間のUIデモをGIFにすると20 MBに達することがあります。同じクリップをMP4にすると、通常は1〜2 MB程度に収まります。デザインレビューやバグチケットではまだGIFが求められることもありますが、多くのツールが動画を許可するようになりました。GIFが必須の場合は、ループを短くし、幅とfpsを減らし、適切なパレットエンコードを使用します。未公開の製品UIは、ランダムなアップロードサイトにアップロードしないようにしてください。

Macでのほとんどの作業をカバーする3つの確実なルートがあります。プレビュー付きのローカルGIF作業にはGetCompress、MP4が許可されている場合はQuickTime、パレットフラグやフォルダスクリプトが必要な場合はFFmpegです。

方法1: GetCompress

最適な用途: チケットに添付する前にトリミングとフレームプレビュー付きで既存のGIFを縮小するか、MOVやMP4からGIFを作成する場合。

GIFがキューに入れられ、幅、フレームレート、品質オプションを含むGIF設定が開いているGetCompressのメインウィンドウ
  1. GetCompress を開き、GIFをドロップするか、動画からGIFを作成するために動画をドロップします。
  2. プレビューでアイドルフレームをトリミングします。
  3. 幅(640または800 pxがほとんどのケースに対応)とフレームレートを設定し、書き出します。
  4. スレッドが動画を許可している場合は、代わりにMP4を書き出し、GIFを完全にスキップします。

処理はMac上で完結します。「バグGIF 640w 10fps」などのプリセットを保存しておけば、次回から再利用できます。フレームごとのプレビューにより、チケットを送信する前に文字の滲みを検出できます。動画が許可されている場合は、 MacでGIFをMP4に変換 をご覧ください。

方法2: QuickTimeでMP4を書き出し

最適な用途: Slack、Notion、GitHub、またはドキュメントツールが動画を許可している場合の1回の画面録画。

  1. 録画をQuickTime Playerで開きます。
  2. 編集 → トリミング(⌘T)でアクション部分のみを切り取ります。
  3. ファイル → 書き出し → 720pを選択します。

MP4をアップロードします。フルカラーと滑らかな動きによりファイルサイズが削減されます。動画をブロックしているツールにのみGIFを予約します。

制限事項: QuickTimeは既存のGIFを細かく制御して再パレタイズしません。GIFが必須の場合は、方法1または3を使用します。

方法3: FFmpegパレットパイプライン

最適な用途: 正確なfpsと幅のフラグ、および大容量のGIFファイルの一括再エンコード。

HomebrewでFFmpegをインストールします。

brew install ffmpeg

MP4からの変換:

ffmpeg -i clip.mp4 -vf "fps=10,scale=640:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 clip.gif

既存のGIFの再圧縮:

ffmpeg -i big.gif -vf "fps=10,scale=640:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 clip-small.gif
パラメータファイルサイズを小さく画質を向上
fps812〜15
scale width480〜640800〜960
ソースのトリミング使用可能な最短クリップ全インタラクション

FFmpeg実行前にQuickTimeでトリミングし、アイドルフレームのエンコードを避けます。同じGIFを何度も再エンコードすると階調飛びが発生しやすいため、可能な限りMP4のマスターファイルを保持します。

制限事項: コマンドを自身で管理する必要があります。VLCでもGIFを書き出せますが、パレット制御は間違えやすいです。

どの方法を選ぶべきか

シチュエーションここから開始
定期的なバグGIF、プレビュー、または動画からGIFへGetCompress
1つのクリップで動画が許可されているQuickTime MP4
スクリプトまたは正確なパレットフラグFFmpeg

動画からGIFを作成: Macで動画からGIFへ 。静止画: Macで画像を圧縮する方法

GIFファイルが重くなる理由

GIFはフレームごとにフルラスタルを保存し、色数は256色に制限されます。グラデーションやアンチエイリアス処理されたテキストを含む画面録画は、GIFにとって大きな負荷となります。

要因サイズへの影響
再生時間ループが長いほどファイルサイズが大きくなる
広いキャンバスはサイズ増大に直結する
フレームレートフレーム数が多いほどデータ量が増える
色の複雑さパレットが調整されていないと階調飛びが発生
アップロード上限典型的な修正順序
5 MB3秒にトリミング、640 px、8 fps
10 MB800 px、10 fps、8秒未満
上限なし許可されている場合はMP4を優先

QuickTimeまたはFFmpegで十分な場合

1回のMP4書き出しが送信準備できれば、QuickTimeで十分です。チームのREADMEにパレットレシピがすでに保存されている場合は、FFmpegで十分です。

GetCompressは、QAチームが毎週同じ種類のクリップを添付する場合、送信前にフレームを確認したい場合、PrincipleやAfter Effectsで作られた大きなGIFを小さくしたい場合に役立ちます。容量を抑えると画質が落ちすぎる場合は、MP4または連番PNGを検討してください。ループ自体の制作にはモーショングラフィックス用のツールを使います。