Linux/Windows 上採用 ffmpeg 批量將 apng 轉換 gif
AI 近期的發展真的很值得令人讚揚,其中任何問題都能盡可能的找到解決方法,例如動態貼圖能不能轉檔成為 gif 就如同下面試作可達成
Chrome 瀏覽器安裝 https://lsp.brownsugar.work/
打包好的 zip 解壓縮後,在 Animation 的動態 png 檔案透過 ffmpeg 轉檔為 gif
(下列指令則為在 Linux 指令終端中可執行轉檔指令後將原無用png檔案直接刪除)
for f in *.png; do ffmpeg -i "$f" -filter_complex "[0:v] split [a][b]; [a] palettegen=reserve_transparent=on [p]; [b][p] paletteuse" "${f%.*}.gif" && rm "$f"; done
如果要在 Windows 上面執行的話則需要 bat 達到相同功能
在 bat 檔案輸入
@echo off
setlocal enabledelayedexpansion
:: 檢查資料夾內是否有 png 檔案
if not exist "*.png" (
echo 找不到任何 .png 檔案!
pause
exit
)
for %%f in (*.png) do (
echo 正在處理透明動畫: %%f
:: 執行 FFmpeg 轉換 (保留透明調色盤)
ffmpeg -i "%%f" -filter_complex "[0:v] split [a][b]; [a] palettegen=reserve_transparent=on [p]; [b][p] paletteuse" "%%~nf.gif" -y
:: 檢查是否轉換成功
if %errorlevel% equ 0 (
echo [成功] %%~nf.gif 已完成,刪除原始檔。
del "%%f"
) else (
echo [錯誤] %%f 轉換失敗,保留原始檔。
)
)
echo.
echo 所有工作已完成!
pause
這是一則筆記也希望能幫助到有需要的人。
留言