Twitter用GIFが大きすぎる?画質を損なわずにサイズを縮小する方法
TwitterのGIF制限は意外と厳しい
良いGIFを作ったのに、Twitter(というかX、どっちでもいいけど)が受け付けてくれない。Webアップロードのファイルサイズ上限15MBは、意外と簡単に超えてしまいます。モバイルだと、なんと5MBという厳しい制限です。どちらかのしきい値を超えると、何のヒントもない素っ気ないエラーメッセージが表示されるだけ。GIFはそもそも非効率なフォーマットなので、これは本当にイライラする行き止まりですよね。1080pでたった10秒のスクリーン録画でも、簡単に40MBを超えてしまうことがあります。After EffectsやFigmaで作ったアニメーションは、何もせずに出力すると20〜30MBになることも珍しくありません。ファイルサイズ以外にも、解像度の上限が約1280x1080ピクセルに設定されています。これより大きいものは拒否されるか、Twitterの強力な再エンコードによって劣化し、ひどいカラーバンディングが発生してしまいます。そして、60fpsでエクスポートするのもやめましょう。Twitterのプレイヤーは最大30fps程度なので、見た目のメリットがないのにデータを無駄にしているだけです。これらの厳しい制限(Webで15MB、モバイルで5MB、横幅約1280px、30fps)を理解することが、実際に機能するGIFを作成するための最初のステップです。
そもそもGIFはなぜそんなに大きくなるのか
GIFフォーマットは、1984年に開発されたLZWという圧縮アルゴリズムに基づいています。まさに「遺物」と言えるでしょう。単色やシャープなグラフィックにはそれなりに機能しますが、写真、グラデーション、複雑な動きには全く対応できません。各フレームは独立した画像であり、256色という限られたパレットしか使えません。この256色制限こそが、このフォーマットの「原罪」なのです。滑らかなグラデーションがノイズの多いディザリングパターンに崩壊したり、複雑な元の素材がひどい見た目になったりするのはそのためです。よくある間違いは、動画からGIFをエクスポートする際に、元の解像度とフレームレートをそのまま使うことです。考えてみてください。1080p、30fpsの5秒間のクリップは、150枚もの個別フレームになります。もし各フレームがたった100KBだとしても、すでに15MBの制限に達してしまいます。では、これを横幅640px、15fps、128色パレットのGIFと比較してみましょう。同じ5秒間のクリップでも、突然3MB以下になり、見た目は全く問題ないかもしれません。計算は簡単です。解像度を半分にすると、フレームあたりのデータは約75%削減され、フレームレートを半分にすると、総フレーム数が半分になります。これらが、GIFを縮小するために最も強力な2つの手段です。
最速の解決策:代わりにMP4に変換する
GIFの最適化に時間を無駄にする前に、そもそも本当にGIFが必要なのか自問自答してみてください。真剣に。ただMP4に変換すればいいんです。TwitterはミュートされたMP4動画を自動的にループ再生するので、フィード上ではGIFと全く同じように見えます。違いは、H.264エンコーディングを使用するMP4が驚くほど効率的であることです。あの18MBのGIFアニメーションも、MP4ならおそらく800KB程度でしょう。Twitterは動画に対して512MBという巨大なファイルサイズ制限を設けており、十分な余裕があります。CocoConvertのGIFからMP4への変換ツールを使えば、これを瞬時に行えます。GIFをアップロードしてMP4を選択するだけで、ウェブ再生に完璧に調整された動画ファイルが作成されます。Twitter上ではGIFと同じようにループ再生され、誰も違いに気づかないでしょう。もちろん、クライアントや動画をサポートしないプラットフォームのためにどうしても.gifファイルが必要な場合は、この選択肢は使えません。しかし、Twitterにアニメーションを投稿するためなら?MP4への変換は単なる回避策ではなく、最も賢く、最高品質で、最も手間のかからない解決策です。必要がないなら、GIFフォーマットと格闘する必要はありません。
GIFのままでなければならない場合の圧縮方法
では、GIF形式にこだわる必要があり、Twitterの15MB制限をクリアする必要がある場合ですね。圧縮には4つの調整ポイントがあり、効果の大きい順に取り組むべきです。最も効果的なのは、サイズ(寸法)を小さくすることです。もしGIFが横幅1080pxなら、720px、あるいは640pxに縮小してみてください。Twitterのデスクトップ版フィードのメインカラムは、実際には約506px幅しかないので、720pxより大きいものはそもそも過剰です。CocoConvertでは、アップロード後に「Resize」オプションを使えます。目標の横幅を入力し、アスペクト比をロックしておけば、歪みを防げます。次に、フレームレートを下げます。「Advanced Settings」パネルで「Frame Rate」フィールドを見つけてください。30fpsから15fpsに落とすだけで、ファイルサイズは文字通り半分になり、ほとんどのアニメーションは問題なく見えます。非常に速い動きの場合のみ、目立つカクつきが見られるかもしれません。その後、より細かい調整に入ることができます。デフォルトの256色からカラーパレットを減らしてみてください。フラットなデザインやテキストアニメーションでは、128色や64色でも見た目はほとんど変わらず、驚くほど容量を節約できます。最後に、非可逆圧縮(lossy compression)を有効にします。CocoConvertの非可逆アルゴリズムは、30から60の間の値を使うことで、わずかなアーティファクトを導入するだけで、さらにファイルサイズを30〜50%削減できます。これらの手順を試してみて、出力サイズを確認し、制限を下回ったらそこで止めましょう。
CocoConvertでできること・できないこと
CocoConvertは、圧縮作業の頼れるツールです。ソフトウェアをインストールする必要なく、リサイズ、フレームレート変更、パレット削減、非可逆エンコードといった作業をシンプルなワークフローで処理します。15~40MB程度のGIFであれば、これらのツールで品質を保ったままTwitterの制限をクリアするのに十分でしょう。しかし、万能な魔法の杖ではありません。非常に長いGIF(30秒以上)や、複雑で動きの多いコンテンツを含むGIFは、見た目をひどくせずに15MBに縮小するのは困難です。そのような特殊なケースでは、GIF自体をトリミングするのが最善策です。2003年にエンコードされたかのような20秒間のごちゃごちゃしたGIFよりも、鮮明な6秒間のループの方が常に優れています。CocoConvertは、アニメーションの途中の特定のフレームをトリミングしたり削除したりするような、コンテンツ編集はできません。そのレベルの精密なコントロールが必要な場合は、EZGIFのようなオンラインエディターや、Adobe Photoshopのタイムラインパネル(ファイル > 書き出し > Web用に保存)といった別のツールを使う必要があります。CocoConvertは一括調整用、コンテンツ自体に「散髪」が必要な場合はフレームエディター、と考えてください。最も難しいファイルに対しては、両方使いましょう。まずトリミングし、それからCocoConvertで圧縮するのです。
アップロード前に必ず確認を
投稿する前に、必ず、必ず圧縮したGIFをプレビューしてください。エクスポートの不具合と格闘したことがある人なら、フィードに公開されてから初めてひどいアーティファクトに気づく痛みをよく知っているはずです。確認する最も簡単な方法は、ファイルを空のブラウザタブにドラッグすることです。ChromeやFirefoxなら正確なプレビューが表示されます。特に3つの問題に注意してください。まず、カラーバンディングです。グラデーションや肌の色に、色間の harsh で目に見える段差がないか確認してください。もし見られるなら、カラーパレットを128色または256色に戻す必要があるでしょう。次に、ディザリングノイズです。これは、単色であるべき部分に粒状のテクスチャが現れるものです。そして3つ目は、動きの滑らかさです。ループを数回見て、ぎこちない飛びやカクつきがないか確認してください。もしカクカクしているように見えるなら、フレームレートを15fpsから20fpsに上げると解決するかもしれません。これらの調整後もファイルが大きすぎる場合は、非可逆圧縮の値を上げるのではなく、さらにサイズ(寸法)を小さくしてください。非可逆圧縮の値を80以上にすると、動きの中でひどく見えるブロック状のアーティファクトが発生します。最後に、OSを使ってファイルサイズの最終確認をしてください(右クリック > 情報を見る/プロパティ)。変換ツールの見積もりだけに頼らないでください。Twitterは厳格で、数バイトでも超えているファイルは拒否します。
エクスポート時にGIFが肥大化するのを防ぐ
大きすぎるGIFに対処する最善の方法は、そもそもそれらを作成しないことです。エクスポートワークフローに圧縮を組み込むことで、後から肥大化したファイルを修正しようとするよりも時間を節約し、より良い結果を生み出します。Adobe Photoshopを使用している場合、「Web用に保存(従来の機能)」ダイアログがあなたのコマンドセンターです。GIFとしてエクスポートし、「Selective」または「Perceptual」のカラーアルゴリズムを選択し、128色から始めましょう。「Lossy」ボックスにチェックを入れ、15〜25の値を試してみてください。視覚的な影響を最小限に抑えつつ、大きな違いを生み出せます。設定を調整しながら、左下隅に表示される推定ファイルサイズに注意してください。After Effectsユーザーにとって、最も確実な方法は、Adobe Media Encoderを通じて高品質のMP4をエクスポートし、そのMP4をCocoConvertでGIFに変換することです。AEからの直接GIFエクスポートは、しばしば頭痛の種になります。スクリーン録画を行う場合、Kap(macOSで無料)のようなツールは素晴らしいです。録画を開始する前に、寸法、フレームレート、品質を定義できるからです。Kapで720px、15fpsで8秒未満のクリップなら、ほとんどの場合10MB以下に収まるでしょう。これらの設定(適切な寸法、適切なフレームレート、適切なパレット)を習慣にすることは、圧縮ツールが後で修正する「ごちゃごちゃした素材」を作るのではなく、意図的に「良い元素材」を作成しているということです。