數位工具

影片轉gif 怎麼做?手機、電腦、線上 3 種方法,畫質與大小兼顧

動畫 GIF 更像一本翻頁小冊,而不是縮小版的影片,它由一張張圖片疊成,每張圖片要停留多久,各自記在檔案裡。做影片轉gif 時,把拍好的影片直接丟去轉,常會碰到三種狀況,色彩變得粗糙、聲音消失,檔案還比原影片大上好幾倍。

難處不在按下轉換鈕,而在轉之前要先決定哪一段值得留、尺寸要縮到多小、影格要砍掉多少,才能讓成品小到能貼進社群貼文或聊天室,畫面又不至於糊成一團。不論用手機、電腦還是網頁工具,判斷的方式都一樣,差別只在操作介面。

這些判斷的依據,全都來自 GIF 這個格式本身的先天限制。

GIF 格式本身的三個先天限制

從 W3C 的 GIF89a 規格來看,GIF 動畫就是一張張圖片依序顯示,每張圖片可以各自記錄要停留多久。影片轉成這種格式之後,顏色的數量、聲音的有無、檔案的大小,全都得照 GIF 的規矩走。

所以 gif製作的成品,都得在這三個限制裡取捨,轉檔時要調整的每個參數,也都是在替這三件事找出折衷點。

GIF 的三個先天限制:最多 256 色、沒有聲音且速度由每格延遲決定、檔案大小隨影格數與變動面積成長
影片轉gif 時調整的每個參數,都是在 256 色上限、沒有聲音、檔案大小這三個限制之間找折衷(資料來源:W3C、MDN、web.dev)。

256 色調色盤上限與抖色

GIF 的每個像素存的不是顏色本身,而是調色盤的編號。MDN 的說明是,這個編號只有 8 位元,指向一張由 24 位元顏色組成的調色盤,所以整張圖最多只能有 256 種顏色。W3C 的 GIF89a 規格也把全域與區域色彩表的上限定在 256 種。

顏色不夠用的時候,GIF 會靠抖色(dithering)補償,也就是讓相鄰的色點交錯排列,用肉眼混出近似的顏色,代價是顆粒感變重,檔案也跟著變大。漸層、膚色、天空這類色彩細微變化的畫面最吃虧,轉出來容易出現色塊與顆粒;相對地,螢幕錄影、平面插畫這類色彩簡單的畫面,幾乎看不出差別。

另外,GIF 可以指定其中一個編號當透明色,所以只有「透明」與「不透明」兩種狀態,沒有半透明。這點對一般影片轉檔影響不大,知道有這回事就好。

GIF 沒有聲音,播放速度由每格延遲決定

GIF 的規格裡根本沒有聲音這個概念,所以影片轉成 GIF 之後,聲音一定會消失。這是格式本身的規定,不是哪個工具少了功能。內容靠聲音傳達的影片,例如說話、音樂,就不適合轉 GIF,要保留聲音只能留在 MP4;若內容需要靠對白才看得懂,可以先把字幕燒進畫面再轉。

播放速度的做法也和影片不同。GIF 的每一格各自設定「延遲時間」,單位是百分之一秒,所以影格率和每格延遲其實是同一件事的兩種說法,例如每格延遲 10(也就是 0.1 秒),就相當於每秒播 10 格。ffmpeg 的 GIF 輸出同樣受這個限制,兩格之間的延遲不能小於百分之一秒。

至於要不要重複播放,由「循環次數」決定。ffmpeg 輸出的 GIF 預設無限循環,可以用 loop 參數調整,設成 -1 就不循環。

檔案大小取決於影格數和畫面變動範圍

GIF 沒有影片那種預測畫面動態的壓縮方式。依 MDN 的說明,第一個完整尺寸的影格之後,每一格只提供畫面上有變化的部分,所以檔案大小大致隨「影格數乘上畫面變動的面積」成長。背景不動、只有一小塊在動的素材,例如螢幕錄影,檔案就會小很多;ffmpeg 的 paletteuse 濾鏡有個 diff_mode=rectangle 選項,只重新處理變動的矩形,文件也說明它類似 GIF 的裁切與位移壓縮機制。

