オンライン動画かGIF変換ツール

動画クリップをアニメーションGIFに変換します。開始時間、長さ、フレームレート、幅をカスタマイズできます。すべてブラウザ内で処理され、ファイルはサーバーにアップロードされません。

ファイルはお使いのデバイスから出ません

動画をここにドロップ

またはクリックして動画ファイルを選択

動画からGIFへの変換が実際に行うこと

動画をGIFに変換するには、3つの同時変換が含まれます: フレーム抽出(動画の連続したタイムラインが固定レート、通常は10〜24 fpsでサンプリングされる)、パレットの量子化(各フレームが1600万色から選択されたパレットから最大256色に削減される。GIFはフレームごとに256色しか保存できないため)、LZW圧縮(インデックス付きパレットフレームが、GIFが1987年から使用しているのと同じロスレスアルゴリズムで圧縮される)。結果は、すべてのフレーム、パレット、タイミング情報を含む単一のファイルで、GIFをサポートするあらゆるデバイス(本質的に過去30年間に作られたすべてのデバイス)で再生可能です。

パレットステップは品質が得られるか失われるかの場所です。素朴な単一パレットアプローチは、クリップ全体を近似する256色を選択します。これはグレースケールコンテンツに対しては機能しますが、カラフルな映像(肌のトーンがバンディング、グラデーションがポスタリゼーション)では失敗します。このツールが使用する2パスパレットアプローチは、最初にFFmpegのpalettegenフィルターを実行してすべてのフレームを分析し、最適化された256色パレットを構築し、次にpaletteuseをディザリング付きで実行して、すべてのフレームの各ピクセルを最も近いパレットカラーにマッピングします。結果は、特に顔、夕焼け、ハイカラーコンテンツで、同じファイルサイズで劇的に良い品質です。

GIFの圧縮効率は、最新のビデオに比べて低いです。5秒の480pクリップは、MP4(H.264)として500 KBかもしれませんが、同じ寸法のGIFとしては8〜15 MBになります。これはフォーマットの本質であり、エンコーダーの問題ではありません: 1987年のLZWはH.264やVP9と競合できません。GIFを小さく保つには、3つのレバーがあります: 低いフレームレート(10 fpsと24 fpsでサイズがほぼ半分)、小さい寸法(480pxの幅と800pxの幅では2倍以上小さい)、短い持続時間(5秒と10秒では正確に半分)。3つすべてが、このツールのコントロールとして表示されます。

このツールの内部での動作

他のビデオツールと同じffmpeg.wasmエンジン: Emscripten経由でWebAssemblyにコンパイルされたFFmpeg、約30 MBブラウザ側バイナリ、SharedArrayBufferマルチスレッディング経由でタブで完全に実行されます。ビデオをドロップすると、ファイルはストリーミングリーダー経由でWebAssembly仮想ファイルシステムに読み込まれます。

2パス変換は、2つの異なるFFmpeg呼び出しとして実行されます。最初のパス: -i input.mp4 -ss 0 -t 5 -vf "fps=10,scale=480:-1:flags=lanczos,palettegen" palette.png。これは選択した範囲にトリミングし、ターゲットフレームレートでサンプリングし、Lanczosフィルタリングでターゲット幅にスケーリングし、最適化されたパレットを生成します。2番目のパス: -i input.mp4 -i palette.png -ss 0 -t 5 -filter_complex "fps=10,scale=480:-1:flags=lanczos[x];[x][1:v]paletteuse=dither=bayer:bayer_scale=5" output.gif。これは同じトリム/fps/スケールを適用し、Bayerディザリングを使用して各フレームのピクセルをパレットにマッピングし、より滑らかなグラデーションを実現します。

Bayerディザリングパターンは、量子化エラーを近隣のピクセルに分散させる決定論的な8x8の順序ディザマトリックスで、バンディングを目立たなくしますが、わずかな格子模様の代償を伴います。他のディザモード(Floyd-Steinberg、Sierra)は、わずかに大きなファイルサイズの代償でより滑らかな結果を生成します。進行メッセージはFFmpegのstderrからストリームし、画面上の進行バーをリアルタイムで更新します。結果のGIFはメモリ内で構築され、ブラウザのblob API経由でダウンロードとして提供されます。

GIFフォーマットの簡単な歴史

動画をGIFに変換する方法

  1. 動画を読み込むドロップまたはクリックで動画ファイルを選択します。
  2. 範囲と品質を設定開始時間、長さ、FPS、幅を選んで、ファイルサイズと品質のバランスをとります。
  3. 変換してダウンロードGIFを生成してデバイスに保存します。

なぜ動画をGIFに変換するのか

GIFは駄文、ソーシャルメディア、サポートチケット、メッセージングアプリでの共有が容易で、自動再生・ループして音声不要でメッセージを伝えます。チュートリアル、デモ、おもしろアニメーションに最適で、ほぼすべてのプラットフォームで動作します。

主な機能

現実世界のGIF変換ワークフロー

よくある落とし穴とその意味

プライバシー: あなたのビデオはデバイスを離れません

クラウドのビデオからGIFへのサービス(Giphyのアップロードコンバーター、ezgif.com、Convertio、その他多数)はすべて、あなたの完全なビデオをアップロードし、彼らのハードウェアでFFmpegを実行し、結果のGIFを送り返します。200 MBの電話ビデオの場合、彼らのインフラを通じて200 MBアップロードと5〜30 MBダウンロードです。ビデオコンテンツは、顔、場所、会話のオーディオ(GIFは破棄しますが運営者はまだ持っています)、プライベートインターフェースのスクリーン録画を一般的に含みます。ほとんどの運営者は1から24時間以内にアップロードを削除し、転送中に暗号化することを約束するプライバシーポリシーを公開しており、主要なものはISO/IEC 27001認証を保有しています。それらのポリシーを尊重する強いビジネス上の理由があります。しかし"1時間以内に削除"は"見たことがない"ではありません。そのウィンドウの間、ファイルは運営者のインフラストラクチャ上にあり、適切な権限を持つあらゆるプロセスまたは人物がアクセス可能であり、運営者の保持ポリシーごとにログとバックアップで表示されます。

