utility

Optical File

小さなファイルを連続QRのAnimated WebPへ変換し、カメラ越しに復元します。

ローカル処理
ファイルについてこのツールで選択したファイルや入力内容は、Browser Kittyのバックエンドへアップロードせずブラウザ内で処理します。

このツールについて

Optical Fileは、最大1 MiBの小さなファイルを連続QRコードのAnimated WebPに変換し、別端末のカメラで読み取って元ファイルへ復元する、実験的なファイル転送ツールです。ネットワークやクラウドストレージを使わず、画面とカメラをデータ経路として使う仕組みを試せます。

これは日常的な高速ファイル転送を置き換えるための完成された転送方式ではなく、光学的なデータ受け渡しをブラウザだけでどこまで実用化できるかを試す実験的プロジェクトです。データブロックごとのCRC32と復元ファイル全体のSHA-256で破損を検出し、生成済みWebPを直接読み込む高速復元にも対応します。

こんなときに便利

  • ネットワーク接続を使わず、画面とカメラだけで小さなファイルを渡す実験をしたい
  • QRコードを使ったデータ伝送の仕組みを試したい
  • 生成したAnimated QR WebPを保存し、別環境で復元可能か検証したい

できること

このツールで利用できる主な機能です。

使い方

  1. 「Animated QRを作る」で1 MiB以下のファイルを選択します。
  2. 通常はカメラ優先の1 QR / frame・6 fpsのままAnimated WebPを生成します。
  3. 送信側で生成したQRアニメーションを全画面表示します。
  4. 受信側のOptical Fileでカメラを開始し、QR全体がガイド内に入るように合わせます。
  5. 全ブロック取得後にCRC32 / SHA-256検証が成功したことを確認して元ファイルを保存します。生成WebPを直接読み込んで復元することもできます。

対応範囲

  • 入力ファイル: 最大1 MiB
  • 生成: 連続QRを格納したAnimated WebP
  • カメラ復元: ブラウザのカメラ権限とHTTPS環境を推奨
  • 直接復元: Animated WebPのフレーム解析に対応するImageDecoder API対応ブラウザ

制限・注意点

  • このツールは実験的です。カメラ読み取りの成功率や速度は端末、画面、ピント、露出、反射、距離などに大きく左右されます。
  • 入力上限は1 MiBで、生成するAnimated WebPは元ファイルよりかなり大きくなることがあります。
  • 生成WebPは暗号化されません。WebPを入手した人は元ファイルを復元できます。CRC32 / SHA-256は破損検出用で、秘匿性や認証を提供しません。
  • 高速なネットワーク転送、USB、AirDrop等の代替を目的としたツールではありません。

よくある質問

なぜ「実験的」なのですか?

画面に表示した高密度QRを別端末のカメラで連続取得する方式は、端末や撮影条件による差が大きいためです。実用性を検証するためのプロジェクトとして公開しています。

インターネットがなくてもファイルを渡せますか?

アプリを双方の端末で開ける状態なら、転送データ自体は画面とカメラの間だけを通ります。ただしカメラ利用はHTTPSで開いたWeb版の方が安定するブラウザがあります。

QRにしたファイルは暗号化されていますか?

暗号化されていません。検証用のCRC32とSHA-256はデータ破損の検出用です。機密ファイルを扱う場合は別途暗号化してください。

オフライン版・ソースコード

生成・復元・検証はブラウザ内で行い、ファイルやカメラフレームをアップロードしません。単一HTMLを保存してオフライン利用できますが、カメラ権限はHTTPS環境の方が安定する場合があります。

GitHubでソースを見る