Token导航 LogoToken导航TokenDH.com
图像处理权限需确认github未标认证来源可访问许可证需确认审计通过

ffmpeg-image-processingffmpeg 图像处理

Agent Skill

用于辅助图像生成、图片编辑、视觉素材处理或图像模型工作流。它适合让 Agent 根据文本生成图片、处理背景、整理视觉提示词或调用相关图像工具。使用时需要确认输入图片、版权来源、输出格式和模型限制;涉及人物、品牌、商品或公开展示素材时,应额外核对授权、真实性和内容合规边界。

总安装

1,323

周安装

53

GitHub Stars

23

下载量

428
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:ffmpeg-image-processing(ffmpeg 图像处理)
来源仓库:https://github.com/chunpu/agent-skills
仓库路径:skills/ffmpeg-image-processing
安装命令:
npx skills add https://github.com/chunpu/agent-skills --skill ffmpeg-image-processing
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/chunpu/agent-skills --skill ffmpeg-image-processing

简介

用于辅助图像生成和图片编辑工作流。ffmpeg-image-processing 属于图像处理类 Skill,可作为该场景下的辅助能力补充。

  • 适合根据文本生成图片或处理视觉提示词。
  • 使用时需确认输入图片、版权来源和输出格式。
  • 涉及人物、品牌或公开展示素材时应核对授权和真实性。
  • 安装方式:通过 GitHub 仓库安装,支持 Codex、Claude、Cursor、Gemini CLI。

SKILL.md

FFmpeg 图片处理技能 · 实用场景示例

目标:提供最常用、最实用的 FFmpeg 图片处理命令,按需求频次从高到低排序

图片属性查看

# 查看图片属性
ffmpeg -i input.jpg 2>&1

图片格式转换(最常用)

# JPG 转 PNG(无损)
ffmpeg -i input.jpg output.png

# PNG 转 JPG(质量 85)
ffmpeg -i input.png -q:v 2 output.jpg

# JPG 转 WEBP(现代格式,文件更小)
ffmpeg -i input.jpg output.webp

# PNG 转 WEBP
ffmpeg -i input.png output.webp

# WEBP 转 JPG
ffmpeg -i input.webp output.jpg

# 任意格式转 BMP
ffmpeg -i input.jpg output.bmp

# 任意格式转 TIFF
ffmpeg -i input.jpg output.tiff

图片压缩

# JPG 压缩(质量 85,推荐)
ffmpeg -i input.jpg -q:v 2 output_compressed.jpg

# JPG 压缩(质量 75,更小体积)
ffmpeg -i input.jpg -q:v 3 output_small.jpg

# JPG 压缩(质量 50,最小体积)
ffmpeg -i input.jpg -q:v 5 output_very_small.jpg

# PNG 压缩(无损)
ffmpeg -i input.png -compression_level 9 output_compressed.png

# WEBP 压缩(质量 80)
ffmpeg -i input.jpg -q:v 80 output.webp

# 批量压缩 JPG
for file in *.jpg; do
    ffmpeg -i "$file" -q:v 2 "compressed_$file"
done

图片尺寸调整

# 调整宽度为 1920,高度按比例
ffmpeg -i input.jpg -vf "scale=1920:-1" output.jpg

# 调整高度为 1080,宽度按比例
ffmpeg -i input.jpg -vf "scale=-1:1080" output.jpg

# 固定尺寸 1280x720(可能变形)
ffmpeg -i input.jpg -vf "scale=1280:720" output.jpg

# 固定尺寸并保持比例,不足部分用黑色填充
ffmpeg -i input.jpg -vf "scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2" output.jpg

# 4K 转 1080p
ffmpeg -i input_4k.jpg -vf "scale=1920:1080" output_1080p.jpg

# 缩略图(宽度 400)
ffmpeg -i input.jpg -vf "scale=400:-1" thumbnail.jpg

图片裁剪

# 从左上角裁剪 800x600
ffmpeg -i input.jpg -vf "crop=800:600:0:0" output.jpg

# 保留右上角裁剪 800x600
ffmpeg -i input.jpg -vf "crop=800:600:iw-800:0" output.jpg

# 从 (100, 50) 位置裁剪 400x300
ffmpeg -i input.jpg -vf "crop=400:300:100:50" output.jpg

# 裁剪中心区域(800x600)
ffmpeg -i input.jpg -vf "crop=800:600" output.jpg

# 裁剪为正方形(取较短边)
ffmpeg -i input.jpg -vf "crop=w=min(iw\,ih):h=min(iw\,ih)" output_square.jpg

图片旋转与翻转

# 顺时针旋转 90 度
ffmpeg -i input.jpg -vf "transpose=1" output.jpg

# 逆时针旋转 90 度
ffmpeg -i input.jpg -vf "transpose=2" output.jpg

# 旋转 180 度
ffmpeg -i input.jpg -vf "transpose=1,transpose=1" output.jpg

# 水平镜像翻转
ffmpeg -i input.jpg -vf "hflip" output.jpg

# 垂直镜像翻转
ffmpeg -i input.jpg -vf "vflip" output.jpg

图片添加水印

