將相片全轉換成 JXL,大幅節省了 2/3 的空間

去年換掉用了約 6 年的 OnePlus 7T,新手機照相可以選擇能節省大量儲存空間的 HEIC 格式,一張相片大約只佔 1~2MB,於是對過去動輒 5、6MB 甚至更大的老相片愈看愈不順眼。我本來是很排斥對原檔動刀的,曾經連每張相片的 RAW 都留著,但幾年過去了,事實證明根本不會再拿來修圖,還是下定決心動手,新的格式實在太香了。

雖然儲存空間還夠用,整個相片庫也沒大到哪裡去,但現在儲存空間愈來愈貴,未雨綢繆一下沒什麼不好,而且相片小了,也能節省在不同設備間同步的所需時間。

選擇格式

既然要轉換,首要問題就是該選擇哪個格式?雖說我不算攝影愛好者了,相片庫裡也包含了不少過去用手機記錄的回憶,還有當初剛上大學,覺得校園很美而衝動入手了 RICOH GR,邊學習攝影常識邊留下的一些記錄。所以我希望這個格式能夠在節省空間之餘,不會對照片畫質造成太大的負面影響,畢竟檔案一轉下去,等包含原始檔的備份快照被洗掉以後,就不能反悔了。

除了格式必須夠先進,能夠滿足畫質好、檔案小,這個既要馬兒跑又要馬兒不吃草的不合理要求外,其實還有一些事情需要考慮。比如相容性怎麼樣,能夠在大多數裝置上正常檢視嗎?有沒有受到大廠青睞,會一下子變成孤兒格式被放棄嗎?是否非專有格式,免得成為道德有瑕疵的人助長技術壟斷的推手?

適合的格式不多,以下粗略比較一下:

想實際比較 AVIF 和 JXL,這裡可以動手玩:jpegxl.info

實測結果

01.avif
02.avif

相簿裡有 10GB 的影片,所以單純計算相片的部分,從 32.1GB 大幅減少成 11.4GB,只剩下約 1/3 的大小。我沒有採取激進的破壞性壓縮,品質設定成視覺無損的 90,如果設定得更低,還可以壓榨出更多空間。

而且一開始挑了幾張相片測試,我盯著放大縮小看了一個小時,實在看不出轉換後有什麼差異,到了品質 70 才勉強看出部分物體邊緣有一些些色差。相信我,我有數位囤積癖,連國中寫的垃圾作業都還存在硬碟裡,就算只是丟掉一點清晰度我也是不願意的。如果有強迫症,心理上不能接受任何畫質損失的話,還可以用 JXL 的無損轉碼特技重新封裝舊的 JPG,免費得到最多減少 20% 的檔案大小。

使用工具

一開始我是用 Switcheroo(Flathub) ,後來才發現不能保留相片元數據,導致相片排序只看最後修改時間,會整個亂掉;而且沒辦法處理多目錄和子目錄,目錄一多處理起來會很痛苦,於是找了其他工具來用。不過日常比如寫部落格時,用來處理少量圖像還是很好用,右鍵選擇用 Switcheroo 開啟就能轉換。

最後找到同樣是開源軟體的 XL Converter(Flathub) ,這個軟體除了 UI 極客了點之外,真是棒極了!名字裡有個 XL,明顯是專注在 JXL 開發的軟體,給人十足的信心(但也支援轉換成 AVIF 等其他許多格式);能自動處理子目錄,只需要把整個相簿目錄拖進去,底下好幾層子目錄裡的檔案也會轉換,非常方便;支援 JXL 的無損轉碼,雖然我用不到,但對一些人來說應該滿有吸引力;允許保留時間戳和元數據,方便在看圖軟體內正確排序。

03.avif
個人轉換設定,僅供參考