拍攝出來的影片每一格多少都在變,所以通常比同長度的 MP4 大得多。web.dev 舉過一個例子:同一段動畫,GIF 是 3.7 MB,轉成 MP4 只剩 551 KB,轉成 WebM 則是 341 KB,約分別減少 85% 與 91%,文中也直言動畫 GIF 可以非常大。

這也是轉檔前要先剪短、縮小、降影格率的原因,檔案一旦太大,許多平台就會直接拒收。

轉檔前先規劃片段長度、尺寸、影格率和色彩數

動手轉檔之前,有三個旋鈕要先想好:片段多長、畫面多大、每秒幾格。不論用哪種工具,這三件事的調整方向都一樣,也是製作gif 時最核心的判斷。

最終用途要一起放進考量。貼到社群或聊天室,得先看該平台能收多大的檔案;放在自己的網頁上,則可以考慮乾脆改用 MP4。

剪短片段、縮小尺寸、降低影格率與減少色彩數,各自讓 GIF 檔案變小的幅度與代價
寬和高各縮一半,像素量只剩四分之一;片段長度與影格率減半,檔案大致少一半;降低色彩數則要承受漸層的色階斷層。

片段愈短,檔案愈好控制

檔案大小與影格數成比例成長,同樣的畫面剪掉一半時間,檔案大致就少一半。GIF 適合 2 到 6 秒左右、只含一個動作的循環片段,所以先在原影片裡找出動作開始到結束的那一段,頭尾各多留半秒,起訖點選在動作自然循環的位置,循環播放時接縫處才不會突兀。

各個工具也有長度上限。ezgif 的影片轉GIF 頁依影格率動態限制長度,5 fps 最多轉 60 秒,10 fps 最多 30 秒,影格率再高則更短;Adobe Express 的影片轉GIF 頁則寫明影片長度最多 1 分鐘。內容真的很長的話,改成 MP4 會合理得多。

縮小尺寸和降低影格率最能減少檔案大小

寬度縮小與影格率下調,是兩個減幅最大、畫質損失又還能接受的旋鈕。尺寸縮小的效果是面積級的,寬和高各縮一半,像素量就只剩四分之一;影格率則是線性減少,每秒少一半的格數,檔案大致少一半。社群貼文與聊天室多半用不到原影片的 1080p,縮小之後肉眼看不出太大差別。

影格率降低的代價是動作會變得不連貫。多數情況下,10 到 15 fps 已經足夠順暢,影格愈少,檔案愈小,動作也愈跳。

縮放時要保持原本的長寬比,只指定寬度或高度其中一邊,讓另一邊自動計算,避免畫面被拉伸變形。至於縮到多少像素最合適,要看目標平台的規定。

色彩數與抖色方式的取捨

色彩數可以主動降到 256 以下,例如 128 色或 64 色,換取更小的檔案,代價是漸層出現明顯的色階斷層。抖色開得愈強,漸層愈平滑,但顆粒感愈明顯,檔案也愈大;關掉抖色則檔案最小,漸層會變成一塊塊的色塊。這是畫質對檔案大小的取捨,沒有唯一的正解。

內容不同,影響也不同。平面圖形、螢幕錄影降色數幾乎看不出差別;真實拍攝的畫面,降色數與關閉抖色都會明顯變差。各工具對這個旋鈕的叫法也不一樣,ffmpeg 可以直接指定色彩數與抖色演算法,Adobe Express 則用大、中、小三種檔案大小選項取代細項,大的畫質最高,中的適合社群分享,小的則方便到處傳送。

手機內建功能轉 GIF 的做法與限制

不想另外安裝 App 的話,多半會先從手機內建功能下手。這條路的限制也很明確,手機內建的功能多半只能選一段素材、簡單裁剪就輸出,沒辦法精細控制影格率與色彩數,而且每種功能能用的素材來源也不一樣。

輸出後若檔案仍然太大,就得回到電腦或線上工具再壓縮。

iPhone 透過捷徑 App 的 Make GIF 動作轉檔