# 右下角添加图片水印
ffmpeg -i input.jpg -i logo.png -filter_complex "overlay=W-w-10:H-h-10" output.jpg

# 左上角添加图片水印
ffmpeg -i input.jpg -i logo.png -filter_complex "overlay=10:10" output.jpg

# 半透明水印(透明度 0.5)
ffmpeg -i input.jpg -i logo.png -filter_complex "[1:v]format=rgba,colorchannelmixer=aa=0.5[wm];[0:v][wm]overlay=W-w-10:H-h-10" output.jpg

# 居中添加图片水印
ffmpeg -i input.jpg -i logo.png -filter_complex "overlay=(W-w)/2:(H-h)/2" output.jpg

# 添加文字水印
ffmpeg -i input.jpg -vf "drawtext=text='Your Name':x=10:y=10:fontsize=36:fontcolor=white" output.jpg

# 添加半透明文字水印
ffmpeg -i input.jpg -vf "drawtext=text='Your Name':x=10:y=10:fontsize=36:fontcolor=white@0.5" output.jpg

# 文字描边
ffmpeg -i input.jpg -vf "drawtext=text='Your Name':x=10:y=10:fontsize=36:fontcolor=white:borderw=3:bordercolor=black" output.jpg

# 文字阴影
ffmpeg -i input.jpg -vf "drawtext=text='Your Name':x=12:y=12:fontsize=36:fontcolor=black,drawtext=text='Your Name':x=10:y=10:fontsize=36:fontcolor=white" output.jpg

6.1 剪切蒙版与形状

# 圆形剪切蒙版
ffmpeg -i input.jpg -vf "format=rgba,geq=r='r(X,Y)':g='g(X,Y)':b='b(X,Y)':a='if(gt(pow((X-W/2)/(W/2),2)+pow((Y-H/2)/(H/2),2),1),0,255)'" output.png

# 绘制红色矩形
ffmpeg -i input.jpg -vf "drawbox=x=100:y=100:w=200:h=150:color=red:t=5" output.jpg

# 绘制实心蓝色圆形
ffmpeg -i input.jpg -vf "drawcircle=x=300:y=200:r=50:color=blue" output.jpg

# 绘制红色箭头(使用矩形和三角形组合)
ffmpeg -i input.jpg -vf "drawbox=x=100:y=195:w=150:h=10:color=red:t=fill,drawpolygon=x=250:y=200:230:y=180:230:y=220:color=red" output.jpg

图片特效

# 黑白效果
ffmpeg -i input.jpg -vf "format=gray" output.jpg

# 复古效果
ffmpeg -i input.jpg -vf "colorchannelmixer=.3:.4:.3:0:.3:.4:.3:0:.3:.4:.3,eq=gamma=0.8:contrast=1.2" output.jpg

# 模糊效果
ffmpeg -i input.jpg -vf "boxblur=5:1" output.jpg

# 锐化效果
ffmpeg -i input.jpg -vf "unsharp=5:5:1.5" output.jpg

# 浮雕效果
ffmpeg -i input.jpg -vf "convolution='-2 -1 0:-1 1 1:0 1 2'" output.jpg

# 边缘检测
ffmpeg -i input.jpg -vf "edgedetect=mode=canny" output.jpg

# 负片效果
ffmpeg -i input.jpg -vf "curves=preset=negative" output.jpg

# 高对比度
ffmpeg -i input.jpg -vf "curves=preset=strong_contrast" output.jpg

# 调整亮度、对比度、饱和度
ffmpeg -i input.jpg -vf "eq=brightness=0.1:contrast=1.2:saturation=1.3" output.jpg

# 调整伽马值
ffmpeg -i input.jpg -vf "eq=gamma=1.2" output.jpg

# HSL 调色(调整色相、饱和度、亮度)
ffmpeg -i input.jpg -vf "hue=h=10:s=1.2:b=0.1" output.jpg

画质修复

# 去噪(轻量)
ffmpeg -i input.jpg -vf "hqdn3d=1.5:1.5:6:6" output.jpg

# 去噪(强力)
ffmpeg -i input.jpg -vf "nlmeans=s=5:p=3" output.jpg

# 人像磨皮
ffmpeg -i input.jpg -vf "hqdn3d=2:2:8:8,unsharp=3:3:-1.5:3:3:1.5" output.jpg

图片拼接

# 水平拼接两张图片
ffmpeg -i input1.jpg -i input2.jpg -filter_complex "hstack" output.jpg

# 垂直拼接两张图片
ffmpeg -i input1.jpg -i input2.jpg -filter_complex "vstack" output.jpg

# 水平拼接多张图片
ffmpeg -i input1.jpg -i input2.jpg -i input3.jpg -filter_complex "[0:v][1:v][2:v]hstack=inputs=3" output.jpg

# 2x2 网格拼接
ffmpeg -i input1.jpg -i input2.jpg -i input3.jpg -i input4.jpg -filter_complex "[0:v][1:v]hstack[top];[2:v][3:v]hstack[bottom];[top][bottom]vstack" output.jpg

