従来の方式 — ファイルが往復する
従来型の変換サイトは、宅配便のようなものです。あなたの動画はネットワークを通って運営者のサーバーへ渡り、そこのソフトウェアが変換し、結果が戻ってきます。この方式は機能しますが、その特徴はすべてこの「往復」から生まれています。大きなファイルでは、アップロードだけで変換と同じくらい時間がかかることもあります。サーバーはユーザーごとに実際の処理を行うため、こうしたサイトはファイルサイズに制限を設け、処理を順番待ちにし、サブスクリプションを販売することになります。そして、プライベートな撮影素材・業務資料・NDAの対象となるものを扱うときに最も重要なのは、あなたのファイルの完全なコピーが他人のコンピューター上に存在するという点です。コピーがどれくらい保持されるのか、誰がアクセスできるのか、運営者が侵害を受けたらどうなるのか。それらは、信じるしかないプライバシーポリシーに委ねられます。
新しい方式 — 変換ツールのほうがやって来る
もう1つのやり方は、移動の向きを逆にします。あなたのファイルが変換ツールのところへ行くのではなく、変換ツール、つまり変換プログラムそのものがブラウザにダウンロードされ、そこで動くのです。ファイルはディスクからブラウザのメモリへ読み込まれ、あなた自身のCPUで処理され、ダウンロードとして書き出されます。ネットワークが関わるのは、ツール本体を取得する1回だけです。
これを可能にしているのは、2つのブラウザ技術です。WebAssembly(Wasm)は、C言語などで書かれた実在のソフトウェアをコンパイルしたプログラムを、あらゆるウェブページを閉じ込めているのと同じセキュリティサンドボックスの中で、ネイティブに近い速度でブラウザ内実行するしくみです。2017年に主要ブラウザすべてに導入され、Google EarthやFigmaのデザインエンジン、ブラウザ版Photoshopなどを静かに支えています。Mediamorphyで重い処理を担っているのはFFmpegです。VLCやYouTubeの処理パイプライン、そして世界中のほとんどの変換ソフトウェアの土台になっている、あのオープンソースのメディアエンジンをWebAssemblyにコンパイルし、ページ内で完結して動かしています。これは変換ツールの簡易版ではなく、業界標準の変換エンジンそのものを移設したものです。
この絵を完成させるのがFile APIです。ファイルを選択したりドラッグ&ドロップしたりすると、ページはそれをローカルでメモリに読み込む許可を得ます。ファイルを選ぶこと自体は、アップロードを意味しません。アップロードは、サイトのコードが明示的にデータをどこかへ送信したときにだけ起こります。そして、このアーキテクチャが決してやらないのが、まさにそれなのです。
「アップロードしない」は約束ではなく、検証できる事実
このプライバシーの主張が強力なのは、信じる必要がなく、本当かどうかをその場で見られる点です。デスクトップ版のブラウザにはすべて、ページが発生させるネットワーク通信をすべて表示する開発者ツールが備わっています。
- 変換ページを開き、F12キーを押してネットワークタブを選びます。
- ファイルを変換し、リクエストの一覧を眺めてください。ページのアセットと変換エンジンがダウンロードされる様子(初回だけの約30 MBの取得。以降はキャッシュされます)は見えますが、あなたのファイルをどこかへ運ぶリクエストは1つもありません。
- 決定的なテストをするなら、ページを読み込んでからインターネット接続を完全に切って変換してみてください。変換に通信は一切必要ないので、そのまま動きます。
このオフラインテストは、アーキテクチャ全体を理解するいちばんすっきりしたモデルにもなっています。アップロード型の変換ツールは、インターネットがなければ壊れたページです。ブラウザ内の変換ツールは、インターネットがなくても変換ツールのままです。
正直なトレードオフ
ブラウザのサンドボックス内で動かすことには、現実的な代償があります。作業の途中で気づくより、先に知っておく価値があります。
| ブラウザ内(Wasm) | アップロード型サービス | デスクトップアプリ | |
|---|---|---|---|
| ファイルのプライバシー | 端末の外に出ない | サーバーにコピーが残る | 端末の外に出ない |
| インストール/登録 | 不要 | 多くはアカウントと制限あり | インストールが必要 |
| 大きな処理の速度 | 遅め(シングルスレッド) | サーバーは高速だがアップロードが遅い | 最速 |
| ファイルサイズの上限 | 約1〜2 GB(ブラウザのメモリ) | プランごとの上限 | ディスク容量次第 |
| オフライン動作 | 読み込み後は可能 | 不可 | 可能 |
押さえておくべき制限は2つです。1つはメモリで、ファイルはブラウザのメモリ上で処理され、エンジンが扱えるのは最大でおよそ2 GBまでです。数ギガバイト級の素材はデスクトップアプリの領域になります。もう1つは速度で、サンドボックス内のエンジンはシングルスレッドで動くため、デスクトップ版のFFmpegなら数分で終わる長い4Kのエンコードに、その数倍の時間がかかることがあります。録画を変換する、音声を抽出する、送るためにクリップを小さくするといった日常的な用途なら、その差はコーヒー1杯分の待ち時間です。その代わりに、ファイルが自分のマシン以外のどこにも存在しないという結果が手に入ります。
この方式が広がっている理由
大半の仕事をしたのはハードウェアです。あなたがすでに持っているノートパソコンやスマートフォンは、オンラインサービスが無料で割り当てられる共有サーバーのごく一部よりはるかに高速です。だからこそ、データをプログラムのところへ送るより、プログラムをデータのところへ送るほうが理にかなうようになりました。データが1ギガバイトの動画で、プログラムが30 MBのダウンロードならなおさらです。プライバシーもコストもオフライン動作も、すべて同じ設計上の選択から自然に導かれます。巨大なファイルや重いバッチ処理では、アップロード型のサービスにも依然として存在意義があります。それ以外のすべてにおいては、あなたのところへやって来る変換ツールのほうが、単純にお得なのです。