iPhone 沒有「存成 GIF」的按鈕,內建的做法要透過捷徑 App。捷徑 App 提供一個 Make GIF(製作 GIF)動作,Apple 的捷徑使用手冊就以它舉例,先取得最近拍的照片,再把這些照片組成一張動畫 GIF。比較省事的做法是直接用圖庫裡的現成捷徑,在捷徑 App 的圖庫搜尋 GIF,就能找到用到這類動作的捷徑,加入後執行,再依畫面指示選擇素材並儲存。

現成捷徑的名稱與步驟會隨系統版本調整,Apple 也沒有公開影格率或尺寸這類選項的說明,細節以手機上實際看到的畫面為準。想自己掌握流程的話,也可以新建一個捷徑,把 Make GIF 動作串進去。

容易混淆的是照片 App 裡 Live Photo 的「循環」與「來回」效果,這兩種效果並不會另存出 GIF 檔。要把 Live Photo 變成 GIF,一樣得透過含有 Make GIF 動作的捷徑。

Android 的 Google 相簿與 Galaxy 的 AI select

Android 沒有統一的「影片存成 GIF」選項。Google 相簿的「動畫」功能,可以把選取的照片和影片組成快速播放的動畫 GIF,Android 版從底部的「建立」點「動畫」,再挑照片即可;說明頁的電腦版操作則寫明,先選一個項目,再加選最多 49 個。這個功能比較像把素材依序快速播放,說明頁也註明無法加快或放慢速度;它沒辦法精準剪出影片中的某一段,比較適合把幾張照片與短片段串在一起。

Samsung Galaxy 的 AI select(舊稱 Smart select)走的是另一條路,做法是錄下螢幕上正在播放的內容。從邊緣面板或 S Pen 開啟 AI select 後,框選要錄的範圍,在更多選項裡選建立 GIF,挑好高畫質或標準畫質再按下錄製。依 Samsung 的說明,最長可錄 15 秒,儲存後可以在相簿裡看到。AI select 這個名稱是 One UI 6.1.1 之後才改的,手機支不支援、選單的樣子,都以自己手機上的畫面為準。

手機沒有這類內建功能的話,直接改走電腦或線上工具的做法就好。

Gboard 的 GIF 鍵不負責轉檔

很多人搜尋「轉gif」,會以為輸入法上的 GIF 鍵能把自己的影片變成 GIF。Gboard 說明頁寫的用法是點表情符號、再點 GIF,然後挑一個現成的 GIF 插入對話。

整份說明都沒有提到匯入自己的影片再轉成 GIF 的功能,這個按鍵的用途是搜尋並送出別人做好的 GIF。自己做好的 GIF 要傳出去,直接從相簿或檔案分享即可。

電腦上用 ffmpeg 與 GIMP 免費轉檔

想自己控制長度、尺寸、影格率與色彩數,電腦上的免費工具最靈活。主力是 ffmpeg,這是開源的命令列工具,一行指令就能把 MP4 轉成 GIF;GIMP 則留給需要逐格修圖的情境。

ffmpeg 的官網只提供原始碼,Windows 版要從官網下載頁連結的第三方建置取得,例如 gyan.dev 與 BtbN,macOS 則連到 evermeet.cx。解壓縮之後,把存放 ffmpeg 的資料夾路徑加進環境變數,才能直接在終端機輸入 ffmpeg。裝好之後可以用下面這行確認:

ffmpeg -versionCode language: Bash (bash)

用調色盤兩段式指令完成影片轉gif

最短的 mp4轉gif 指令只有一行:

ffmpeg -i input.mp4 output.gifCode language: Bash (bash)

這行能用,但畫質與檔案都不理想。它沿用預設調色盤,顏色對應容易偏掉,也沒有縮小尺寸與降低影格率,所以檔案通常會大上許多。

ffmpeg 濾鏡文件介紹的做法,是先用 palettegen 替這段影片產生專屬調色盤,再用 paletteuse 套用這張調色盤轉檔。這兩個步驟可以寫進同一行指令:

ffmpeg -i input.mp4 -vf "fps=10,scale=480:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" output.gifCode language: Bash (bash)