# 三张图垂直等距分布(间距 20px)
ffmpeg -i input1.jpg -i input2.jpg -i input3.jpg -filter_complex "[0:v]pad=iw:ih+20[top];[top][1:v]vstack[mid];[mid]pad=iw:ih+20[mid2];[mid2][2:v]vstack" output.jpg

图片序列转视频

# 图片序列转视频(image_001.jpg, image_002.jpg...)
ffmpeg -framerate 24 -i image_%03d.jpg -c:v libx264 -pix_fmt yuv420p output.mp4

# 单张图片转视频(循环 10 秒)
ffmpeg -loop 1 -i image.jpg -t 10 -c:v libx264 -pix_fmt yuv420p -r 30 output.mp4

# 图片淡入淡出效果(2秒淡入,2秒淡出)
ffmpeg -loop 1 -i image.jpg -t 10 -vf "fade=in:0:60,fade=out:240:60" -c:v libx264 -pix_fmt yuv420p output.mp4

图片添加边框

# 添加黑色边框(上下左右各 20 像素)
ffmpeg -i input.jpg -vf "pad=w=iw+40:h=ih+40:x=20:y=20:color=black" output.jpg

# 添加白色边框(上下左右各 30 像素)
ffmpeg -i input.jpg -vf "pad=w=iw+60:h=ih+60:x=30:y=30:color=white" output.jpg

# 添加红色边框
ffmpeg -i input.jpg -vf "pad=w=iw+40:h=ih+40:x=20:y=20:color=red" output.jpg

# 画面框移动(向左移动 10 像素,右侧填充黑色)
ffmpeg -i input.jpg -vf "pad=w=iw+10:h=ih:x=10:y=0:color=black,crop=iw-10:ih:10:0" output.jpg

图片圆角

# 圆角效果(半径 50 像素)
ffmpeg -i input.jpg -vf "format=rgba,geq=r='X/W*r(X,Y)':g='X/W*g(X,Y)':b='X/W*b(X,Y)':a='if(gt(abs(X-W/2),W/2-50)*gt(abs(Y-H/2),H/2-50),0,255)'" output.png

# 更简单的方法:使用圆形遮罩
ffmpeg -i input.jpg -f lavfi -i color=c=black:s=200x200,format=gray,geq=lum='128+127*cos(2*PI*((X/W-0.5)^2+(Y/H-0.5)^2)^0.5)' -filter_complex "[1:v]scale=iw:ih[mask];[0:v][mask]alphamerge" output.png

图片批量处理

# 批量转换为 JPG
for file in *.png *.webp *.bmp; do
    if [ -f "$file" ]; then
        ffmpeg -i "$file" -q:v 2 "${file%.*}.jpg"
    fi
done

# 批量压缩
for file in *.jpg; do
    ffmpeg -i "$file" -q:v 2 "compressed_$file"
done

# 批量调整尺寸(宽度 1920)
for file in *.jpg; do
    ffmpeg -i "$file" -vf "scale=1920:-1" "resized_$file"
done

# 批量添加水印
for file in *.jpg; do
    ffmpeg -i "$file" -i logo.png -filter_complex "overlay=W-w-10:H-h-10" "watermarked_$file"
done

图片信息查看

# 查看图片基本信息
ffmpeg -i input.jpg

## 图片去除背景(简单方法)

使用 chromakey 去除绿色背景

ffmpeg -i input.jpg -vf "chromakey=0x00FF00:0.1:0.1" -c:v png output.png

使用 chromakey 去除蓝色背景

ffmpeg -i input.jpg -vf "chromakey=0x0000FF:0.1:0.1" -c:v png output.png


## 参数速查表

### 常用图片编码参数

| 参数 | 说明 |
| --- | --- |
| `-q:v 2` | JPG 高质量 |
| `-q:v 3` | JPG 中等质量 |
| `-q:v 5` | JPG 低质量 |
| `-compression_level 9` | PNG 最高压缩 |
| `-c:v copy` | 直接复制流,不重新编码 |

### 常用图片滤镜参数

| 滤镜 | 说明 |
| --- | --- |
| `scale=w:h` | 调整尺寸 |
| `crop=w:h:x:y` | 裁剪 |
| `transpose=1/2` | 旋转 |
| `hflip/vflip` | 翻转 |
| `overlay=x:y` | 叠加水印 |
| `drawtext` | 添加文字 |
| `format=gray` | 黑白 |
| `boxblur=5:1` | 模糊 |
| `unsharp=5:5:1.5` | 锐化 |
| `eq=brightness=x:contrast=y` | 调色 |
| `hue=h:s:b` | HSL 调色 |
| `pad=w:h:x:y:color=c` | 添加边框 |
| `hstack/vstack` | 拼接 |
| `hqdn3d` | 去噪 |
| `nlmeans` | 强力去噪 |
| `drawbox` | 绘制矩形 |
| `drawcircle` | 绘制圆形 |
| `drawpolygon` | 绘制多边形 |

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

38.47%
按下载量换算165

Claude

32.12%
按下载量换算137

Cursor

17.25%
按下载量换算74

Gemini CLI

9.86%
按下载量换算42

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

权限需确认

当前来源未能明确判断权限范围,默认进入异常复核队列。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills