本文來自微信公眾號:差評X.PIN (ID:chaping321),作者:托尼,編輯:米羅、面線、粿條,題圖來自:Unsplash
本文來自微信公眾號:差評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),作者:托尼,編輯:米羅、面線、粿條
支持一下 ??修改