Token导航 LogoToken导航

Agent Skill · 开发

ffmpeg-video-processing(ffmpeg 视频处理)

用于辅助视频生成、动画合成、脚本化剪辑或 Remotion 等视频项目开发。它适合让 Agent 组织镜头、生成素材说明、维护合成代码或排查渲染问题。使用时需要确认分辨率、时长、素材路径和导出格式;涉及外部素材、人物肖像或商业发布时,应先核对版权授权和内容审核要求。

ffmpeg-video-processing 是开发类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为权限未标注;许可证信息还不明确,第三方扫描已通过,按安装量在开发类的 21,746 个 Skill 里排第 11,986。

总安装 1,490周安装 64GitHub Stars 23下载 522核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

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

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

命令行安装

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

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

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

用于辅助视频生成、动画合成和 Remotion 项目开发。适合组织镜头、生成素材说明或排查渲染问题。使用时需确认分辨率、时长、素材路径和导出格式。涉及外部素材或人物肖像时应核对版权授权和内容审核要求。安装方式:通过 GitHub 仓库安装,支持 Codex、Claude、Cursor、Gemini CLI。

来源仓库内路径:skills/ffmpeg-video-processing

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/chunpu/agent-skills --skill ffmpeg-video-proce…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    权限没有明确标注,第一次使用时只给一个无关紧要的任务,观察它到底读了哪些文件和网络。

常见问题

6 条

ffmpeg-video-processing 怎么安装?

在终端执行 npx skills add https://github.com/chunpu/agent-skills --skill ffmpeg-video-processing。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

ffmpeg-video-processing 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

ffmpeg-video-processing 需要什么权限?

权限级别没有明确标注。第一次使用时建议只给无关紧要的任务,观察它实际读写了哪些内容。

ffmpeg-video-processing 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

ffmpeg-video-processing 用的人多吗?

公开数据是累计安装 1,490 次,近一周安装 64 次,下载 522 次,GitHub 23 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

ffmpeg-video-processing 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
ffmpeg-video-processing

ffmpeg 视频处理 · 本页

1,49023权限未标注未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

FFmpeg 视频处理技能 · 实用场景示例

目标:提供最常用、最实用的 FFmpeg 视频处理命令,覆盖 90% 的日常需求。所有示例均经过验证,可直接复制使用。

查看视频信息

# 查看基本信息(推荐,日常用这个就够了)
ffmpeg -i input.mp4

视频转码与压缩

# MKV/AVI/WebM/MOV 转 MP4(H.264 + AAC,所有设备都能播放)
ffmpeg -i input.mkv -c:v libx264 -c:a aac output.mp4

# 1080p 视频压缩(质量优先,适合邮件/微信发送)
ffmpeg -i input.mp4 -c:v libx264 -crf 28 -preset medium output.mp4

# 720p 视频压缩(平衡大小和质量)
ffmpeg -i input.mp4 -vf "scale=1280:720" -c:v libx264 -crf 26 -preset medium output_720p.mp4

# H.265 编码,文件比 H.264 小 30-50%
ffmpeg -i input.mp4 -c:v libx265 -crf 28 -preset medium output_h265.mp4

视频裁剪与分割

# 从第 5 秒开始,截取 30 秒
ffmpeg -i input.mp4 -ss 00:00:05 -t 00:00:30 -c copy output.mp4

# 从开始到第 2 分钟
ffmpeg -i input.mp4 -to 00:02:00 -c copy output.mp4

# 从第 1 分 30 秒到结束
ffmpeg -i input.mp4 -ss 00:01:30 -c copy output.mp4

# 精确裁剪(重新编码,更准确)
ffmpeg -i input.mp4 -ss 00:00:10 -to 00:00:40 -c:v libx264 -crf 18 -c:a aac output.mp4

# 将视频分割成多个 10 分钟的片段
ffmpeg -i input.mp4 -c copy -segment_time 00:10:00 -f segment -reset_timestamps 1 output_%03d.mp4

# 按场景变化自动分割视频
ffmpeg -i input.mp4 -filter:v "select='gt(scene,0.4)',showinfo" -f null /dev/null 2>&1 | grep "pts_time:" | cut -d':' -f4 > scenes.txt

视频速度控制

# 2倍速播放(音频同时变速)
ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output_2x.mp4

# 0.5倍速播放(慢动作)
ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=2.0*PTS[v];[0:a]atempo=0.5[a]" -map "[v]" -map "[a]" output_0.5x.mp4

# 视频和音频都倒放
ffmpeg -i input.mp4 -filter_complex "[0:v]reverse[v];[0:a]areverse[a]" -map "[v]" -map "[a]" output_reversed.mp4

# 视频定格(提取某一帧,循环 3 秒,然后拼接)
ffmpeg -i input.mp4 -ss 00:00:10 -vframes 1 freeze_frame.jpg
ffmpeg -loop 1 -i freeze_frame.jpg -t 3 -c:v libx264 -pix_fmt yuv420p freeze_part.mp4
ffmpeg -i input.mp4 -to 00:00:10 -c copy before.mp4
ffmpeg -i input.mp4 -ss 00:00:10 -c copy after.mp4
echo "file 'before.mp4'" > list.txt
echo "file 'freeze_part.mp4'" >> list.txt
echo "file 'after.mp4'" >> list.txt
ffmpeg -f concat -safe 0 -i list.txt -c copy output_freeze.mp4

