背景:手持 vivo X200s 和大疆 pocket ,导出的 live photo 是按类苹果格式(一张 jpg 和一段 mp4 )保存的,Google Photos 无法识别,会分成图像和视频分别上传。于是就 vibe 了一个 app 将这个格式转成 Google 的 motion photo 格式(内嵌 mp4 的 jpg ),但这个格式不能在 vivo 自己的相册里播放(猜测可能是兼容性问题)。
最近突然发现之前正常播放上传的 motion photo 在 Google Photos 里无法播放了,点开是一个转圈的 loading 图标,神奇的是在 vivo 相册里突然可以播放了,把文件丢 codex 里分析发现大概率是这些 motion photo 文件被塞了点私货导致 Google Photos 无法播放:
Key evidence inside the attached file:
- The MP4 ends with a 240-byte Vivo-specific uuid box containing:
- vivoMediaExtInfo
- com.vivo.gallery.file.convert: 10004
- com.android.camera.livephoto
- cameralbum!
- The JPEG XMP now includes:
- VCamera:VMotionPhotoVersion="1"
- VCamera:VMediaKitVersion="1.0.0.8"
所有 motion photo 在没有任何操作的情况下都被改了,难绷(