前段时间,朋友圈支持 Live Photo 的史诗级更新,又是刷屏又是上热搜。我们之前还专门出了篇文章来聊这件事。
要不怎么说微信是国民级应用呢?每次整活都成了流量圣体。
毕竟苹果 Live Photo 这个功能都推出快十年了,本来大家也都习惯了,没想到沾上了微信,讨论度又回来了。
2015 年 iPhone 6s 发布会
觉得 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 不支持。开发者只需要面对一套标准,也能少很多麻烦。
但希望国产手机厂商和开发者们现在还是再加把劲,总不能一张小小的动态照片,我要等到明年才能用上吧。。。
责任编辑:随心
文章内容举报