影片抽格教學
「抽格」是把連續的影片畫面,按照一定間隔取出成一張張靜態圖片的過程。 抽出來的影格可以組成精靈圖、做成 GIF,或作為美術參考。 這頁說明抽格的原理與實務上的取捨。
一、抽格頻率怎麼決定?
假設你要把一段 2 秒的影片做成精靈圖,希望播放起來是流暢的 12 fps,
那麼就需要 2 秒 × 12 格/秒 = 24 格。
這是抽格最基本的計算:格數 = 片段長度 × 目標播放速率。
反過來說,如果你已經決定要抽 12 格,而片段是 2 秒,
那麼每格之間的時間間隔就是 2 / 12 ≈ 0.167 秒,
播放時把每格設為 167 ms 就能還原原本的速度感。
二、等距抽格 vs 自訂時間點
| 方式 | 適用情境 | 說明 |
|---|---|---|
| 等距抽格 | 連續動作、循環動畫 | 在片段中平均取樣,可完整還原動態的節奏 |
| 自訂時間點 | 關鍵動作、分解圖 | 只取特定的關鍵畫面,例如攻擊的準備、擊中、收招 |
本站的工具採等距抽格,因為這是最能忠實還原影片動作的方式, 也最適合製作循環播放的遊戲動畫。如果你需要特定時間點,可以調整抽格區間來逼近。
三、抽格時的三個實務重點
- 片段越短越好:遊戲動畫通常只取一個動作循環(例如走路的一步), 不會把整段影片都抽格。片段越短、格數需求越少,精靈圖也越小。
- 單格尺寸依顯示需求:不需要用原始影片解析度抽格, 依角色在遊戲中實際顯示的大小設定即可,可大幅降低檔案。
- 注意首尾格重複:循環動畫的第一格與最後一格若一模一樣, 播放時會多停一格。可以把最後一格去掉,或用「來回播放」模式處理。
四、瀏覽器端抽格的原理
本站的抽格全部在您的瀏覽器內完成,原理是:
把影片載入成 <video> 元素後,
依序設定 currentTime 跳到目標時間點,
等瀏覽器解碼出該影格後,用 Canvas 的 drawImage 把畫面畫下來。
這個做法不需要上傳影片、不需要伺服器, 因此您的檔案不會離開裝置,也沒有隱私風險。 限制是抽格速度取決於瀏覽器的解碼能力—— 高解析度影片、格數很多時會比較慢,但畫質與精確度不受影響。