拾映還沒有正式上線,很多細節還在打磨,App Store 上暫時找不到。 上架時通知我 看看拾映的細節 →

拾映的壓縮細節:檔位與前後對比

簡單說

拾映的壓縮細節,講的是拾映這款還沒上架 App Store 的 iPhone 照片 App 的壓縮怎麼做:標準和深度兩檔,標準怎麼找到撐得住的最小大小,前後怎麼在同一格上對比,大小怎麼寫,以及什麼時候原始檔會留下。

最後更新:

拾映即將上架 App Store,現在還沒有上架。這一頁收集的是 App 目前版本怎麼壓縮影片和原況照片的細節:檔位、對比頁,以及你的原始檔會怎麼樣。每張卡片先說它做了什麼,再說為什麼這樣做。

拾映的壓縮有哪幾檔?

影片壓縮只有兩檔:標準和深度

做法: 影片壓縮給兩檔。「標準壓縮」把長邊控制在 1920 像素以內(1080p 畫面的長邊);「深度壓縮」降到 1280 像素以內(720p 畫面的長邊)。第一次的一鍵壓縮用標準;之後跟著你最後一次在放一邊裡選的那一檔。

為什麼這樣做: 兩個簡單的名稱讓選擇容易懂,影片和原況照片也用同樣的兩個名稱。第一次預設標準,是因為第一次選錯的代價應該小:深度可能把 4K 影片降到 720p,原始影片一刪就找不回來了。你自己換過檔之後,拾映就按你的口味走。

原況壓縮:標準、深度,或是只取一幀

做法: 原況照片壓縮有三個選項。「標準」讓拾映為每張照片自己找「差別很難看出來」的最小大小。「深度」用固定的、更緊的參數:靜態圖長邊不超過 2400 像素,動態部分不超過 1440。「只取幀」去掉動態,只留靜態照片。選標準或深度,壓完仍然是會動的原況照片。一鍵壓縮會跟著你最後一次在放一邊裡選的那一檔;從沒換過,就是標準。

為什麼這樣做: 標準和深度,和影片是同樣的兩個名稱。檔位說明裡不寫能省多少,卡片上也不顯示百分比,是否合適請你自己用對比頁去看。「只取幀」是給只想要一張更小靜態圖的人,它走的是現有的佇列,放一邊、撤回、刪原始檔和背景排隊都和別的壓縮一樣,沒有另開一條編碼或刪除的路。

做法: 對每張原況照片,標準壓縮會在靜態圖和動態上各試好幾個壓縮力度,並給每個結果打分,看它的亮度和原圖有多接近。動態部分會抽 6 幀,這幾幀的平均分和最差的一幀,都要過線。它留下過關的最小結果。如果都沒過,就用試過的最輕的那一檔;如果每次試出來都比原來還大,拾映就當它「壓不動」。動態部分的長邊不超過 1920 像素。查找從這支手機上上一張的落點開始,不用每次從頭試。

為什麼這樣做: 照片各不相同:有的丟掉很多資料也看不出來,有的幾乎不能丟。固定一個參數,就是一視同仁地對待它們,所以標準壓縮讓每張照片自己找自己的檔位。目標是「差別很難看出來」的最小大小。相似度的分數代替你的眼睛,而對比頁讓你可以用自己的眼睛再核一遍。

壓縮做了什麼,怎麼自己核對?

壓縮前後,同一格左右拖動對比

做法: 影片壓縮完成後,點「對比」。兩個版本疊在同一個畫面上,拖動分隔線:左邊是原始影片,右邊是壓縮版,同一格直接對照。如果兩個版本的時長不一樣(例如慢動作),同時播放必然錯格,拾映就改成在兩個版本之間切換,不去偽造同一格。

為什麼這樣做: 靠眼睛判斷,需要兩邊是同一格,所以兩個播放器疊在一起,上面那個按分隔線裁開。時間軸對不上時,在兩個版本之間切換,比一條會顯示兩個不同瞬間的滑桿更誠實。

比較壓縮後的原況照片:「壓縮前後對比」,兩邊一起動

