為甚麼你的透明匯出變成黑色
Alpha 通道是每個像素在紅、綠、藍之外儲存的第四個數值。使用 H.264 或 HEVC 的 MP4 沒有位置放它。透明影格被編碼成 MP4 時,編碼器會直接丟棄 Alpha,而動畫後面原本的東西(在透明算繪中就是甚麼都沒有)就會變成黑色。
使用 VP9 的 WebM 確實帶有 Alpha,而且在 Chrome、Edge、Firefox 和任何網頁上都播放得很好。問題是 Adobe 從未為 Premiere Pro 或 After Effects 加入 WebM 支援。沒有第三方匯入器,檔案根本打不開;而部分匯入器會忽略 Alpha,你又回到黑色背景。
Figma 更加嚴格。它可以在原型中播放 MP4、MOV 和 WebM,但上載器會拒絕任何含有 Alpha 通道的檔案,而起初看似正常的透明 WebM,重新載入後就會變成黑底。Figma 不接受任何透明影片格式。
真正帶 Alpha 的格式,以及誰能讀取
MOV 容器內的 ProRes 4444 和 Animation 是廣播業界的 Alpha 標準。Premiere Pro、After Effects、Resolve 和 Final Cut 都能讀取。但它們體積龐大,而且沒有瀏覽器能編碼,所以瀏覽器工具無法提供。
帶 Alpha 的 WebM VP9:瀏覽器、CapCut、OBS、大部分系統上的 DaVinci Resolve 和任何網頁都能讀取。Premiere Pro、After Effects 和 Figma 不能。
PNG 影像序列把每一格儲存成獨立的無損 PNG,附 8 位元直接 Alpha 通道,並按次序編號。Premiere Pro、After Effects、DaVinci Resolve、Final Cut Pro、Motion、Nuke 和 Blender 都能把編號資料夾匯入成一條片段,而所有設計工具都能讀取單張 PNG。它是唯一沒有例外的透明格式,所以我們加入的就是它。
匯出面板的 PNG 序列選項輸出的正是這個。將背景設為透明,在 MP4 和 WebM 旁邊選擇 PNG 序列,再選擇解像度和影格速率,下載的 ZIP 內就有一個裝著全部 PNG 的 frames 資料夾、一個裝著 CSV、TXT 和授權的 metadata 資料夾,以及時間軸上音訊片段的 WAV。
Premiere Pro:以影像序列方式匯入第一格
解壓下載檔案,並把資料夾放在固定的位置。Premiere 是連結影格而不是複製,之後移動資料夾就要重新連結。
選擇「檔案」再「匯入」,打開 frames 資料夾,點選第一個檔案(結尾為 00001 的那個),在對話框底部勾選「影像序列」,然後按匯入。Premiere 會把整個資料夾匯入成一條以第一格命名的片段。
影像序列會以專案的預設速率進入,所以在片段上按右鍵,選擇「修改」再「解譯素材」,把「假設此影格速率」設為你匯出時的速率:24、30 或 60。跳過這一步,60 fps 的序列就會以錯誤的速度播放。
把片段拖到素材上方的軌道。Alpha 是直接而非預乘,所以合成乾淨俐落,不用遮罩、不用 Ultra Key、也不用混合模式。如果看到暗邊,再打開「解譯素材」,確認 Alpha 通道設為「直接」。
After Effects、DaVinci Resolve 和 Final Cut Pro
After Effects:「檔案」、「匯入」、「檔案」,選擇第一格並勾選「PNG 序列」。資料夾會變成一個素材項目,像任何帶 Alpha 的圖層一樣,可以預合成、加遮罩、做軌道遮罩和加效果。影格速率同樣在「解譯素材」中設定。
DaVinci Resolve:把 frames 資料夾拖入媒體池,Resolve 會自動把編號檔案讀成一條片段。如果它顯示成一張張靜態圖片,在媒體池按右鍵切換「顯示個別影格」。影格速率在「片段屬性」中設定。
Final Cut Pro:Final Cut 把影像序列當作靜態圖片,所以最乾淨的做法是用 Compressor 或 Motion 打開資料夾(兩者都接受編號序列),再把 ProRes 4444 MOV 交給 Final Cut。另一個方法是把影格以匯出時的速率匯入 Motion 專案,再發佈成產生器。
Figma:把影格當作圖片使用
因為 Figma 不能播放帶 Alpha 的影片,PNG 序列同樣是給它的正確匯出,只是用法不同。把任何一格拖到畫布上,它就會以完整解像度成為透明圖片,正適合用於實物模型、主視覺區塊、應用程式畫面和簡報投影片。
想在原型中加入動態,可以從動畫中挑選幾格,用 Smart Animate 串成流程,或使用社群插件把 PNG 序列轉成動畫圖層。如果 Figma 原型需要的是真正的影片而透明與否並不重要,就改為匯出 MP4,並先在編輯器中設定相配的背景顏色。
控制序列的大小
PNG 序列是無損的,所以體積隨影格數目和每格不透明的比例而增長。五秒的 1080p 透明背景片段通常是 50 至 100 MB。同一條片段改為 60 秒、60 fps,就超過 3000 格、超過 1 GB,這就是極長片段會有部分解像度變灰的原因。
除非專案真的以 60 fps 運行,否則以 24 或 30 fps 匯出。大部分廣播和社交平台時間軸都是 24、25 或 30,片段反正也會被調整至序列速率。
以實際使用的尺寸匯出,而不是最大的尺寸。放在 1080p 時間軸上的下方字幕條,用 4K 影格除了匯入更慢之外甚麼也得不到。
讓透明背景保持透明。圖片或純色背景會令每一格變成完整的圖片,體積會放大數倍。
WebM 仍然是正確選擇的時候
帶 Alpha 的 WebM 仍然是網頁上最好的格式。video 元素可以把它疊在任何背景上播放,體積只是 GIF 的一小部分,也不需要播放器程式庫。它同樣是 CapCut 和 OBS 直播疊加層的正確選擇。
規則很簡單。放到網頁、CapCut 或直播:WebM。放到 Premiere Pro、After Effects、Resolve、Final Cut 或 Figma:PNG 序列。以帶自己背景的平面影片放到任何地方:MP4。
常見問題
可以匯出 ProRes 4444 或帶 Alpha 的 MOV 嗎?
瀏覽器做不到。沒有瀏覽器內置 ProRes 編碼器,所以所有提供 ProRes 的網上工具都是在伺服器上算繪。PNG 序列是無損的,而且能匯入同一批剪輯軟件;如果客戶要求 MOV,用 Adobe Media Encoder、Compressor 或 Shutter Encoder 一步就能轉成 ProRes 4444。
為甚麼序列匯入後速度不對?
剪輯軟件會給影像序列套用專案的預設影格速率,因為檔案本身不帶時間資訊。在 Premiere 和 After Effects 的「解譯素材」或 Resolve 的「片段屬性」中,把速率設為檔案名稱裏的數值;檔名記錄了每次匯出的解像度、影格速率和時長。