(偽)Android手機拍攝AVIF/HEIF相片
Android手機內建大部分相機輸出的不外乎是JPEG或PNG,有些提供RAW檔案。隨著解像度越來越高,檔案大概都4MB起跳。
從容量來看,為何不在拍照的時候就儲存成AVIF/HEIC/HEIF等檔案更小、更高效率的格式呢?或許未來會支援吧,AVIF比HEIC更新更有吸引力,因為不用摳摳。
Android 12已支援顯示AVIF,iOS要到iOS 16才會加入。
在那之前,我們可以先用Termux的指令相機功能玩一下,在拍照成JPEG後直接轉成近乎無損的AVIF。首先,這是用Sony內建相機拍的主角北上。
![](https://assets.matters.news/embed/77705957-b88a-415c-8bfc-ec4c40979470.jpeg)
安裝Termux,安裝Termux API。安裝termux-api和Image Magick套件:
pkg update pkg install termux-api imagemagick
使用termux-camera-info指令查看相機訊息。應該會印出一串JSON,並標記手機上的鏡頭ID,例如我有1個前鏡頭+3個後鏡頭,對應ID 0~4。
但... Termux沒有GUI要怎麼拍照?就擺好pose靠感覺打指令囉。如果想看該鏡頭的大約成像狀況,下載OpenCamera切換鏡頭就會得知。
![](https://assets.matters.news/embed/d4d52093-a458-4a69-9f30-7173e8f436af.jpeg)
再來是拍照指令!Termux會叫相機 (-c後面接鏡頭ID) 拍照輸出jpeg格式的相片,沒其他選項可調。將該檔案丟給Image Magick轉檔成AVIF。最後面的指令是將jpeg刪除。
termux-camera-photo -c 0 temp.jpeg && magick convert temp.jpeg -quality 90 out.avif && rm temp.jpeg
拍照之後,從Termux的家目錄把檔案取出來,JPEG(左)轉成AVIF(右)後體積減少了一半多。(註:我的手機AVIF顏色映射怪怪的,要放到Linux電腦上看才會準)
![](https://assets.matters.news/embed/e14ed05f-4be6-454c-9f4c-9513cd9e0eef.jpeg)
改用3號廣角鏡頭試試也別有一番風味。
![](https://assets.matters.news/embed/ae3eea9e-ba5f-4a75-a6d2-f3a8076baa68.jpeg)
當然,要將檔案轉成蘋果在用的HEIC也是可以的,但這樣檔案反而會變大XD。
這麼麻煩,幹嘛不正常拍完照再大量轉換呢?很好,請看:如何將圖片影片轉檔成AVIF / AVIFS
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!
![](https://imagedelivery.net/kDRCweMmqLnTPNlbum-pYA/prod/avatar/89acac8f-4c47-4bb2-937a-218251d3fab2.jpeg/public)
- 来自作者
- 相关推荐