見出し画像

Purebitsoft 第五弾 MP4→GIF変換ツール

インストール不要・オフラインで使えるMP4→GIF変換ツールを無料配布しています

動画をGIFアニメにしたい。でもオンラインツールは動画をサーバーに送るのが気になる。変換ソフトをインストールするのも面倒——そういうときのために、HTMLファイル一つで動くMP4→GIF変換ツールを作りました。

どんなツールか

MP4toGIF(Purebitsoft)は、ブラウザで開くだけで使えるGIF変換ツールです。

  • インストール不要

  • アカウント登録不要

  • 完全オフライン動作(動画データはどこにも送信されません)

  • Windows / Mac / Linux すべてのブラウザで動作


主な機能

🎬 MP4読み込み ドラッグ&ドロップまたはクリックで動画を読み込みます。読み込んだ動画はブラウザ内でそのままプレビューできます。

⚙️ FPS調整 5〜24fpsの範囲でスライダー調整できます。ファイルサイズを抑えたいときは低め、なめらかさを優先したいときは高めに設定してください。

📐 出力幅指定 ピクセル単位で出力幅を指定できます。高さはアスペクト比を自動維持します。

✂️ トリミング 開始・終了時間を秒単位で指定して、必要な部分だけをGIFにできます。最大30秒まで対応しています。

📊 進捗表示 フレーム抽出とエンコードの進捗をバーで表示します。変換中に固まったわけではないと分かるので安心です。

使い方

  1. HTMLファイルをダウンロードし、ブラウザで開く

  2. MP4ファイルをドラッグ&ドロップまたはクリックして選択

  3. FPS・出力幅・トリミング範囲を設定

  4. 「変換する」ボタンを押して待つ

  5. プレビューを確認して「ダウンロード」

技術的な話(読み飛ばしOK)

このツールの一番の苦労は、GIFエンコーダーを外部ライブラリなしでゼロから書いたことです。

GIFのデータ圧縮にはLZWという方式が使われています。最初はCDNのライブラリ(gif.js)を使っていましたが、オフライン環境で動かないため自前実装に切り替えました。

LZWのバグ取りに3バージョンかかりました。最終的に見つかったのは「エンコーダーとデコーダーで圧縮テーブルのサイズを増やすタイミングが1ステップずれていた」という問題です。ずれ量がたった1ステップなので正常なケースでは動き、特定のピクセルパターンで初めて壊れるという性質が厄介でした。Pythonで検証コードを書いてビット列レベルで追いかけてやっと特定できました。

制限事項

  • 最大30秒・300フレームまで(超えるとエラー表示)

  • 色数はGIF仕様の上限256色

  • 長時間・高解像度の動画はブラウザのメモリ制限に注意

ダウンロード

一切無料です。使ってみた感想があれば、コメントで教えてください。

Purebitsoft — 単機能・オフライン・インストール不要のHTMLツールを作っています。


いいなと思ったら応援しよう!