短い答え
動画をGIFに変換するツールを開いて映像を入れ、必要な秒数に印を付け、幅は480、フレームレートは1秒12のままにします。たいていのGIFが求める設定が、それです。ファイルが大きすぎたら、ほかに手をつける前に幅を下げてください。二重に効く設定は、それだからです。
このページの残りは、その理由の話です。「GIFが14MBになった」が実際に誰もが抱える問題であり、どのつまみを回せばよいのかは自明ではないからです。
動画から作ったGIFがこれほど巨大になる理由
動画のコーデックは動きを保存します。数秒に1回だけ完全な画像を書き、その間のフレームについては、その画像がどう動いたのかの記述を書きます。このピクセルのかたまりが左へ4つ滑った、この領域が少し暗くなりました。5秒の映像が数百キロバイトで済むのは、その大半が、すでに手元にある画像についての指示だからです。
GIFには、それが一切ありません。1989年に仕様が固まったもので、それらが存在する前のものです。どのフレームも1枚の画像であり、表計算のスクリーンショットのために設計された方式で、単独で圧縮されます。動き推定はこの形式のどこにもありませんし、足す方法もありません。
ですから見込むべき数字は動画の10倍であり、どの変換ツールも、それをやめさせることはできません。よくできた道具にできるのは、その上に無駄を重ねないことと、実際に大きさを決める3つの設定を渡すことです。
3つの設定と、それぞれの代償
GIFの大きさに関するすべては、含まれるピクセルの数に帰着します。長さ×レート×1フレームの面積です。
- 範囲。比例します。2倍の長さは2倍のフレーム数で、ファイルもおよそ2倍です。たいていの人がすでに理解しているものですし、容赦なく削る価値があります。3秒で用が足りるGIFは、小さいだけでなく、良いGIFでもあります。
- 幅。2乗で効きます。幅を半分にすれば高さも半分になるので、ピクセルは4分の1です。640から320へ落とすことは、半分弱の節約ではありません。4分の3ほどの節約です。誰も最初に手を伸ばさない設定であり、いちばん割のよい設定でもあります。
- フレームレート。比例します。1秒10フレームは、15の3分の2の大きさです。損失がいちばん目に見える設定でもあります。遅すぎる動きは、小さいのではなく壊れているように読めるからです。
具体例をひとつ。スマホの映像6秒を、そのままの1080×1920、30fpsで作ると、200万ピクセルのフレームが180枚。約3億5000万ピクセルで、これはGIFではなく人質事件です。同じ6秒を幅480、12fpsにすると、40万ピクセルのフレームが72枚、つまり3000万で約12分の1です。そして、人がGIFと言って思い浮かべるものになります。
どのフレームレートを選ぶか
ここでは12が既定であり、驚くほどよく正解になります。手描きのアニメーションが1世紀にわたって使ってきたレートです。目が連続した動きとして読み取れるだけ速く、誰にも見えないフレームに費用を払わずに済むだけ遅いのです。
- 5〜8。スライドショーのような感じです。ゆっくりしたパンや、速く動くものがない画面録画なら十分です。
- 10〜15。ふつうです。動きとして読み取れます。作る価値のあるGIFの、ほぼすべてがここに入ります。
- 20〜25。なめらかで、12のおよそ2倍の大きさになりますが、その差を言葉にできる視聴者はほとんどいません。速い動き、スポーツの映像、素早いパンの入ったものには見合います。
知っておいて損のない、固い上限があります。GIFは各フレームが画面に留まる時間を100分の1秒単位で保存しますが、どのブラウザも100分の2未満の遅延を100分の10として扱います。ですから1秒50フレームが実際の最大で、100を要求するファイルは黙って10で再生されます。60fpsを提示してくる変換ツールは、それを無視しているか、これから使う人を驚かせようとしているかのどちらかです。
256色と、ディザリングの役割
この形式の古さの、もう半分です。GIFは最大256色の表を1つ抱え、どのピクセルもその表を指す番号です。動画のフレームは最大1600万色を持ちます。そのほとんどが捨てられますし、どう捨てられるかが、GIFの見た目のほとんどを決めます。
よくできた変換ツールはその映像の色を数え、それに合う256色を選びます。固定の組を使うのではありません。森の映像には256の緑が、夕焼けの映像には256の橙が割り当てられます。ここの道具がしているのはそれで、しかも最初のフレームだけではなく範囲の全フレームにわたって行うので、最後にしか現れない色にも席が与えられます。
ディザリングは、それでも必要な色が足りないところで起きることです。ある領域全体を、手持ちのいちばん近い色に丸めてしまうと、なめらかな空が、あいだに段の見える4本の平坦な帯になります。そうする代わりに、いちばん近い2色を細かい模様で交互に置きます。ふつうの視距離なら、目がそれを、そこにない1色に混ぜてくれます。
- 写真的なものには有効のままに。空、肌、グラデーション、影、フィルムです。
- 平坦な色には無効に。画面録画、線画、ロゴ、アニメ、広い面が同じ色調のものです。守るべきグラデーションがありませんし、なしのほうがファイルは小さくきれいになります。
変換ツールを比べるなら、知っておく価値のある細部がひとつあります。思いつきやすいディザのやり方、つまりたいていの画像編集ソフトが使う誤差拡散は、各ピクセルの結果を周囲のピクセルに依存させます。アニメーションでそれをすると、動いていない背景がフレームごとに違うディザになるので、目に見えて這います。しかも技術的にはすべてのピクセルが変わっているので、どのフレームも丸ごと保存しなければなりません。もう一方の組織的ディザは、ピクセルがどこにあるかだけに依存するので、静止した背景は完全に静止したままです。この道具が使っているのはそれで、ファイルが落ち着いているだけでなく、小さくもなる理由です。
そもそもGIFにすべきでないとき
問う価値があります。正直な答えが、しばしば「やめておけ」だからです。無音でループするMP4やWebMは、同じ動きをGIFにした場合のおよそ10分の1の大きさで、同じように再生されますし、どのみちどのSNSも、アップロードされたGIFをそれに変換します。
行き先が本当にGIFを必要とする場合には、GIFのままにしてください。
- 画像しか受け付けない場所。チャット、掲示板、Wiki、メールのソフトの多くです。
- READMEや説明書のページ。GIFはその場で再生されますが、動画には再生機が要ります。
- オフラインでも動き続けなければならないスライドや書類。
- 絵文字、スタンプ、リアクション。上の大きさの計算がどれも問題にならないほど小さいものです。
音が大事なら、問いは自ずと答えます。GIFに音声があったことはありませんし、これからもありません。代わりに動画を切り出してください。動画カットツールなら、フレームを1枚もエンコードし直さずに一部を取り出せます。
サイズの上限に収める
GIFを調整する理由のほとんどは、行き先の上限です。効いてくる順に、おおまかに挙げます。
- メール。1通全体で10〜25MBです。その近くの添付は、途中の何かに削られるか跳ね返されます。十分下を狙ってください。
- チャットと掲示板。よくあるのは8〜10MBです。ダウンロードではなくその場でのプレビューには、もっとずっと小さいこともあります。
- GitHubのREADME。1ファイル10MBです。数メガバイトを超えると、スマホではページが壊れているように感じられます。
- スタンプや絵文字の枠。しばしば数百キロバイトです。つまり、フレームレートを下げるのではなく、幅を小さくして範囲を短くすることになります。
超えているときに試す順序です。まず範囲を短くする、次に幅を半分にする、次にレートを下げる、最後にディザリングを切る。最初の2つは、後ろの2つを合わせたよりも価値があります。
これにアップロードは要りません
動画をGIFに変換することは、デコードし、縮小し、色を数え、圧縮することです。ブラウザが何年も前から自力でできる、4つのことです。冒頭でリンクした道具は、そのすべてを手元の端末で行います。ファイルはディスクから読み、フレームはブラウザがデコードし、GIFはメモリ上で組み立ててダウンロードへ渡します。
ここではそれを、ふつう以上に気にする価値があります。人がGIFにする映像は、個人的なものだからです。家族の動画の一場面、仕事の何かの画面録画、通話の数秒。それをアップロードさせたがる変換ツールは、その複製を求めているのであり、それに応じる技術的な理由は、もう残っていません。