扫码打开虎嗅APP
本文来自微信公众号:差评X.PIN (ID:chaping321),作者:托尼,编辑:米罗、面线、粿条,题图来自:Unsplash
前段时间,朋友圈支持Live Photo的史诗级更新,又是刷屏又是上热搜。我们之前还专门出了篇文章来聊这件事。
要不怎么说微信是国民级应用呢?每次整活都成了流量圣体。
毕竟苹果Live Photo这个功能都推出快十年了,本来大家也都习惯了,没想到沾上了微信,讨论度又回来了。
觉得Live Photo好的人,夸它能动、鲜活、有生命力。
不喜欢的那拨人,则认为怎么照片点开是段视频,还带声音,还把我拍照前说的话录进去了。
要说最难绷的还是安卓用户,看别人吵了半天也不太知道具体发生了啥。
因为朋友圈的Live Photo竟然只支持iPhone,在安卓上完全Live不起来,就是张静态图片。
虽然下意识的反应是,“小而美”,你有事吗?但我们仔细研究了下,发现这事真的不能只怪微信。
因为安卓在微博上也被区别对待了,大部分安卓手机还处在只能看,不能发的状态……
归根结底,是Live Photo这玩意真的太乱了,和鹅城也没多大区别。之前大家可能没啥感觉,这回来了个微信,把问题全给捅出来了。
其实细说起来,Live Photo的原理并不复杂。
最早在2015年,苹果就推出了Live Photo这个功能,它本质上就是一张照片和一段最长3秒的视频,包含拍照前后的各1.5秒。
也就是说,苹果的Live Photo其实是俩文件。
再严谨一点的话,在托尼的iPhone 15 Pro上,一张Live Photo是由一个文件后缀为.HEIC的图片,和一段使用H.265编码的MOV格式的视频组成的。
通过Mac端查看Live Photo原文件
简单来说,每当iPhone拍摄Live Photo的时候,都会给对应的照片文件打上“我是动态照片”的标签,并且把这个标签信息写进照片文件的“元数据”(metadata)当中。
然后,iOS系统自带的相册App会自动扫描照片文件内隐藏的标签信息,当识别到某个照片文件属于Live Photo时,就会定位到和这张图片对应的视频文件,之后在相册中将两者组合,并以“动态照片”(点开看是照片,按下开始播放视频)的方式展示。
苹果这个活儿整得好不好先不说,反正安卓是直接傻眼了。
为什么呢?因为苹果在iOS系统里是默认隐藏掉真实的文件/文件夹等等信息的,所以苹果可以开开心心地在文件夹里放一个图片+一个视频,然后再在相册App里把他俩揉到一起。
反正用户们不需要知道苹果到底是怎么存放文件的,他们只要在相册App里看到“一张照片”,问题就解决了。
但是安卓不一样,安卓和Windows系统一样,都很热衷于把各种真实的文件夹目录结构展示给用户。
假如安卓也学苹果这么分开存储Live Photo的图片和视频,那分分钟就把“动态照片魔法”给暴露干净了!
比如这样:
但是即使是这样,谷歌还是在2017年10月发布的Pixel 2手机上正式搭载了动态照片的功能。
为了解决“一打开文件管理器就露馅”的问题,谷歌比苹果多做了一个骚操作。
根据开发者们的挖掘,谷歌专门给“动态照片”设计了一套名叫MicroVideo的“单文件”标准(后改名为Motion Photo),简单来说,就是将视频、音频,以及各类标明文件信息的数据,都封装进单个照片文件里了。
上面这段稍微有点儿不说人话,我想办法拿实际的例子跟大家解释一下:
下面这张照片,是我刚刚拿谷歌Pixel手机拍摄的“安卓版动态照片”。
相册目录里只有一个文件,文件的大小是8.13 MB。
但其实,这个看起来是jpeg图片的文件,本质上是个“压缩包”。
当我们使用专门的工具“解压缩”之后,能从这一个8.13 MB的“照片”中再次分离出一个3.89 MB的真·照片文件,以及一条时长2.99秒,文件大小4.21 MB的视频文件。
怎么样,是不是和苹果Live Photo的逻辑对上了?
本质上,谷歌安卓以及苹果iOS拍摄的动态照片,都是一张照片+一段视频,只不过,苹果选择直接往系统目录下面放两个文件,而谷歌选择为了让目录看起来干净一些,额外创造了个新的打包标准,把照片和视频重新打包到了一块儿。
你看到这可能想问,谷歌这玩意出了这么久,这么先进,为啥安卓手机用户看个动态照片还这么费劲?各大App的适配到现在还是一团乱麻?
因为,谷歌有点管生不管养了。
直到今年7月份,谷歌才更新了安卓开发者网站,正式发布了一条名叫Motion Photo 1.0的动态照片储存标准。
换句话说,从2017到2024年这整整7年的时间里,即使全世界都知道谷歌Pixel手机上的动态照片文件是怎么回事,相关教程在网上一搜一大堆,但谷歌自己从来没有正式公开过。
所以从理论上讲,直到今年7月份之前,安卓这边都没有统一的动态照片格式!
谷子啊,你这让手底下的小弟们怎么干活?
上个星期,我们上GitHub找了一款能够解析谷歌动态照片文件封装的小工具。进行了一波赛博开盲盒。
目前的开盒结果是,华为、OPPO、小米、三星、魅族等厂商都“偷偷”使用了谷歌从来没有公开,但是全世界都知道的标准来储存动态照片。
除了vivo,vivo和苹果一样,直接在相册目录下面保存了照片+视频两个文件。
泪目了,原来最爱苹果的还是你vivo。
根据我们前面聊的内容,相信你很容易就能得出“谷歌和苹果的动态照片格式标准不统一”的结论,但现在,尴尬的地方在于,vivo的这套东西,它既不与谷歌、也不与苹果兼容。
这下,整个晋西北可是乱成一锅粥了。因为我们能在市面上找到三种动态照片的保存方案,苹果基于iOS系统的一套、谷歌终于统一标准的一套,以及vivo身在安卓系统却模仿苹果的一套……
所以这也能解释,为啥iPhone和安卓手机彼此看不了对方的动态照片。
具体来说,一款软件要想在全部机型上都适配动态照片,就得对应三种动态照片的保存方案,写三套代码。
软件要先识别你用了哪个型号的设备,再判断这个手机品牌搭载的是哪类动态照片的格式,再去匹配对应的解析方案。
换句话说,万一开发者犯懒,不想适配你手里的这个型号,那你还真就发不了动态照片。
如果你是开发者,自然就会想,苹果这边总共才几个设备,安卓那边不光品牌多,设备型号还多如牛毛,那肯定是先紧着苹果。
安卓微信的朋友圈动态照片,就还在路上
那安卓手机还能不能抢救一下子呢?
托尼只能说,还是得靠咱们国产手机厂商。既然开发者没动力,各个品牌想要在体验上对标iPhone,只能靠手机厂商推动第三方App进行适配了。
最先提起这事的是2024年5月发布的OPPO Reno 12系列,联(掏钱)动(PY)了一波小红书,让安卓手机终于能在社交平台上发布动态照片了。
还有小米宣布要在11月底支持小米手机拍摄的动态照片,在小红书、微博、抖音平台分享,与此同时,其他手机品牌也都有跟进的动作。
似乎动态照片的难题快被解决,胜利就在眼前了。
但托尼在这里还是小小地泼一盆凉水,动图照片在安卓阵营搞了很多年,实际上仅仅做到了可以拍到“会动的照片”这件事。苹果Live Photo大杀四方的内核,其实还是用户体验做得好。
苹果的Live Photo支持多种使用方法,玩法更多样
但路得一步一步走,安卓阵营还是先把动态照片最基础的分享和查看解决了,再谈别的吧。
毕竟朋友们在讨论朋友圈动态照片的时候,用安卓的我真的也很想知道他们到底在聊啥。
哦对了,文章结尾再给大家讲个小八卦。
据说,有开发者收到消息,在iOS 19上,谷歌和苹果的动态照片文件标准将迎来统一。到时候无论啥手机,大家互传动图都能看,也不用再担心哪个App不支持。开发者只需要面对一套标准,也能少很多麻烦。
但希望国产手机厂商和开发者们现在还是再加把劲,总不能一张小小的动态照片,我要等到明年才能用上吧……
本文来自微信公众号:差评X.PIN (ID:chaping321),作者:托尼,编辑:米罗、面线、粿条