撮影画像プレビュー
対応 Issue: #6 撮影画像プレビュー ・ Phase 1
要件「撮影画像のプレビュー」。撮影済みの画像・動画をスマホ(PWA)で閲覧・管理する。
機能要件
- ライブプレビュー:
/api/v1/stream(MJPEG)でリアルタイム表示 - ギャラリー: 撮影済み静止画 / タイムラプス動画の一覧(サムネイル)
- 個別表示・拡大、撮影日時 / 解像度などのメタ表示
- PWA へのダウンロード(端末保存)、不要画像の削除
- 保存元の切替(microSD / EzData クラウド)
実装方針
| 機能 | 実装 |
|---|---|
| ライブ | <img src="/api/v1/stream"> または fetch ストリーム |
| ギャラリー | ファーム側に /api/v1/files を追加し /captured/ を列挙。EzData 利用時は URL 一覧 |
| DL / 削除 | 端末保存(Blob)・デバイス側削除 API |
⚠️ mixed-content 対策(アーキテクチャ): WiFi AP 直結(HTTP 同一オリジン)で回避。Cloudflare 配信時は転送経路を PWA 方針に従う。
リスク
- 5MP 原寸の転送負荷 → サムネ生成(ファーム or PWA 縮小)
- 大量ファイル時のページング
受け入れ条件
- [ ] ライブプレビューが表示される
- [ ] 撮影済み画像 / 動画が一覧・拡大表示できる
- [ ] 端末へダウンロード・削除ができる