ブラウザ内での圧縮のしくみ
SelfKit は、端末にインストールしたアプリのように動くウェブサイトです。動画がどう処理されるかを説明します。
ファイルは端末から出ません
動画を選ぶと、ブラウザがそれをローカルで読み込みます。圧縮用のコードは通常のウェブページと同様に一度だけダウンロードされ、その後はあなたのプロセッサで動作します。
アップロードの手順も、ファイルを受け取るサーバーもありません。だからオフラインでも動作します。
サイズをぴったり合わせるしくみ
ファイルサイズはビットレート × 再生時間です。上限と動画の長さからビットレートを計算し、少し余裕を残して映像と音声に配分します。
例:60 秒の動画を 10 MB に収める場合、合計で約 1,280 kbit/s が使えます。くっきりした 720p には十分です。エンコード後に実際のサイズを確認し、上限を超えていればビットレートを少し下げて再エンコードします。
ハードウェアアクセラレーション
最新のブラウザは WebCodecs を通じて、端末に内蔵された動画エンコーダー(スマホが動画を撮影するのと同じチップ)を使えるようにしています。そのため、ソフトウェアエンコードより何倍も高速に圧縮できます。
ブラウザに搭載されていない場合や古い形式のファイルでは、SelfKit は互換エンジン(ffmpeg.wasm)に切り替えます。速度は落ちますが、ほとんどの形式を読み込めます。
オフラインで動作
初回アクセス後、ブラウザがページと圧縮エンジンを保存します。機内モードにしてページを再読み込みし、動画を圧縮してみてください。ちゃんと動きます。
制限事項
すべての処理は端末のメモリ内で行われるため、古いスマホではとても大きなファイルを扱えないことがあります。性能の低い端末では長い動画ほど時間がかかります。
対応ブラウザ
| ブラウザ | 高速モード | 互換モード |
|---|---|---|
| Chrome / Edge (desktop, Android) | 対応 | 対応 |
| Safari (macOS, iOS) | バージョンによる | 対応 |
| Firefox (desktop) | バージョンによる | 対応 |
| Samsung Internet | バージョンによる | 対応 |
対応状況はブラウザのバージョンと端末によって異なります。高速モードが使えない場合は、自動的に互換モードになります。