LiveScreen 0-BYTE UPLOAD · LIVE PHOTO MUXER
纯前端视频转 iOS 实况屏保 (.JPG + .MOV / .livp) · 0 字节上传
100% 本地内存合成 · 0 字节上传
← 返回实况屏保工作台 ❓ 常见问题 (FAQ)

LiveScreen 视频转 iOS 实况照片与动态锁屏壁纸二进制封装原理

LiveScreen 是基于浏览器 WebCodecs 硬件 H.264 编码器、Canvas 2D 与纯 JavaScript 二进制封装器构建的视频转 iOS 实况屏保(Live Photo)工作台,在本地内存完成全部合成并向远端服务器上传 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 种语言、.livp 归档与 iOS Safari 一键直存相册。

⚙️ 六大核心 Apple Live Photo 本地编码与元数据封装模块

01 · JPEG APP1 EXIF 与 Apple MakerNote (0x0011) 二进制注入器

Module 01 · MakerApple 0x0011

LiveScreen 在浏览器内存重构 JPEG 0xFFE1 段,剥离冗余隐私标签并写入大端序 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 轨道引用绑定 mebx (still-image-time) 9 bytes 采样与 elst 偏移,确保 iOS 相册 100% 自动合并。

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 · 零重编码 ISO-BMFF 原子无损重绑与 PKZIP (.livp) 单文件打包

Module 05 · Lossless Re-Linker & .livp

LiveScreen 内置无损原子修补器与 IEEE 802.3 CRC-32 归档器,无需重编码视频像素即可重写已有 .MOV 的 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 相册直存与 0-Byte 零上传严格 CSP 沙箱

Module 06 · Zero-Upload & iOS Share

LiveScreen 遵循 default-src 'none' 与 SHA-256 脚本哈希安全策略,所有视频解码、音频重采样与二进制合成 100% 驻留本地内存(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 Steps)

100% 浏览器本地内存运行、零服务器上传、原生 Apple 实况 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 定格帧,并在带灵动岛与 09:41 时钟遮罩的真机模拟器中长按预览缩放定格效果。

  3. 03 · 注入双端配对 UUID 并直存 iPhone 相册或下载 .livp

    LiveScreen 在 2 seconds 内生成共享同一 36 chars UUID 的 .JPG 与 .MOV 及 .livp 单文件包(0 bytes 上传);iPhone Safari 用户可点击一键分享选择“存储 2 个项目”直存相册,Mac 用户可解压 .zip 后双选隔空投送至手机。