微信朋友圈支持 Live Photo 已经有一段时间了,但是怎么只有尊贵的朋友用户专享这功能啊?事实上不止是微信,咱微博的 Live Photo 大部分安卓手机还处在只能看,不能发的状态。。。这么简单的功能为啥安卓不行呢?
最早在 2015 年,苹果推出了 Live Photo 这个功能,它本质上就是一张照片和一段最长 3 秒的视频,所以 Live Photo 其实是俩文件。每当 iPhone 拍摄 Live Photo 的时候,都会给对应的照片文件打上 “我是动态照片” 的标签,并且把这个标签信息写进照片文件的 “元数据” (metadata)当中。
然后,iOS 系统自带的相册 App 会自动扫描照片文件内隐藏的标签信息,当识别到某个照片文件属于 Live Photo 时,就会定位到和这张图片对应的视频文件,之后在相册中将两者组合,并以 “动态照片” 的方式展示。
这安卓直接傻眼了呀,因为用户们不需要知道苹果到底是怎么存放文件的,他们只要在相册里看到的是一张动图就完事儿了。而安卓真实的文件夹目录结构都是展示出来的,学苹果这么分开存储 Live Photo 的图片和视频,效果就是图这样的。。。
不过谷歌还是想了个骚操作,就是整了个“压缩包”,把信息封装进单个照片文件里,表面看是一张图,用专门工具能分离出一张图+一个视频。本质上俩巨头思路都是一样的。
然而这个 2017 年 Pixel 2 上就有的功能,直到今年 7 月份,谷歌才更新了安卓开发者网站,正式发布了一条名叫 Motion Photo 1.0 的动态照片储存标准。也就是说,整整 7 年,安卓都没有统一的动态照片格式。。。
我们上 GitHub 找了一款能够解析谷歌动态照片文件封装的小工具进行了一波赛博开盲盒。目前的开盒结果,华为、OPPO、小米、三星、魅族等厂商都“偷偷”使用了谷歌从来没有公开,但是全世界都知道的标准来储存动态照片。除了 vivo,vivo 用的苹果的标准。
所以市面上能找到三种动态照片的保存方案,苹果基于 iOS 系统的一套、谷歌终于统一标准的一套,以及 vivo 身在安卓系统却模仿苹果的一套。。。三种方案各自都看不了对方的。。。
不过我有一个听来的小道好消息,有开发者收到消息,在 iOS 19 上谷歌和苹果的动态照片文件标准将迎来统一。所以, 只能再等等。