Technical overview

どう動いているか

iPhone が送り、サーバーが中継して蓄え、ブラウザが映す。映像は WebRTC で視聴者へ中継し、位置情報は走行中1秒・停車中5秒ごと、テレメトリは15秒ごとにデータベースへ記録します。記録は配信後もグラフで確認できます。

01 — IPHONE APP TrackCast iOS H.264 エンコード · REST 送信 02 — SERVER 配信サーバー LiveKit SFU · Supabase · VPS 03 — WEB APP trackcast.cloud Next.js on Vercel · Mapbox 映像 H.264 → WebRTC で送出 SFU が中継 → 視聴者のブラウザで再生 SFU 位置情報・テレメトリ 端末状態 REST · 位置 1Hz / 5s テレメトリ 15s · ハートビート Realtime → 視聴ページの地図 コンパネの状態・グラフ DB 遠隔操作 コントロールパネル → コマンドを記録 Realtime 購読 → iPhone の設定に反映 REALTIME

映像経路

位置情報経路

停車・発進の判定条件
  • 停車判定は0.5m/s未満が3秒続いたとき、発進は1.0m/s以上または停車地点から15m移動。停車・発進の瞬間は即時送信
  • 速度が取れない静止時は、精度20m以内で3秒間6m円内に留まれば停車とみなす

遠隔操作の仕組み

配送の詳細
  • 届かない場合は5秒ごとのポーリングで拾う
  • iPhone側の現在値はプロフィールに逆方向で報告され、パネルに表示される

テレメトリ

配信中、15秒ごとに次の項目を記録します。

記録項目の一覧
  • 端末温度(4段階)
  • バッテリー残量と充電状態
  • RTT
  • ジッター
  • パケットロス数とロス率
  • fps
  • ビットレート
  • 解像度
  • 緯度・経度・速度
  • アプリのバージョン

認証とセキュリティ

回線耐性

端末要件と制約