一个 Windows 小工具,把任意视频变成 iPhone 照片 App 能识别的实况图。 和其它转码工具最大的区别是:视频完全不做重新编码, 采样数据逐字节原样搬运,只重写容器结构与元数据。画质、码率、音频一律保持原样。
直接搬 mdat 里的采样数据,只重算 chunk 偏移。MP4 → QuickTime MOV,音频轨也原样保留。
转换后遍历源和输出的每一张样本表,逐样本比对字节内容。全部一致才报「通过」,对不上直接报错不产出文件。
封面帧提取走 Windows 内置解码器,实测返回原生分辨率的真实解码帧,不是缓存缩略图放大。
用 -c 封面.jpg 指定现成 JPEG,EXIF 直接注入、压缩数据不动,连静帧都不重新编码。
实况图不是「一种文件格式」,而是一对文件 + 一条约定:
旅行.JPG 写入 Apple MakerNote 0x0011 = 配对 UUID
旅行.MOV 写入 com.apple.quicktime.content.identifier = 同一个 UUID
iOS / macOS 照片 App 读取两边 UUID 比对,一致就合并成一张实况图。 传到 iPhone 时两个文件必须同名、一起传——分开传就变成「一张照片 + 一段视频」。
视频转实况图.bat 图标上松手,支持批量。python livephoto.py 视频.mp4 -o 输出目录python livephoto.py 旅行.mp4 # 输出到视频旁边
python livephoto.py 旅行.mp4 -c 封面.jpg # 用自己的图当封面(零重编码)
python livephoto.py info 视频.mp4 # 只看视频信息
python livephoto.py check-update # 检查新版本