這段濾鏡鏈由幾個部分組成:

  1. fps=10 把影格率降到每秒 10 格。
  2. scale=480:-1:flags=lanczos 把寬度縮到 480 像素,高度填 -1 讓它依原長寬比自動計算,lanczos 是縮放時使用的演算法。
  3. split[s0][s1] 把畫面分成兩份,一份拿去產生調色盤,一份拿去上色。
  4. palettegen 為整段影片挑出一張專屬調色盤,預設會保留一格給透明色,所以最多是 255 色加上 1 格透明色。
  5. paletteuse 用這張調色盤替每一格上色,並預設以 sierra2_4a 抖色。
ffmpeg 實際執行最短指令與調色盤兩段式指令,輸出的 GIF 分別是 22,224 KiB 與 2,629 KiB
同一支 10 秒測試影片,最短指令輸出 1280×720、30 fps 的 GIF,兩段式指令輸出 480×270、10 fps,並產生 255 色加 1 格透明色的專屬調色盤。

同一段測試影片用兩種指令各轉一次,兩段式指令的顏色明顯更貼近原影片,檔案大小也小得多,後者主要來自縮小尺寸與降低影格率。

同一格畫面對照,調色盤兩段式指令的顏色貼近原影片,檔案從 22,224 KB 降到 2,629 KB
最短指令轉出的 GIF 漸層布滿細點,檔案是原影片 MP4 的 17 倍以上;兩段式指令的顏色貼近原影片,檔案不到最短指令的八分之一。

檔名含有中文或空格的時候,要用引號把檔名包起來:

ffmpeg -i "龐果 示範影片.mp4" output.gifCode language: Bash (bash)

把兩段式指令裡的檔名換成自己的影片,複製貼上就能轉gif,先得到第一支能用的成品,之後再依需求微調各個參數。

ffmpeg 常用參數對照及縮小檔案的指令範例

前面提到的三個旋鈕,在 ffmpeg 裡各有對應的參數:

想調整的項目對應參數
剪出片段的起點與長度-ss 起點 -t 長度
指定結束位置-to 結束位置
影格率fps=
尺寸scale=
色彩數palettegen=max_colors=64
抖色方式paletteuse=dither=bayer:bayer_scale=5
循環次數-loop(0 為無限循環,-1 為不循環)

剪片段時,-ss 放在 -i 之前和之後,行為並不相同。ffmpeg 文件的說法是,放在輸入前面,會在輸入檔裡直接跳到那個位置附近;放在輸出那一側,則是照樣解碼,再丟棄到達該位置之前的內容,所以前者通常快得多。一般剪短片段時,放在 -i 之前就可以了。-t 指定的是長度,-to 指定的是結束位置。

色彩數與抖色的參數,也能照前面談到的取捨調整。palettegen 的 max_colors 預設是 256,調成 64 就是 64 色。paletteuse 的 dither 預設是 sierra2_4a,也可以改成 bayer,或設成 none 關閉抖色;bayer 的 bayer_scale 範圍是 0 到 5,數值低,網紋較明顯但色階斷層較少,數值高,網紋較不明顯但斷層較多。

把這些參數組合起來,例如從第 3 秒開始剪出 4 秒,再壓低色彩數縮小檔案,指令會長這樣:

ffmpeg -ss 3 -t 4 -i input.mp4 -vf "fps=10,scale=480:-1:flags=lanczos,split[s0][s1];[s0]palettegen=max_colors=64[p];[s1][p]paletteuse=dither=bayer:bayer_scale=5" -loop 0 output.gifCode language: Bash (bash)
ffmpeg 剪出 4 秒、壓到 64 色並改用 bayer 抖色的指令實際執行,GIF 降到 582 KiB
從第 3 秒剪出 4 秒、壓到 64 色後,輸出 40 格、582 KiB 的 GIF,比 10 秒的兩段式版本 2,629 KiB 小得多。

GIF 本來就沒有聲音,ffmpeg 的 -an 雖然能停用音訊,對 GIF 輸出其實沒有影響,不必特別加。

想比較不同組合的效果,可以固定其他參數、一次只改一個,像是把 fps 從 10 換成 15,或把 64 色換回預設的 256 色,再對照檔案大小與畫面,才分得清每個旋鈕對成品的影響。

需要逐格修圖時用 GIMP 匯出

GIMP 不能直接開啟影片,要先把影片拆成一張張影格圖片才能處理,所以只適合需要逐格修改的情境,例如在畫面上塗改、加字,或去除某個物件。只想轉檔的話,不必走這條路。

