怎麼用
- 選擇瀏覽器能播放的 MP4、MOV 或 WebM。影片預覽是靜音的,不影響擷取。
- 移到想開始的位置按「設為起點」,再移到結束位置按「設為終點」。片段需至少 0.1 秒、最多 20 秒。
- 設定寬度、每秒幀數、播放速度及是否循環。頁面會顯示預計尺寸、格數與單圈長度。
- 按「產生 GIF」,完成後確認預覽再下載。轉換中可以取消;調整設定後需重新產生。
GIF 很大時怎麼縮小
先縮短片段,再試 240 或 320 px、5 或 8 fps。GIF 每格只有最多 256 色,照片和漸層可能出現色階;本頁逐格寫完整畫面,檔案大小依內容而變,不能保證比原影片小。加快播放只改停留時間,並不減少格數。
這頁專門調整影片片段與速度。多張圖片合成動畫請用GIF 動畫製作;已有 GIF 想縮尺寸、抽影格或減色,請用GIF 壓縮。
擷取方法與限制
格數以「片段秒數 × 每秒幀數」向上取整,將時間範圍平均分成這些格。每次設定影片的 currentTime,等待 seeked 後用 Canvas 擷取,不靠即時播放取格。各格延遲依累積時間四捨五入到 0.01 秒分配,播放速度只改延遲。
20 秒、240 格與像素上限是本頁的處理限制,不是 GIF 格式的通用上限。長寬比依原影片計算,高度取整數像素。瀏覽器不支援的編碼(如部分 HEVC/MOV)、損毀或無法取得有限長度的影片不能處理。手機記憶體、影片解碼器與背景分頁限制也可能使轉換失敗;建議保持分頁在前景,先試短片段與小尺寸。
隱私
影片與 GIF 都由瀏覽器處理,編碼在 Web Worker 執行,不呼叫外部 API、不從 CDN 載入程式庫。本頁不儲存設定到 localStorage 或 cookie,也不把檔案存到伺服器。全站可能記錄選檔、按鈕與下拉選項的操作事件,不包含檔名、檔案內容或輸入秒數。
常見問題
MP4、MOV、WebM 都能轉嗎?
要看瀏覽器能不能解碼檔案裡的影片。副檔名相同,編碼也可能不同;部分 HEVC/MOV 在某些瀏覽器無法播放。讀取失敗時會提示,可先轉成瀏覽器支援的 MP4(H.264)再試。
為什麼 GIF 比原本影片大?
本工具逐格寫入完整畫面,不使用影片格式的跨影格壓縮。照片、漸層與快速變化的畫面容易產生大檔。縮短片段、縮小寬度或降低每秒幀數,通常有助於縮小檔案;實際大小要以轉換結果為準。
每秒幀數和播放速度有什麼差別?
每秒幀數決定從原影片擷取多少畫面;播放速度只調整各格停留時間,不增加或刪除影格。0.5 倍會慢一倍、2 倍會快一倍。GIF 延遲以 0.01 秒為單位,實際播放也會受檢視軟體影響。
有哪些轉換上限?
這頁自訂片段最長 20 秒、最多 240 格、單格最多 100 萬像素、總量(寬 × 高 × 格數)最多 3,000 萬像素,輸出高度最多 1600 px。超過會提示,不會自動截短。這些限制不能保證每台手機都有足夠記憶體,遇到問題請縮小寬度或縮短片段。
GIF 有聲音嗎?關掉網頁後還能下載嗎?
輸出只包含影像,不包含影片聲音。請在關閉網頁前下載結果;本頁不會將影片或 GIF 存到伺服器,也不會儲存你的設定。
影片在哪裡處理?
讀取影片、擷取影格與 GIF 編碼都在瀏覽器內完成,本工具不會上傳檔案。全站可能記錄選檔、按鈕及下拉選項的操作事件,不包含檔名、檔案內容或輸入的秒數。
規格與來源
- gifenc 1.0.3,作者 Matt DesLauriers,MIT 授權。沿用本站已有的
gifenc.js,檔案為 npm 官方套件原檔,未經修改,在 Worker 以 CommonJS exports 與 importScripts 載入,量化為最多 256 色並編碼。來源:gifenc 原始專案;MIT 授權全文。 - 影格、調色盤與 0.01 秒延遲:W3C 公開的 GIF89a 規格。
- 影片定位事件:MDN:HTMLMediaElement seeked;編碼支援依瀏覽器的影片編碼支援而定。