视频拼接与转场

# 快速拼接(不重新编码,格式必须一致)
# 首先创建 filelist.txt:
# file 'video1.mp4'
# file 'video2.mp4'
ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4

# 重新编码拼接(格式不同时使用)
ffmpeg -f concat -safe 0 -i filelist.txt -c:v libx264 -crf 18 -c:a aac output.mp4

# 淡入淡出转场(1秒转场时间)
ffmpeg -i part1.mp4 -i part2.mp4 -filter_complex "xfade=transition=fade:duration=1:offset=4" output_fade.mp4

# 其他转场效果:wipeleft, wiperight, wipeup, wipedown, slideleft, slideright, circlecrop, rectcrop, dissolve
ffmpeg -i part1.mp4 -i part2.mp4 -filter_complex "xfade=transition=wipeleft:duration=1:offset=4" output_wipe.mp4

音频处理

# 提取为 MP3(高质量)
ffmpeg -i input.mp4 -q:a 0 -map a output.mp3

# 提取为 WAV(无损,适合编辑)
ffmpeg -i input.mp4 -vn -acodec pcm_s16le -ar 44100 -ac 2 output.wav

# 音量加倍
ffmpeg -i input.mp4 -filter:a "volume=2.0" output.mp4

# 音量减半
ffmpeg -i input.mp4 -filter:a "volume=0.5" output.mp4

# 自动归一化音量(让声音大小一致)
ffmpeg -i input.mp4 -filter:a "loudnorm" output.mp4

# 完全移除音频轨道
ffmpeg -i input.mp4 -c:v copy -an output_no_audio.mp4

# 用新音频替换原视频的音频
ffmpeg -i input.mp4 -i new_audio.mp3 -c:v copy -c:a aac -map 0:v:0 -map 1:a:0 -shortest output.mp4

添加水印与元素

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

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

# 半透明水印
ffmpeg -i input.mp4 -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.mp4

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

# 动态移动的图片(从左到右移动)
ffmpeg -i input.mp4 -i moving.png -filter_complex "[1:v]format=rgba[wm];[0:v][wm]overlay=x='if(gte(t,2),-w+(t-2)*200,NAN)':y=100" output_moving_element.mp4

视频特效与调色

# 黑白效果
ffmpeg -i input.mp4 -vf "format=gray" output_gray.mp4

# 复古/旧电影效果
ffmpeg -i input.mp4 -vf "colorchannelmixer=.3:.4:.3:0:.3:.4:.3:0:.3:.4:.3,eq=gamma=0.8:contrast=1.2" output_vintage.mp4

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

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

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

# 高级调色(亮度、对比度、饱和度、伽马值)
ffmpeg -i input.mp4 -vf "eq=brightness=0.1:contrast=1.2:saturation=1.3:gamma=1.1" output_color.mp4

# 曲线调色(模拟 LUT 效果)
ffmpeg -i input.mp4 -vf "curves=preset=strong_contrast" output_curves.mp4

# 其他曲线预设:color_negative, cross_process, darker, increase_contrast, lighter, linear_contrast, medium_contrast, negative, strong_contrast, vintage

# 动态缩放聚焦(从 1.0 倍缩放到 2.0 倍)
ffmpeg -i input.mp4 -vf "zoompan=z='min(zoom+0.01,2)':d=125" output_zoom.mp4

# 画面稳定(视频防抖)
ffmpeg -i input.mp4 -vf "vidstabdetect=shakiness=10:accuracy=15:result=transforms.trf" -f null /dev/null
ffmpeg -i input.mp4 -vf "vidstabtransform=input=transforms.trf:smoothing=30:optzoom=2" output_stabilized.mp4

# 隐私马赛克(人脸或指定区域打码)
ffmpeg -i input.mp4 -vf "drawbox=x=100:y=100:w=200:h=200:color=black:t=fill" output_box.mp4

# 像素化马赛克效果
ffmpeg -i input.mp4 -vf "crop=200:200:100:100,scale=10:10,scale=200:200:flags=neighbor[mask];[in][mask]overlay=100:100" output_pixelate.mp4

字幕处理

# 添加 SRT 字幕文件到视频(硬编码字幕,所有播放器都能显示)
ffmpeg -i input.mp4 -vf "subtitles=subtitle.srt" output_with_subs.mp4

# 添加 ASS 字幕文件(支持更丰富的样式)
ffmpeg -i input.mp4 -vf "ass=subtitle.ass" output_with_ass.mp4

# 从视频中提取字幕流
ffmpeg -i input.mp4 -map 0:s:0 -c:s copy subtitle.srt

# 内嵌字幕到视频(软字幕,可开关)
ffmpeg -i input.mp4 -i subtitle.srt -c copy -c:s mov_text output_with_softsubs.mp4