流程是先用 ffmpeg 把影片輸出成圖片序列,再讓 GIMP 以圖層的方式開啟,每個圖層就是一格。修完之後,從選單依序點「濾鏡」、「動畫」、「最佳化(用於 GIF)」,再從檔案選單匯出成 GIF,並勾選「作為動畫」。最佳化這一步值得做,GIMP 使用手冊的範例動畫原本是 600 kB,最佳化之後只剩約 154 kB,原理是許多元素在所有圖層中都相同,只需要存一次,每個圖層只存變化的部分。

匯出對話框有三個關鍵選項。「永遠循環」決定動畫是否一直重複播放;「未指定時的每格延遲」以毫秒為單位,替沒有個別設定延遲的影格統一定速;「影格處置方式」則決定未指定時,新的一格如何疊在前一格上。這三項分別對應 GIF 的循環、延遲與只存變化部分的設計。

線上轉檔工具的用法與隱私提醒

不想裝軟體、電腦與手機都能用的路線,就是網頁上的轉檔工具。ezgif 與 Adobe Express 是兩個國際上常見的免費工具,各有限制與適合的情境。使用前要確認的重點是長度上限、檔案上限,以及影片會不會上傳到對方的伺服器。

ezgif 的影片轉GIF 頁面

ezgif 是專門處理 GIF 的免費網站,它的影片轉GIF 頁面上傳檔案上限是 200MB。轉換長度則隨影格率動態調整,5 fps 最多 60 秒,10 fps 最多 30 秒,影格率再提高,可轉的長度更短。

ezgif 影片轉GIF 頁面的上傳區,標示上傳檔案上限為 200MB
ezgif 影片轉GIF 頁面的上傳區直接標出上傳檔案上限 200MB(截圖來源:ezgif 影片轉GIF 頁面)。

頁面上可以輸入想擷取的起訖時間,選擇影格率,並設定循環次數,0 代表無限循環。轉完之後,同一站也能接著縮放與裁切,也支援帶透明通道的影片。網站會用 Cookie 分析流量、記住偏好並投放廣告,所以頁面上會出現廣告版位。

Adobe Express 的免費轉換器

Adobe Express 提供免費的線上影片轉GIF 轉換器,頁面標明免費使用、不需要信用卡。它接受 MP4,以及 MOV、WMV、AVI 等許多影片格式,拉動頁面上的把手就能設定想擷取的那一段,影片長度上限是 1 分鐘。

輸出時可以選方形、橫式或直式的比例,並有大、中、小三種檔案大小選項。選項簡單是它的特色,相對地,可以調整的細項也比較少。頁面沒有寫明使用前是否需要登入,實際以操作當下 Adobe 頁面的指示為準。

影片上傳後會暫存在對方伺服器

線上工具多半得把影片傳到別人的伺服器上處理。ezgif 的隱私說明寫明,上傳的檔案在最後一次被工具使用後最多保存 1 小時,之後會自動且安全地刪除,檔名也不會公開列出。它的影片轉GIF 頁另外提供「Local processing」(本機處理)選項,勾選後檔案只在瀏覽器裡處理,不會上傳到伺服器;不過轉完若接著使用還不支援本機處理的工具,檔案仍會送到伺服器。這些做法也不代表每個工具都一樣。

含有人臉、客戶內容、未公開的商品畫面,或內部簡報錄影的影片,不適合丟進線上工具,改走電腦上的 ffmpeg 做法就好,檔案完全不會離開自己的電腦。上傳前先看一下該工具的隱私說明,確認檔案保存多久,是比較穩妥的習慣。

ezgif 能調整的選項較多,影片轉GIF 頁還能選本機處理,Adobe Express 的操作步驟較精簡,依素材性質與需求選用即可。

依素材隱私、需要控制的細節與裝置,判斷影片轉gif 該走電腦 ffmpeg、手機內建功能或線上工具
含人臉或客戶內容的影片走電腦上的 ffmpeg,要細調參數也選電腦;只想在手機上快速完成就用內建功能,其餘情境再考慮線上工具。

各社群平台對 GIF 的支援與大小限制

