














mp4转圆角gif.bat
@echo off
chcp 65001 >nul
title MP4 转 GIF 工具(240x240 四角 2px 圆角透明)
echo ============================================
echo MP4 转 GIF 工具(240x240 四角 2px 圆角透明)
echo ============================================
echo.
echo 请将 MP4 视频文件拖拽到本窗口,然后按回车。
echo 生成的 GIF 会保存在原视频同目录下,文件名相同。
echo.
set /p "input=请拖入视频文件: "
rem 去掉拖拽时可能带上的引号
set "input=%input:"=%"
if not exist "%input%" (
echo.
echo [错误] 找不到文件:%input%
echo.
pause
exit /b
)
rem 检查扩展名是否为 mp4
for %%F in ("%input%") do (
set "ext=%%~xF"
set "name=%%~nF"
set "dir=%%~dpF"
)
if /i not "%ext%"==".mp4" (
echo.
echo [错误] 只支持 MP4 文件,当前文件是:%ext%
echo.
pause
exit /b
)
set "output=%dir%%name%.gif"
echo.
echo 正在转换……
echo 输入:%input%
echo 输出:%output%
echo.
rem ============================================================
rem 四角 2px 圆角透明:
rem
rem 左上角:
rem (X=0,Y=0) (X=1,Y=0)
rem (X=0,Y=1)
rem
rem 右上角:
rem (X=238,Y=0) (X=239,Y=0)
rem (X=239,Y=1)
rem
rem 左下角:
rem (X=0,Y=238)
rem (X=0,Y=239) (X=1,Y=239)
rem
rem 右下角:
rem (X=239,Y=238)
rem (X=238,Y=239) (X=239,Y=239)
rem
rem 满足任意一个条件,alpha=0,否则 alpha=255
rem ============================================================
ffmpeg -y -i "%input%" -vf "fps=8,scale=240:240:force_original_aspect_ratio=decrease,pad=240:240:(ow-iw)/2:(oh-ih)/2:color=white,format=rgba,geq=r='r(X,Y)':g='g(X,Y)':b='b(X,Y)':a='if(eq(X,0)*eq(Y,0)+eq(X,1)*eq(Y,0)+eq(X,0)*eq(Y,1)+eq(X,238)*eq(Y,0)+eq(X,239)*eq(Y,0)+eq(X,239)*eq(Y,1)+eq(X,0)*eq(Y,238)+eq(X,0)*eq(Y,239)+eq(X,1)*eq(Y,239)+eq(X,239)*eq(Y,238)+eq(X,238)*eq(Y,239)+eq(X,239)*eq(Y,239),0,255)',split[s0][s1];[s0]palettegen=max_colors=128:reserve_transparent=1[p];[s1][p]paletteuse=alpha_threshold=128" -loop 0 "%output%"
if exist "%output%" (
echo.
echo [成功] GIF 已生成:%output%
) else (
echo.
echo [失败] 转换未成功,请检查 ffmpeg 是否正常运行。
)
echo.
pause
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。