01 · JPEG APP1 EXIF と Apple MakerNote (0x0011) バイナリ注入器
Module 01 · MakerApple 0x0011
LiveScreen はブラウザメモリ内で JPEG 0xFFE1 セグメントを再構築し、位置情報を除去した上で Big-Endian MM TIFF ヘッダと 14 bytes の Apple iOS\0\0\1MM ヘッダおよび相対オフセット 0x20 のタグ 0x0011 に 36文字 UUID を書き込みます(送信 0 bytes)。
APP1 Header = FF E1 <Len> "Exif\0\0" + Big-Endian TIFF ("MM", 0x002A)
MakerNote (0x927C) = "Apple iOS\0\x00\x01MM" + Tag 0x0011 (ASCII, len=37, offset=32) → UUID
02 · QuickTime .MOV トップレベル mdta と mebx カバー時刻トラック
Module 02 · QuickTime mdta & mebx
LiveScreen は ftyp qt コンテナを生成し、moov/meta 内の com.apple.quicktime.content.identifier と tref/cdsc で関連付けた 9 bytes の mebx (still-image-time) トラックを格納することで iOS 写真 App での自動結合を保証します。
Top Metadata = moov → meta → hdlr("mdta") + keys("com.apple.quicktime.content.identifier")
Timed Track (mebx) = trak → tref/cdsc(track=1) + edts/elst(T_cover) + mdat[00 00 00 09 00 00 00 01 00]
03 · WebCodecs H.264 (Level 5.1 avc1) 高速エンコード&Photo-JPEG 互換
Module 03 · WebCodecs H.264 60fps
LiveScreen は VideoEncoder で avc1.640033 から avc1.420028 までのハードウェア支援を自動検出し、MP4 動画を最大 1320×2868 @ 60 fps で出力して IDR キーフレームを強制挿入します(送信 0 bytes)。
AVC Profile Probe = VideoEncoder.isConfigSupported(["avc1.640033", "avc1.4d0033", "avc1.420028"])
Keyframe Placement = forceKeyFrame(i === 0 || i === coverFrameIdx || i % fps === 0)
04 · 横動画のぼかし背景縦変換&ロック画面時計の視認性グラデーション
Module 04 · Landscape Blur & Clock Guard
LiveScreen は 16:9 のアニメや映画 MP4 クリップを 9:19.5 縦画面へ変換するぼかし背景補完・OLED 純黒・中央クロップを備え、設定を localStorage に保存しつつ白い時計の視認性を守ります(0 bytes 送信)。
Aspect Presets = {1320×2868, 1206×2622, 1179×2556, 1290×2796, 1080×1920, 1668×2388}
Clock Vignette α = LinearGradient(y: 0 → 0.42·H, alpha: 0.85·dimRatio → 0)
05 · 再エンコード不要の無劣化 UUID 修復&PKZIP (.livp) パッケージャ
Module 05 · Lossless Re-Linker & .livp
LiveScreen は ISO-BMFF バイナリ解析器と IEEE 802.3 CRC-32 PKZIP パッケージャを内蔵し、画質劣化ゼロで stco/co64 チャンクオフセットと UUID を書き換え、2 ms 以内に IMG_XXXX.livp および .zip を生成します。
Chunk Offset Shift = stco[k] ← stco[k] + (NewMediaOffset - OldMediaOffset)
Archive Container = PKZIP Store (0x04034B50, method=0, CRC-32) → IMG_XXXX.JPG + IMG_XXXX.MOV
06 · iOS Web Share 写真 App 直保存と 0-Byte 送信 CSP サンドボックス
Module 06 · Zero-Upload & iOS Share
LiveScreen は default-src 'none' と SHA-256 スクリプト署名を採用し、すべての映像・音声処理を端末内メモリで完結(サーバー送信 0 bytes)させ、navigator.share により iPhone 写真 App へ直接保存できます。
Server Upload = 0 bytes (100% Client-Side Blob, ArrayBuffer & WebCodecs)
iOS Direct Import = navigator.share({ files: [File(IMG.JPG), File(IMG.MOV)] })