做 GIF 多半是為了貼到某個平台,所以得先知道目標平台能收什麼。各平台的規格常常調整,而且多數平台的說明頁並沒有明載「直接上傳自製 .gif 檔」的規格。

另外要留意,平台常把上傳的 GIF 轉成影片播放,實際大小以平台上傳時的提示為準。

X 的開發者文件明載動畫 GIF 規格

X 的開發者文件對動畫 GIF 的規格寫得最具體,檔案不超過 15 MB;文件也提醒,即使檔案大小符合,發文時仍可能失敗,建議同時遵守解析度不超過 1280×1080(寬乘高)、影格數不超過 350、總像素(寬乘高乘影格數)不超過 3 億這幾項限制。

這幾個數字之間會互相牽制。寬 1280、高 720 的 GIF,影格數超過約 325 格,總像素就會超標,所以要同時縮小尺寸並控制影格數,不能只盯著檔案大小。一般使用者在 X 介面上傳時的限制,以上傳時看到的提示為準。

Discord 依帳號方案限制上傳檔案大小

Discord 上傳 GIF 就是一般的檔案上傳,受檔案大小上限約束。依 Discord 的說明,未訂閱 Nitro 的帳號,單一檔案上限是 20MB;Nitro Basic 是 50MB,Nitro 的上限更高。這類數字會隨平台政策調整,上傳前以說明中心的最新內容為準。

Discord 說明中也提到,現在是在壓縮之前就檢查檔案大小,Android 手機的原始檔案往往比較大,可能比以前更常碰到上限。GIF 超過上限時,回頭用前面談過的方法,縮小尺寸、降低影格率,通常就能處理。

Facebook 和 Instagram 沒有明載 GIF 上傳規格

Instagram 內建的 GIF 功能是從現成的 GIF 圖庫挑選,不是上傳自己的檔案。在限時動態裡點貼圖,就會看到 GIF 選項;私訊聊天室的部分,依 Instagram 說明中心的說明,打開對話後點右下角的貼圖圖示,就能挑選 GIF 或貼圖傳送。這兩個地方都能輸入關鍵字,搜尋現成的動圖。

至於在 Facebook 或 Instagram 的一般貼文,直接上傳自己製作的 .gif 檔,兩個平台的說明文件都沒有明載規格,所以這裡不寫數字,以上傳時的提示為準。需要穩定上傳到動態牆的話,退一步改用 MP4,通常是比較穩妥的做法。

LINE 動態貼圖要用 APNG 而不是 GIF

LINE Creators Market 明載規格的是「動態貼圖」,格式是 APNG 而不是 GIF,副檔名為 .png。規格包括尺寸最大 320×270 像素、影格 5 到 20 張、可循環 1 到 4 次、播放時間最長 4 秒,單張檔案要在 1MB 以內,並且需要透明背景。所以拿 GIF 去上架動態貼圖行不通,得先轉成 APNG。

換句話說,「在聊天室傳動圖」和「製作動態貼圖」是兩回事。在聊天室直接傳 GIF 檔的規格,LINE 沒有明確說明,以實際傳送時的結果為準。

GIF 和 MP4、WebP、APNG 的適用情境

做完才發現檔案還是太大,或畫質不如預期,有時問題不在參數沒調好,而是這個用途本來就該換個格式。原則很單純,要貼在只收 GIF 的地方就用 GIF,其他情境優先考慮影片。

格式色彩聲音透明檔案大小傾向相容性
GIF最多 256 色無有,但只有全透明與不透明動態畫面時偏大最廣泛
MP4完整色彩有通常不支援通常比 GIF 小很多網頁與裝置普遍支援
APNG完整色彩無有依內容而定主要瀏覽器都支援
WebP更高的色彩深度無有壓縮率優於 PNG、JPEG 與 GIF主要瀏覽器的最新版都支援

GIF 的好處是相容性最廣,在 MDN 的描述裡,它是簡單圖像與動畫的好選擇,也因為動畫支援在社群媒體時代重新流行,常被拿來當短「影片」、迷因與簡單動畫。限制則是前面談過的那三項。

