惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
N
Netflix TechBlog - Medium
P
Proofpoint News Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
DataBreaches.Net
人人都是产品经理
人人都是产品经理
aimingoo的专栏
aimingoo的专栏
Stack Overflow Blog
Stack Overflow Blog
Blog — PlanetScale
Blog — PlanetScale
月光博客
月光博客
阮一峰的网络日志
阮一峰的网络日志
I
InfoQ
F
Fortinet All Blogs
J
Java Code Geeks
Last Week in AI
Last Week in AI
美团技术团队
大猫的无限游戏
大猫的无限游戏
有赞技术团队
有赞技术团队
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园_首页
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件

博客园 - 彭成刚

localforage js数据存储 localStorage 替代,可大数据存储 indexdb数据库 文件系统有 happy-opfs "editor.cursorSurroundingLines": 3, 光标周围行数 设置光标在第几行的时候滚动页面滚动条 Prettier - Code formatter BUG 读不到 根目录的 .prettierrc.js prettier.configPath 格式化失效 vue2 mounted后面括号应该没有空格 _.flow 管道函数 lodash 同步函数列表很哇塞啊 _.flow(caozuo1, caozuo2, caozuo3)(my_data) vue2 iview 组件 ref 起名规则 应该用文件名 <shouye_book_left ref="shouye_book_left" /> iview 日期组件 BUG 赋值变量选年度 然后当前年会有个蓝色底, 解决方案 :key="ccValue" ⭐️⭐️⭐️ 自定义组件 表单验证 v-model 自动更新验证 trigger: 'change' 不触发,解决方案 加 <Input v-model="formData.abc" /> vue2 iview ComfyUiApi comfyui_xy 安装-使用 mergeLeft 左合并json函数 alt+k vscode 执行 ccdev - 在editor 和 terminal 之间切换 splitTwo 分割2个元素,主要分割文件名和id等 pi.dev 试试这个cli - deepseek-flash-v4 C盘清理空间软件 c盘没空间了 Wise Disk Cleaner kceve 鼠标2口控制器 kvm 鼠标同步器 穿屏幕 快捷键 是 s + * 操作列css每个按钮a后面加竖线.css operation_class .prettierrc.js 我发现 这个格式化的配置 默认就不建议放全局,都是跟项目走的 grid-gap 在 chrome58 支持,然后chrome58 不支持 gird的gap,不支持flex的gap iview table columns.js 表头 带* 带星 renderHeader alt+F9 设置 open in terminal 打开当前文件terminal vscode idea 都设置成这个快捷键 配合 ccdev使用 ccdev go开发 cli开发 读取本地模版复制到剪切板 where.exe node 查看命令位置 powershell 注意不是 where node (新建了一个ccwhere.bat) vue2 vModel 组件绑定数据写法 ccValue reloadenv 函数 `code $PROFILE` vscode在不关闭下刷新环境变量 volta 安装记录 node多版本控制 && @native-sdk OmniVoice 记录 我觉得音色还原还不错 voiceclone-env 记录 vscode pwsh 全选快捷键 ctrl+a (powershell) ai专属使用 aitree 命令 ai配合重要命令 powershell vscode code $PROFILE 备份,配合conda使用vscode $setHideObjProp 设置js json对象属性 隐藏变量 不可枚举,post的时候不带这个变量
mp4转圆角gif.bat
彭成刚 · 2026-09-17 · via 博客园 - 彭成刚

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