# 调整字幕样式(字体、大小、颜色)
ffmpeg -i input.mp4 -vf "subtitles=subtitle.srt:force_style='FontName=Arial,FontSize=24,PrimaryColour=&Hffffff&'" output_styled_subs.mp4

画面变换

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

# 1080p 转 720p
ffmpeg -i input.mp4 -vf "scale=1280:720" output_720p.mp4

# 固定宽度,高度按比例(宽度 1280)
ffmpeg -i input.mp4 -vf "scale=1280:-1" output.mp4

# 固定高度,宽度按比例(高度 720)
ffmpeg -i input.mp4 -vf "scale=-1:720" output.mp4

# 改为 30 fps
ffmpeg -i input.mp4 -r 30 output.mp4

# 改为 60 fps(插帧,更流畅)
ffmpeg -i input.mp4 -vf "minterpolate=fps=60" output_60fps.mp4

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

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

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

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

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

# 淡入效果
ffmpeg -i input.mp4 -vf "fade=in:start_frame=0:nb_frames=30" output_fadein.mp4

# 淡出效果
ffmpeg -i input.mp4 -vf "fade=out:start_frame=100:nb_frames=30" output_fadeout.mp4

导出与生成

# 视频转 GIF(简单转换,适合小视频)
ffmpeg -i input.mp4 -vf "fps=10,scale=480:-1:flags=lanczos" -c:v gif output.gif

# 高质量 GIF 转换(两步法,推荐)
ffmpeg -i input.mp4 -vf "fps=10,scale=480:-1:flags=lanczos,palettegen" palette.png
ffmpeg -i input.mp4 -i palette.png -filter_complex "fps=10,scale=480:-1:flags=lanczos[x];[x][1:v]paletteuse" output.gif

# 提取第一帧
ffmpeg -i input.mp4 -vframes 1 first_frame.jpg

# 提取最后一帧(推荐方法)
# -sseof -1 从结束前 1 秒开始,-update 1 不断更新最终只保留最后一帧
ffmpeg -sseof -1 -i input.mp4 -update 1 -q:v 1 last_frame.jpg

# 从第 5 秒获取一帧作为缩略图
ffmpeg -i input.mp4 -ss 00:00:05 -vframes 1 thumbnail.jpg

# 生成 10 张缩略图(均匀分布)
ffmpeg -i input.mp4 -vf "select='not(mod(n\,floor(N/10)))'" -vframes 10 thumbnail_%04d.jpg

# 提取所有关键帧
ffmpeg -i input.mp4 -vf "select='eq(pict_type,PICT_TYPE_I)'" -vsync vfr keyframe_%04d.jpg

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

# 多张图片序列转视频(image_001.jpg, image_002.jpg...)
ffmpeg -framerate 24 -i image_%03d.jpg -c:v libx264 -pix_fmt yuv420p output_sequence.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_fade_image.mp4

批量处理

# 批量转换为 MP4
for file in *.mkv *.avi *.webm *.mov; do
    if [ -f "$file" ]; then
        ffmpeg -i "$file" -c:v libx264 -c:a aac "${file%.*}.mp4"
    fi
done

# 批量压缩
for file in *.mp4; do
    ffmpeg -i "$file" -c:v libx264 -crf 28 -preset medium "compressed_$file"
done

# 批量生成缩略图
for file in *.mp4; do
    ffmpeg -i "$file" -ss 00:00:05 -vframes 1 "${file%.mp4}_thumb.jpg"
done

常见问题修复

# 音视频不同步,重新排序时间戳
ffmpeg -i input.mp4 -c copy -fflags +genpts output.mp4

# 修复损坏的视频
ffmpeg -i input.mp4 -c copy -avoid_negative_ts 1 output.mp4

参数速查表

常用编码参数

参数说明
-c:v libx264H.264 视频编码(兼容性最好)
-c:v libx265H.265/HEVC 视频编码(文件更小)
-c:a aacAAC 音频编码
-crf 18-28恒定质量因子(18=最好,28=较小)
-preset medium编码速度预设
-c copy直接复制流,不重新编码

常用滤镜参数

滤镜说明
scale=w:h调整分辨率
crop=w:h:x:y裁剪画面
transpose=1/2旋转视频
hflip/vflip水平/垂直翻转
drawtext添加文字
overlay叠加图片/视频
setpts=0.5*PTS视频变速
atempo=2.0音频变速
reverse视频倒放
areverse音频倒放
subtitles=file.srt添加字幕
eq=brightness=x:contrast=y调色
curves=preset=xxx曲线调色
boxblur=5:1模糊效果
unsharp=5:5:1.5锐化效果
format=gray黑白效果
fade=in/out淡入淡出
xfade=transition=xxx转场效果
zoompan缩放聚焦
vidstabdetect/transform画面稳定
select='eq(pict_type,PICT_TYPE_I)'提取关键帧

平台分布

Codex

34.28%
按下载量换算179

Claude

28.15%
按下载量换算147

Cursor

19%
按下载量换算99

Gemini CLI

8.59%
按下载量换算45

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

权限未标注

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

安装前确认

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

继续浏览同类 Skills