動畫 GIF (.gif)

CompuServe 標準

圖形交換格式(GIF)是一種基於 8 位元色盤的點陣圖格式,由 CompuServe 開發,因在早期網路上普及短篇循環動畫而聞名全球。

將 GIF 轉換為 MP4

免費的瀏覽器端 GIF 轉 MP4 轉換器。在您的裝置上即時轉換檔案。

線上壓縮 GIF

具隱私保障 - 檔案絕不會離開您的裝置

檢查與中繼資料

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 GIF 檔案:

在這裡選擇或拖放檔案

私密 - 檔案絕不會離開您的裝置

或貼上 Ctrl+V
零網路傳輸隱私保證: 0 位元組上傳至外部伺服器。所有處理皆在本機瀏覽器沙箱中進行。

位元組層級標頭簽章(檔案簽章)

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 GIF 檔案:

十六進位簽章(偏移量 0):

47 49 46 38

ASCII 表示法: GIF8

標準化: CompuServe GIF87a / GIF89a 規格

技術規格

容器架構基於串流的色盤圖片格式,帶有區塊標頭與結尾(0x3B)
壓縮Lempel-Ziv-Welch (LZW) 無損字典壓縮
位元組序畫布尺寸與延遲計時器採用小端序(Little-Endian)
色彩空間索引式 8 位元色盤(每張影格最多 256 色)
色版與結構帶有 1 位元二元透明度(開/關)的索引色盤
最大尺寸65,535 x 65,535 像素(2 位元組無號整數)
透明度1 位元二元透明度(標記為透明的單一色彩索引)
串流與漸進式基本規格支援 4 道交錯掃描演算法

技術比較矩陣:GIF 對比競爭格式

技術屬性GIF (目前)動態 WebPMP4 (H.264)APNG
檔案大小非常大(影片影格的壓縮效果差)通常小於 GIF;結果取決於圖片內容與編碼設定可以小於 GIF;結果取決於圖片內容與編碼設定中等
色彩支援每張影格最多 256 色約 1,670 萬種色彩(16.7 million,24 位元全彩)約 1,670 萬種色彩(16.7 million,YUV 4:2:0)約 1,670 萬種色彩(16.7 million,24 位元全彩)
透明度僅支援 1 位元二元透明度(邊緣有鋸齒)完整的 8 位元平滑 alpha 通道無原生透明度完整的 8 位元平滑 alpha 通道
平台支援在許多目前與舊版平台上獲得廣泛支援受到許多目前的瀏覽器支援;可用性各有不同受到許多影片播放器與瀏覽器支援;可用性各有不同受到許多目前的瀏覽器支援;可用性各有不同

常見損壞模式與十六進位修復指南

動畫僅播放部分即凍結,或圖片檢視器回報未預期的 EOF。

根本原因: 因下載不完整而缺少結尾標記位元組 0x3B(分號)。

修復: 使用十六進位編輯器在檔案結尾附加位元組 0x3B。

安全性分析與解析器攻擊向量

GIF 檔案很簡單,但歷史上曾遭受 LZW 擴充緩衝區溢位攻擊與 GIFAR 多格式檔案(polyglot)攻擊。

已知攻擊向量

  • 較舊的原生解碼器中的 LZW 緩衝區溢位漏洞。
  • GIFAR 多格式檔案攻擊:精心製作同時是有效 GIF 與有效 Java JAR 的檔案,以繞過上傳過濾器。

防禦最佳實務: 即時將使用者上傳的動態 GIF 轉碼為 MP4 或動態 WebP,以節省頻寬並消除多格式檔案威脅。

歷史起源與里程碑

2006涵蓋 LZW 壓縮的所有全球專利到期,使 GIF 完全成為公有領域。
1995Netscape 2.0 引入應用程式擴充區塊,支援無限動畫循環。
1989CompuServe 發布 GIF89a 規格,新增動畫與透明色彩。
1987史蒂夫・威爾海特與 CompuServe 發布 GIF87a,以便透過撥接數據機傳輸彩色圖形。

主要優勢與優點

  • GIF 受到許多瀏覽器和圖片工具支援,不過各個平台與通訊應用程式的支援度不盡相同。
  • 可即時播放,無須進行視訊編解碼器協商或受授權限制。
  • 在其 256 色色盤內進行無損壓縮。

技術限制與缺點

  • 嚴格受限於 256 色調色盤(會對相片造成嚴重的色彩斷層)。
  • 與現代的 MP4、WebM 或動態 WebP 影片格式相比,檔案大小大得多、效率極差(通常大上 5 倍到 10 倍)。
  • 1 位元二元透明度會在非白色背景上產生鋸齒狀的像素邊緣(沒有 alpha 混合)。

有趣的技術冷知識

  • 創作者 Steve Wilhite 於 2013 年公開澄清,正確的發音是以軟 G 發音的「JIF」。
  • 循環動畫並非官方 CompuServe 規格的一部分;網景(Netscape)於 1995 年加入了「NETSCAPE2.0」擴充區塊。
  • 在 1994 年,Unisys 宣布將積極對開發 GIF 工具的開發人員執行其 LZW 軟體專利,這直接促使開源社群發明可攜式網路圖形(PNG)格式,作為免專利費的替代方案。

常見技術問題

為什麼動態 GIF 比 MP4 影片大得多?

GIF 於 1987 年設計為靜態圖片格式。它缺少現代影片壓縮概念,例如影格間移動向量、巨集區塊與時間預測編碼。它將每張影格儲存為完整的獨立點陣圖,因而導致龐大的檔案大小。

我要如何縮減 GIF 的大小?

您可以減少調色盤中的顏色數量、降低影格率(例如從 30 fps 降至 15 fps)、縮小像素尺寸,或直接將檔案轉換為較新的動態 WebP 或 MP4。

GIF 支援聲音或音訊軌道嗎?

不支援。CompuServe GIF 規格完全是針對點陣圖影格與時間延遲而建構的;它不包含音訊串流的資料結構或同步容器。看似播放「帶聲音的 GIF」的現代平台,實際上提供的是靜音或可取消靜音的 MP4/WebM 影片檔案。