做法: 壓縮後的原況照片,對比頁的標題是「壓縮前後對比」。兩側標著「壓縮前」和「壓縮後」,下面寫著各自的大小。頁面上有一行「按住畫面,兩邊的原況一起動」,按住畫面,兩個版本就一起播放。如果壓縮後的原況照片還沒準備好,頁面會寫「壓縮後的原況照片正在載入」。「只取幀」那種結果的對比,仍然叫「靜態版對比」,因為它確實是一張靜態副本。

為什麼這樣做: 壓縮後的原況照片仍然是原況照片,所以把另一邊叫作「靜態版」是不對的。按住畫面就能看兩邊的動態,這本來也是判斷一張原況照片的方式。

影片對比可以全螢幕;照片和影片都最多放大 4 倍

做法: 影片對比有全螢幕模式。它用的是同一對播放器,所以分隔線的位置、播放進度和縮放都原樣保留,螢幕也能跟著手機橫過來。退出全螢幕,就回到直立。照片和影片用同一個縮放範圍,從 1 倍到 4 倍。

為什麼這樣做: 放大是看細節的辦法,兩種媒體的上限不一樣會讓人困惑:要是各寫各的,照片可能能放大 4 倍,影片卻能被拖出一片黑邊。所以由同一個函式給兩者定範圍。

滑桿對比頁只在打開的時候,同時解碼兩支影片

做法: 為了在同一格上對比,滑桿對比頁會同時解碼兩支影片。這份額外的負擔只在頁面打開期間存在:進背景就暫停,離開頁面全部拆掉,也不循環播放。播完,就回到暫停的狀態。

為什麼這樣做: 同時跑兩個解碼器很耗電,所以它們和頁面同生共死,你離開之後,沒有任何東西還在運行。

大小寫得老實:量到了才寫光禿禿的數字

做法: 任務卡和對比頁讀同一份大小資料,用同一個函式寫成文字。量到的實際大小,只寫數字;只有沒量到時才寫估算,並把「預計」或「約」緊貼在數字旁邊;完全量不出來,就寫「大小待確認」,絕不顯示 0。

為什麼這樣做: 顯示 0,或是悄悄拿一個估算值頂替實測值,都會讓你對「要留下什麼、要刪掉什麼」產生誤解。

什麼時候會留下原始檔,壓縮怎麼撤回?

壓了也沒省多少,就兩個版本都留著

做法: 壓縮之後,拾映會先看這個結果值不值得拿來換掉原始檔。壓縮後的影片,要小至少 10%。壓縮後的照片或原況照片,要小至少 20%,並且至少省 300 KB。如果沒過這條線,原始檔就不動,兩個版本都留著。照片、原況照片和影片,在原始檔可以被刪除之前,走的是同一道檢查。

為什麼這樣做: 重新編碼是有代價的,省得很少就不值得拿它換掉原始檔。只看百分比,仍然可能允許一次只省幾十 KB 的重新編碼,所以照片要同時過百分比和位元組數兩道關。影片有它自己的線,10%。這道檢查只在一處,三種媒體就不會各走各的。

一鍵撤回壓縮:原始檔留下,壓縮版轉進放一邊

做法: 壓縮卡片上,「對比」旁邊有一個「撤回」按鈕。點它就是保留原始檔:原始檔離開壓縮組、留在你的圖庫裡,原來的壓縮版變成一條普通的放一邊項目,之後隨你對放一邊的刪除一起走。卡片上沒有「兩版都留」「只留原始檔」「正在確認」「已確認」這些中間態。如果原始檔自己也在放一邊裡,撤回時會一併把它拿出來。

為什麼這樣做: 它被設計得和你熟悉的放一邊按鈕一樣簡單:點一下,原始檔就安全了。狀態越少,要讀的東西越少,能出錯的地方也越少。而且如果原始檔也被放一邊了,它不然就會留在待刪的那一堆裡,所以撤回時要一併拿回來。

接著看

回到拾映的細節總覽。影片的聲音、原況和縮圖有單獨一頁:拾映的影片細節。想看步驟而不是原因:蘋果手機壓縮照片怎麼做?和iPhone 影片壓縮怎麼儘量不損畫質?

拾映還沒上架,想在上架時收到郵件嗎?

拾映上架和有新功能時,我們給你發郵件提醒。不發垃圾郵件、不發廣告,隨時可以退訂。我們怎麼處理