このツールは何もアップロードしません。完全なパイプライン(ファイル選択、ブラウザネイティブリーダー経由のデコード、ffmpeg.wasm WebAssembly経由のパレット生成とGIFエンコード、ブラウザのblob API経由のダウンロード)はあなたのブラウザタブ内で実行されます。アップロードなし、ビデオデータを運ぶネットワークリクエストなし、ログエントリなし。変換前にネットワークタブでブラウザの開発者ツールを開くことで確認できます: ビデオコンテンツでリクエストは出ていきません。最初のページロードと約30 MBのffmpeg.wasm一回限りダウンロード(後続の訪問のためにキャッシュされる)のみがネットワークに触れます。ページロード後にブラウザを機内モードに設定すると、コンバーターはローカルファイルで動作し続けます。

他のツールが正しい選択である場合

よくある質問

最大の動画ファイルサイズは?

処理はブラウザメモリで行われるため、デバイスの能力によりますが、より短いクリップ(10秒未満)が最もよく変換されます。

どの動画形式に対応していますか?

MP4、WebM、MOV、AVIなど、ブラウザがサポートするすべての主要なビデオ形式に対応しています。

作成されるGIFに音声は含まれますか?

GIFは仕様上音声をサポートしないため、変換されたGIFは無声になります。

その他のよくある質問

どのフレームレートを使用すべきですか?

10〜15 fpsはほとんどのGIFのスイートスポットです: モーションとして読むのに十分スムーズで、ファイルサイズを管理可能に保つのに十分小さい。24 fpsはよりスムーズなモーションを提供しますが、12 fpsと比較してファイルサイズがほぼ2倍になります。5 fpsはゆっくりしたコンテンツ(トーキングヘッド、ゆっくりしたデモ)に適しており、サイズを最小化します。人間の目は10 fps以上でモーションを認識します; それ以下ではスライドショーのように見えます。

なぜ私のGIFはビデオに比べて色のバンディングがあるように見えますか?

GIFはフレームあたり256色しか保存しませんが、ビデオは1600万色です。滑らかなグラデーション(空、肌のトーン、夕焼け)が目に見えるステップにバンディングされます。このツールが使用する2パスパレット方式は、素朴な単一パス変換と比較してこれを大幅に減らしますが、バンディングを完全に排除することはできません。最良の結果として、強いコントラストと少ない滑らかなグラデーションを持つソースコンテンツがクリーンに変換されます; 滑らかなグラデーションが豊富なコンテンツは、最適なパレットでも不完全のままです。

GIFの代わりにMP4を使用すべきですか?

多くの場合はい。autoplay+loop+mutedを持つMP4は、5〜10倍小さいファイルサイズで、フル1600万色の忠実度で同じループ体験を提供します。問題: すべてのプラットフォームがGIFをサポートする方法でインラインMP4ループをサポートしているわけではありません。Twitter、Reddit、Discord、GitHub Issues、およびほとんどのモダンサイトはサポートします; 一部のレガシーメールクライアント、チャットアプリ、フォーラムはGIFのみをサポートします。ターゲットオーディエンスがモダンプラットフォームを使用している場合はMP4を選択してください; 最大の互換性のためにはGIFを選択してください。

なぜ2番目のパスは最初のパスよりも遅いのですか?

最初のパス(palettegen)は色の統計のみを分析します; 最終出力を書き込まず、256色パレットを構築するだけです。2番目のパス(paletteuse)は実際にすべてのフレームのすべてのピクセルを最も近いパレット色にマッピングし、ディザリングを適用し、GIFストリームをエンコードします。ピクセルマッピングのステップが特にディザリングを有効にして最もCPU時間を消費します。5秒の480p 10fps GIFの場合、CPUによって5〜30秒の合計処理時間を予想してください。

デスクトップまたはコマンドラインの同等物はありますか?

はい。FFmpeg CLIは正規のツールで、同じ2パスアプローチを使用しています: ffmpeg -i input.mp4 -vf "fps=10,scale=480:-1:flags=lanczos,palettegen" palette.pngその後ffmpeg -i input.mp4 -i palette.png -filter_complex "fps=10,scale=480:-1:flags=lanczos[x];[x][1:v]paletteuse" output.gif。GifskiはRustベースのツールで、フレームごとのパレットを使用してFFmpegよりも高品質のGIFを生成します(より大きなファイル、より良い品質)。PhotoshopのSave for Web (Legacy) for GIFは、グラフィックデザイナーの古典的なGUIワークフローです。

GIFは透明度をサポートしていますか?

はい、しかしバイナリ(1ビット)透明度のみ: 各ピクセルは完全に不透明または完全に透明で、部分的なアルファはありません。これが、滑らかなエッジを持つGIFのロゴやアイコンが、さまざまな背景に対して"ギザギザ"に見える理由です。滑らかなアルファブレンドアニメーションの場合、APNG(アニメーションPNG)またはアニメーションWebPを使用してください。どちらもピクセルごとに8ビットアルファをサポートしています。このツールの出力はデフォルトでソースの透明度を保持しません; ビデオに透明な領域がある場合、選択した背景色で埋められます。

関連ツール

動画トリマー

動画圧縮

動画コンバーター

画像コンバーター