我的轉換設定是視覺上無損的品質 90,直接匯出到檔案所在的目錄,然後自動將原始檔刪除。如果目錄裡有 HEIF 等格式的相片,或混雜了影片,軟體會自動跳過不轉換,有轉換失敗的圖片也會保留,可以放心把整個相片庫添加進去處理,而且 JXL 的轉換速度很快,一萬多張相片 10 分鐘左右就處理好了,當然實際用時會受硬體性能影響。

04.avif
勾選保留時間戳和元數據

另外如果想保留元數據和時間方便排序,別忘了勾選保留。要是發現元數據沒有順利保留,除了 Encoder - Preserve ,還可以嘗試 ExifTool - Preserve 這個選項,但處理速度會慢一點。

05.avif
無損轉碼

如果怕未來後悔,可以選 Lossless JPEG Transcoding,會用 JXL 重新封裝 JPG,在不損失任何畫質的情況下縮小 10~20% 的大小,而且事後可以無損還原回來,這裡說的無損不是開玩笑的,還原後連 Hash 值都一模一樣。

配套軟體

前面有說目前 JXL 的相容性有待加強,所以需要費點心力找配套方案。我的電腦作業系統是 Bluefin,不需要裝什麼東西就能正常檢視,內建的影像檢視器可以讀到元數據,檔案管理器中也能顯示縮圖。GIMP 和 Pinta 這樣的繪圖軟體也都能順利編輯。

老實說一切都沒問題,害我一開始以為這個格式的支援度已經很高,直到放到手機上才發現哭啊居然沒辦法看。幸好還是有開源的第三方軟體能正常檢視,不過有踩了一下坑。

目前推薦使用 Fossify Gallery(Google Play) ,能夠正常顯示 JXL 格式的相片,縮圖顯示速度也很快。不過需要注意的是,編輯時會出現錯誤,簡單的裁切都不行,在意的話還是選擇 AVIF 吧。

06.avif

其實我更喜歡 Gallery(GitHub) 這款相簿軟體,介面非常漂亮現代,離線跑在裝置上的 AI 圖片分類功能也很棒,可惜目前對 JXL 的支援還不夠完整,最新的版本只能顯示不包含元數據的相片,如果沒清除元數據就會顯示錯誤,但舊版本(3.1.2)沒問題,就是縮圖顯示慢一些,已經有人提了 Issue ,期待未來能修復囉。

排序問題

儘管目前許多軟體可以正常檢視相片,但可能無法讀取完整的元數據,因此會依照最後修改時間排序相片,而不是元數據裡的原始建立時間。我有許多老相片的最後修改時間,可能由於過去管理不當,最後修改時間是錯的,和實際的拍攝日期差很遠,在相簿軟體比如 Fotema(Flathub) 裡,就會排序得亂七八糟。

但在轉換時,我們有保留元數據,所以可以用裡面的原始建立時間取代最後修改時間,也有很方便的工具 ExifTool(官網) 幫助完成這個工作。

如果你使用 Bluefin 或 Bazzite,系統已經包含了 Homebrew,可以方便地用以下指令安裝:

SH
brew install exiftool
點擊展開查看更多

使用起來很簡單,在想處理的目錄開啟終端機,執行以下指令即可,子目錄裡的相片也會一併套用修正:

SH
exiftool -r "-FileModifyDate < DateTimeOriginal" ./
點擊展開查看更多

結語

講了一堆,不知道看到這裡會覺得 JXL 好棒棒還是好麻煩?lol 個人覺得這個格式前途無量啦,一些特性真的很香。隨著新版解碼器 jxl-rs 的完成度愈來愈高,支援度應該很快會有滿大的進展,連曾經拒絕過 JXL 的 Google,近期都重新在 Chrome 加回了實驗性支援。但當前確實需要做些妥協才能用,想要現在就有廣泛的相容性,不想賭未來的話,還是建議保守一點選擇 AVIF 囉。

評論

開始搜尋

輸入關鍵詞搜尋文章內容

↑↓
ESC
⌘K 快捷鍵