MP4 支援聲音與完整色彩,檔案通常小很多。放在自己的網頁上,web.dev 建議用 video 標籤搭配 autoplay、loop、muted、playsinline 這四個屬性,效果就像 GIF,也就是自動播放、無限循環、沒有聲音、在頁面內播放。另外,部分社群平台收到 GIF 後,也會自行轉成影片格式來播放。

APNG 是 Mozilla 引入的格式,在 PNG 的基礎上加入動畫支援,色彩深度比只有 8 位元索引色的 GIF 更多,適合不需要與聲音同步的基本動畫,LINE 的動態貼圖用的就是 APNG。

WebP 的壓縮率比 PNG、JPEG 好得多,支援動畫、透明與循環,MDN 也建議必要時準備備援格式。至於動畫序列,MDN 建議考慮 WebP、AVIF 或 APNG。

轉成 GIF 前先確認影片的使用權

把影片轉成 GIF,等於對素材做一次改作,而 GIF 又特別容易被轉貼、擴散,所以只拿自己有權使用的影片來轉。

可以放心使用的素材有三類:自己拍攝的影片、自行製作的影片,以及授權條款明確載明可以改作與散布的影片。他人的影片、電影電視片段、別人的直播錄影,沒有明確授權就不要轉成 GIF 發布。就算影片有授權,也要看條款是否允許「改作」與「商業使用」,Creative Commons 的授權條款就依可否改作、可否商用等條件,分成不同的組合。

想找能合法使用的動圖素材,先從素材的授權說明看起。

要做出一支能放上社群、大小剛好的 GIF,秒數、尺寸與顏色三件事得取得平衡。手上有影片時,先決定要放到哪個平台,再決定剪哪一段、縮到多小,影片轉gif 就不再是碰運氣,而是一連串可以調整的選擇。

常見問答

本區問答由 AI 依文章內容自動整理,僅供快速參考,正式內容仍以全文為準。

影片轉gif 之後為什麼會沒有聲音?

影片轉gif 之後沒有聲音,是因為 GIF 格式的規格裡本來就沒有聲音這個概念,不是轉檔工具少了功能。內容靠說話或音樂傳達的影片,要保留聲音只能留在 MP4;需要對白才看得懂的話,可以先把字幕燒進畫面再轉。

影片轉gif 的檔案太大該怎麼縮小?

影片轉gif 的檔案太大,最有效的是剪短片段、縮小寬度與降低影格率。寬和高各縮一半,像素量只剩四分之一;影格率減半,檔案大致少一半。還不夠小,可再把色彩數降到 128 色或 64 色,代價是漸層出現色階斷層。

ffmpeg 怎麼把 MP4 轉成畫質較好的 GIF?

ffmpeg 可以用調色盤兩段式指令,先用 palettegen 替影片產生專屬調色盤,再用 paletteuse 套用轉檔,兩個步驟寫在同一行。搭配降到每秒 10 格、寬度縮到 480 像素,顏色更貼近原影片,檔案也小得多。

iPhone 可以直接把影片轉成 GIF 嗎?

iPhone 沒有「存成 GIF」的按鈕,要透過捷徑 App 的 Make GIF(製作 GIF)動作,或在捷徑圖庫搜尋 GIF 找現成捷徑來用。照片 App 裡 Live Photo 的「循環」與「來回」效果,不會另存出 GIF 檔。

Discord 上傳 GIF 的檔案大小上限是多少?

Discord 上傳 GIF 就是一般檔案上傳,未訂閱 Nitro 的帳號單一檔案上限是 20MB,Nitro Basic 是 50MB,Nitro 的上限更高。數字會隨平台政策調整,GIF 超過上限時,縮小尺寸、降低影格率通常就能處理。

資料來源
  1. Graphics Interchange Format Version 89a — W3C
  2. Image file type and format guide — MDN
  3. Replace animated GIFs with video for faster page loads — web.dev
  4. Video to animated GIF converter — ezgif
  5. ezgif Privacy and Cookies — ezgif
  6. Free video to GIF converter — Adobe Express
  7. Make creations with Google Photos — Google 相簿
  8. Screen capture with AI select on Galaxy phones or tablets — Samsung
  9. GIMP Documentation: Optimize — GIMP
  10. Media best practices — X
  11. File Attachments FAQ — Discord
  12. Creation Guidelines: Animated Stickers — LINE Creators Market