本文へスキップ
SelfKit

ブラウザ内での圧縮のしくみ

SelfKit は、端末にインストールしたアプリのように動くウェブサイトです。動画がどう処理されるかを説明します。

ファイルは端末から出ません

動画を選ぶと、ブラウザがそれをローカルで読み込みます。圧縮用のコードは通常のウェブページと同様に一度だけダウンロードされ、その後はあなたのプロセッサで動作します。

アップロードの手順も、ファイルを受け取るサーバーもありません。だからオフラインでも動作します。

サイズをぴったり合わせるしくみ

ファイルサイズはビットレート × 再生時間です。上限と動画の長さからビットレートを計算し、少し余裕を残して映像と音声に配分します。

例:60 秒の動画を 10 MB に収める場合、合計で約 1,280 kbit/s が使えます。くっきりした 720p には十分です。エンコード後に実際のサイズを確認し、上限を超えていればビットレートを少し下げて再エンコードします。

ハードウェアアクセラレーション

最新のブラウザは WebCodecs を通じて、端末に内蔵された動画エンコーダー(スマホが動画を撮影するのと同じチップ)を使えるようにしています。そのため、ソフトウェアエンコードより何倍も高速に圧縮できます。

ブラウザに搭載されていない場合や古い形式のファイルでは、SelfKit は互換エンジン(ffmpeg.wasm)に切り替えます。速度は落ちますが、ほとんどの形式を読み込めます。

オフラインで動作

初回アクセス後、ブラウザがページと圧縮エンジンを保存します。機内モードにしてページを再読み込みし、動画を圧縮してみてください。ちゃんと動きます。

制限事項

すべての処理は端末のメモリ内で行われるため、古いスマホではとても大きなファイルを扱えないことがあります。性能の低い端末では長い動画ほど時間がかかります。

対応ブラウザ

ブラウザ高速モード互換モード
Chrome / Edge (desktop, Android)対応対応
Safari (macOS, iOS)バージョンによる対応
Firefox (desktop)バージョンによる対応
Samsung Internetバージョンによる対応

対応状況はブラウザのバージョンと端末によって異なります。高速モードが使えない場合は、自動的に互換モードになります。