GIF を MP4 に 変換
GIFアニメーションをブラウザ内で直接MP4 (H.264) 動画ファイルに変換します。サーバーへの動画送信がないため安全で高速です。
GIFをここにドロップ
最大50MBまで対応
GIFアニメーションをブラウザ内で直接MP4 (H.264) 動画ファイルに変換します。サーバーへの動画送信がないため安全で高速です。
最大50MBまで対応
GIF は 1987 年の画像形式で、Web 上のデフォルトのループ アニメーション形式として復活しました。これは機能しますが、効率的ではありません。GIF は 1 フレームあたり 256 色に達し、非効率的な LZW 圧縮を使用し、同等のビデオよりも数倍大きなファイルを生成します。 480×270 の 5 秒のアニメーション GIF の重さは通常 2 ~ 4 MB です。同等の MP4 ビデオは、同じ画質で通常 200 ~ 500 KB です。アニメーション コンテンツを提供するサイトの場合、GIF から MP4 に切り替えると、帯域幅が 80% 以上削減されるのが日常的です。
このコンバータは、@ffmpeg/ffmpeg ライブラリを介して WebAssembly にコンパイルされた FFmpeg を使用します。 FFmpeg は GIF を解析し、各フレームをデコードし、フレーム シーケンスを MP4 コンテナ内の H.264 ビデオとして再エンコードします。変換は完全にブラウザ内で行われます (サーバーへのアップロードはありません)。ただし、最初の使用時に読み込まれる数メガバイトの WebAssembly コードが使用されます。つまり、最初の変換の初期化に少し時間がかかります。
GIF からのフレーム タイミングは、MP4 で許可される限り正確に保持されます。 GIF は、1/100 秒単位で測定されるフレームごとの遅延をサポートします。 MP4はタイミングをフレームレートで表現します。ほとんどの GIF は一定または一定に近いフレーム遅延を使用しており、固定ビデオ フレーム レートにきれいに変換されます。タイミングが大きく変動する GIF では、場所によってはわずかに速く、または遅くなるビデオが生成される場合があります。
最大の理由は帯域幅です。 Twitter、Reddit、その他の多くのプラットフォームは、サイズが大幅に節約されるため、ユーザーがアップロードした GIF を何年も内部で MP4 に変換してきました。自分のサイトにアニメーション コンテンツを埋め込む場合、autoplay-loop-muted 属性を備えた MP4 に切り替えると、ファイル サイズが数分の 1 で、よりスムーズな再生で GIF と同じ視覚エクスペリエンスが得られます。
品質も良くなる傾向にあります。 GIF の 1 フレームあたり 256 色のパレットにより、写真コンテンツに目に見えるバンディングが生成されますが、H.264 ビデオでは明らかなパレット制限がなく滑らかなグラデーションが維持されます。写真、スクリーンキャスト、または 3D レンダリングを含むアニメーションの場合、MP4 は、どのファイル サイズでも GIF よりも著しく優れています。
GIF をドロップし、FFmpeg が初めてロードされるまで待ち、MP4 を取得します。
GIF (CompuServe、1987) は、それぞれ最大 256 色のインデックス付きカラー フレームに LZW 圧縮を使用します。アニメーションは、フレームごとの遅延がセンチ秒単位で指定された一連のフレームとして保存されます。透明性は、単一の透明パレット インデックスによってサポートされます。部分的な透明度はありません。
H.264 (ITU-T H.264、ISO/IEC 14496-10) は、フレーム間予測 (キー フレームと差分)、離散コサイン変換、および CABAC または CAVLC エントロピー コーディングを使用してビデオをエンコードします。 MP4 コンテナ内で実行される H.264 コーデックは、ブラウザ、モバイル デバイス、ビデオ ツールで広くサポートされています。
@ffmpeg/ffmpeg は WebAssembly にコンパイルされた FFmpeg です。 WASM モジュールは数メガバイトあり、最初の使用時にロードされます。同じセッション内での後続の変換では、ロードされたモジュールが再利用されます。現在のブラウザでは、SharedArrayBuffer のないエンコーディングはシングルスレッドであるため、WebAssembly ベースのエンコーディングはネイティブ FFmpeg よりも著しく遅くなりますが、一般的な GIF サイズでは十分に高速です。