LiveScreen 0-BYTE UPLOAD · LIVE PHOTO MUXER
完全フロントエンド動画 → iOS Live Photos (.JPG + .MOV / .livp) 壁紙スタジオ · 0バイト送信
100% 本地内存合成 · 0 字节上传
← 壁紙スタジオに戻る ❓ よくある質問 (FAQ)

LiveScreen 動画から iOS Live Photos・動くロック画面壁紙へのバイナリ変換原理

LiveScreen は WebCodecs ハードウェア H.264 エンコーダ、Canvas 2D、純粋な JavaScript バイナリマルチプレクサで構築された iOS Live Photos(動くロック画面壁紙)作成スタジオであり、サーバーへ 0 bytes の送信で完結します。

LiveScreen は Apple ImageIO および AVFoundation の仕様に準拠し、静止画 .JPG に Big-Endian TIFF と Apple iOS MakerNote 0x0011 (ContentIdentifier) を書き込み、動画 .MOV に com.apple.quicktime.content.identifier と 9 bytes の mebx still-image-time トラックを同時構築します(4言語対応)。

⚙️ 6つのブラウザ内 Apple Live Photo エンコード&バイナリ合成モジュール

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)] })

🔬 LiveScreen で動画を iPhone 動くロック画面壁紙にする 3 ステップ (3 Steps)

100% ブラウザ内メモリ処理・サーバー送信 0 bytes・純正 Live Photos UUID ペアリング&ロック画面プレビュー
  1. 01 · 動画ファイルをドロップ、または内蔵 60fps デモ壁紙を選択

    LiveScreen のステップ 1 では手元の MP4・MOV・WebM 動画を読み込む(送信 0 bytes)か、オーロラやサイバーネオンの 60fps デモを選択し、iPhone 16 Pro Max (1320×2868) 比率や横動画ぼかし補完を設定します。

  2. 02 · 1.5–3.0 seconds の最適尺に切り出し、カバーフレームを指定

    LiveScreen で iOS 17–26 ロック画面に最適な 1.5–3.0 seconds の範囲を選び(送信 0 bytes)、6コマのフィルムストリップで still-image-time 静止画を指定し、Dynamic Island 付きシミュレーターを長押しして動きを確認します。

  3. 03 · ペア UUID を生成し iPhone 写真 App へ一括保存または .livp 出力

    LiveScreen は 2 seconds 以内に同一 36 chars UUID を持つ .JPG + .MOV と .livp を出力します(送信 0 bytes)。iPhone Safari では共有メニューの「2項目を保存」で写真 App に直接結合され、Mac からは AirDrop で取り込めます。