Token导航 LogoToken导航

Agent Skill · 开发

ffmpeg-usage(ffmpeg 的使用)

ffmpeg-usage 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

ffmpeg-usage 是开发类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为执行命令;许可证信息还不明确,第三方扫描有未通过项,按安装量在开发类的 21,746 个 Skill 里排第 21,023。

总安装 196周安装 8GitHub Stars 279下载 63核验 2026-05-01

安装说明

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

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/zephyrwang6/myskill --skill ffmpeg-usage

这个 Skill 是做什么的

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

用于处理 GitHub 仓库、Issue、Pull Request 等协作信息。适合在代码变更或协作事项需要整理时调用。可结合来源仓库和原始 README 进一步核验具体用法。安装前建议确认权限范围、维护状态及是否触发联网或文件读写。

安装方式:通过 GitHub 仓库安装,支持 Codex、Claude、Cursor、Gemini CLI。

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

上手步骤

4 步
  1. 1

    确认自己的宿主工具

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

  2. 2

    拿到安装命令

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

  3. 3

    安装后重启宿主

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

  4. 4

    按最小权限试用

    它需要执行命令,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

ffmpeg-usage 怎么安装?

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

ffmpeg-usage 支持哪些 AI 工具?

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

ffmpeg-usage 需要什么权限?

权限级别是执行命令。安装流程涉及命令执行,可能通过 npx skills add https://github.com/zephyrwang6/myskill --skill ffmpeg-usage 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

ffmpeg-usage 是免费的吗?

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

ffmpeg-usage 用的人多吗?

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

ffmpeg-usage 安全吗?

第三方扫描有未通过项,风险较高。除非你确认过源码,否则不建议直接安装到常用环境。

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

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 需要执行命令,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

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

不太适合

  • 不能接受 Skill 在你机器上执行命令的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 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-usage

ffmpeg 的使用 · 本页

196279执行命令未明确未通过

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

SKILL.md 原文

ffmpeg 使用指南

概述

本技能提供基于 ffmpeg 的全面音视频处理能力,包括经过实战验证的命令和工作流,适用于常见多媒体任务、平台特定优化,以及质量与文件大小管理的最佳实践。

版本: 1.0.0 要求: ffmpeg >= 4.0,ffprobe(可选但推荐)

当用户提及视频或音频处理任务、格式转换、社交媒体优化或多媒体编辑时,Claude 应使用本技能。

适用场景

当用户需要以下操作时使用本技能:

  • 视频格式转换(MP4、WebM、MOV 等)
  • 分辨率缩放或宽高比调整
  • 从视频创建 GIF
  • 音频提取或格式转换
  • 视频编辑(裁剪、合并、变速、旋转)
  • 字幕处理(硬字幕、软字幕、提取字幕)
  • 视频压缩或优化
  • 平台特定格式化(YouTube、Instagram、TikTok、Twitter)
  • 缩略图或帧提取
  • 批量处理音视频文件

前置条件

使用本技能前,请确保已安装 ffmpeg:

# macOS
brew install ffmpeg

# Ubuntu/Debian
sudo apt-get install ffmpeg

# Windows(使用 Chocolatey)
choco install ffmpeg

验证安装:

ffmpeg -version

支持的操作

1. 格式转换

在不同视频格式之间转换,并使用优化设置。

MP4 转 WebM:

ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 -c:a libopus output.webm

MOV 转 MP4:

ffmpeg -i input.mov -c:v libx264 -c:a aac -strict experimental output.mp4

任意格式转 MP4(通用兼容):

ffmpeg -i input.* -c:v libx264 -preset medium -crf 23 -c:a aac -b:a 128k output.mp4

2. 分辨率调整

调整视频尺寸同时保持宽高比。

缩放到 720p:

ffmpeg -i input.mp4 -vf scale=-1:720 -c:a copy output_720p.mp4

缩放到 1080p:

ffmpeg -i input.mp4 -vf scale=-1:1080 -c:a copy output_1080p.mp4

缩放到指定宽度(高度自适应):

ffmpeg -i input.mp4 -vf scale=1280:-1 -c:a copy output.mp4

带填充缩放(黑边填充/信箱模式):

ffmpeg -i input.mp4 -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2" output.mp4

3. GIF 制作

从视频创建高质量 GIF,并优化文件大小。

基本 GIF(10 帧/秒):

ffmpeg -i input.mp4 -vf "fps=10,scale=480:-1:flags=lanczos" output.gif

高质量 GIF(使用调色板):

# 生成调色板
ffmpeg -i input.mp4 -vf "fps=10,scale=480:-1:flags=lanczos,palettegen" palette.png

# 使用调色板创建 GIF
ffmpeg -i input.mp4 -i palette.png -filter_complex "fps=10,scale=480:-1:flags=lanczos[x];[x][1:v]paletteuse" output.gif

从指定时间范围创建 GIF:

ffmpeg -ss 00:00:10 -t 5 -i input.mp4 -vf "fps=10,scale=480:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" output.gif

4. 音频操作

提取、转换和处理音频流。

提取音频为 MP3:

ffmpeg -i input.mp4 -vn -acodec libmp3lame -q:a 2 output.mp3

提取音频为 WAV:

ffmpeg -i input.mp4 -vn -acodec pcm_s16le -ar 44100 -ac 2 output.wav

转换音频格式:

ffmpeg -i input.wav -c:a aac -b:a 192k output.m4a

添加背景音乐:

ffmpeg -i video.mp4 -i music.mp3 -c:v copy -c:a aac -map 0:v:0 -map 1:a:0 -shortest output.mp4

混合音频(叠加):

ffmpeg -i video.mp4 -i music.mp3 -filter_complex "[0:a][1:a]amix=inputs=2:duration=first" -c:v copy output.mp4

5. 视频编辑

裁剪、拼接和修改视频。

裁剪视频:

# 从第 10 秒到第 30 秒
ffmpeg -i input.mp4 -ss 00:00:10 -to 00:00:30 -c copy output.mp4

# 基于时长(从第 5 秒开始,截取 10 秒)
ffmpeg -i input.mp4 -ss 00:00:05 -t 10 -c copy output.mp4

拼接视频:

根据格式和兼容性选择方法:

方法一:Concat 协议(推荐——无需临时文件)

# 适用于 MPEG 格式:.ts、.mpg、.mpeg、.mp3、.aac 等
# 直接拼接,无需创建列表文件
ffmpeg -i "concat:file1.mp3|file2.mp3|file3.mp3" -c copy output.mp3
ffmpeg -i "concat:video1.ts|video2.ts|video3.ts" -c copy output.ts

# 支持格式:TS、MPEG-1、MPEG-2、MP3、AAC
# 不支持:MP4、MOV、MKV(请使用方法二)

方法二:Concat 分离器(适用于 MP4、MOV、MKV)

# 使用进程替换避免临时文件
ffmpeg -f concat -safe 0 -i <(printf "file '%s'\n" video1.mp4 video2.mp4 video3.mp4) -c copy output.mp4

# 如果 shell 不支持进程替换:
printf "file '%s'\n" video1.mp4 video2.mp4 video3.mp4 > list.txt
ffmpeg -f concat -safe 0 -i list.txt -c copy output.mp4
rm list.txt

方法三:Concat 滤镜(可接受重新编码时使用)

# 当视频编码/分辨率不同时使用
ffmpeg -i video1.mp4 -i video2.mp4 -i video3.mp4 \
  -filter_complex "[0:v][0:a][1:v][1:a][2:v][2:a]concat=n=3:v=1:a=1[v][a]" \
  -map "[v]" -map "[a]" output.mp4

格式选择指南:

  • .mp3、.aac、.ts、.mpg、.mpeg → 使用 concat 协议(方法一)
  • .mp4、.mov、.mkv → 使用 concat 分离器(方法二)
  • 不同编码/分辨率 → 使用 concat 滤镜(方法三)

加速/减速:

# 2 倍速
ffmpeg -i input.mp4 -filter:v "setpts=0.5*PTS" -an output.mp4

# 0.5 倍速(慢动作)
ffmpeg -i input.mp4 -filter:v "setpts=2.0*PTS" output.mp4

旋转视频:

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

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

6. 字幕处理

添加、提取或烧录字幕。

烧录字幕到视频(硬字幕):

ffmpeg -i input.mp4 -vf subtitles=subtitles.srt output.mp4

添加软字幕:

ffmpeg -i input.mp4 -i subtitles.srt -c copy -c:s mov_text output.mp4

提取字幕:

ffmpeg -i input.mp4 -map 0:s:0 subtitles.srt

7. 缩略图提取

从视频中提取帧作为图片。

在指定时间提取单帧:

ffmpeg -i input.mp4 -ss 00:00:05 -vframes 1 thumbnail.jpg

提取多张缩略图:

# 每 10 秒提取一帧
ffmpeg -i input.mp4 -vf fps=1/10 thumb%04d.jpg

# 提取前 10 帧
ffmpeg -i input.mp4 -vframes 10 frame%04d.png

8. 压缩与优化

在保持质量的同时减小文件大小。

视频压缩(均衡模式):

ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k output.mp4

高压缩(更小文件):

ffmpeg -i input.mp4 -c:v libx264 -crf 28 -preset veryslow -c:a aac -b:a 96k output.mp4

Web 优化压缩:

ffmpeg -i input.mp4 -c:v libx264 -preset medium -crf 23 -movflags +faststart -c:a aac -b:a 128k output.mp4

平台特定预设

YouTube 优化

ffmpeg -i input.mp4 \
  -c:v libx264 -preset slow -crf 18 \
  -c:a aac -b:a 192k \
  -pix_fmt yuv420p \
  -movflags +faststart \
  youtube.mp4

Instagram 快拍(9:16)

ffmpeg -i input.mp4 \
  -vf "scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2" \
  -c:v libx264 -preset medium -crf 23 \
  -c:a aac -b:a 128k \
  -t 15 \
  instagram_story.mp4

Twitter/X(16:9,最长 2 分 20 秒)

ffmpeg -i input.mp4 \
  -vf scale=1280:720 \
  -c:v libx264 -preset medium -crf 23 \
  -c:a aac -b:a 128k \
  -t 140 \
  twitter.mp4

TikTok(9:16)

ffmpeg -i input.mp4 \
  -vf "scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2" \
  -c:v libx264 -preset medium -crf 23 \
  -c:a aac -b:a 128k \
  -t 60 \
  tiktok.mp4

常见用例

屏幕录制优化

# 减小屏幕录制文件大小
ffmpeg -i screen_recording.mov \
  -c:v libx264 -preset medium -crf 23 \
  -vf "scale=1920:-1" \
  -c:a aac -b:a 128k \
  optimized.mp4

批量转换

# 将所有 MOV 文件转换为 MP4
for i in *.mov; do
  ffmpeg -i "$i" -c:v libx264 -crf 23 -c:a aac "${i%.mov}.mp4"
done

从图片创建视频

# 从图片序列创建
ffmpeg -framerate 30 -pattern_type glob -i '*.jpg' \
  -c:v libx264 -pix_fmt yuv420p \
  output.mp4

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

最佳实践

  1. 始终先检查输入文件: ffmpeg -i input.mp4 # 或使用 ffprobe 获取详细信息 ffprobe -v quiet -print_format json -show_format -show_streams input.mp4
  2. 尽可能使用 -c copy 避免重新编码: ffmpeg -i input.mp4 -ss 00:01:00 -t 30 -c copy output.mp4
  3. 处理前用 -t 参数预览效果: # 先测试前 10 秒 ffmpeg -i input.mp4 -t 10 [其他参数] test.mp4
  4. 使用合适的 CRF 值:

- 18 = 视觉无损 - 23 = 高质量(默认值) - 28 = 可接受质量,文件更小 - 范围:0(无损)到 51(最差质量)

  1. 为 Web 视频添加 -movflags +faststart:

- 启用渐进式播放 - 将元数据移至文件开头

错误处理

使用本技能时,请始终:

  1. 验证输入文件存在且可读
  2. 处理前检查 ffmpeg 是否已安装
  3. 验证输出路径可写
  4. 使用适当的提示信息优雅处理错误
  5. 处理大文件时显示进度

Claude 使用指南

当用户请求音视频处理时:

  1. 识别任务类型
  2. 从本技能中选择合适的命令
  3. 验证前置条件(ffmpeg 已安装、输入文件存在)
  4. 执行前说明命令的作用
  5. 执行命令并进行错误处理
  6. 验证输出是否成功创建
  7. 提供优化建议(如适用)

对于复杂工作流,应分步骤执行并逐一说明。

视频拼接注意事项: 尽可能使用 printf 配合进程替换来避免临时文件(参见拼接部分的方法二)。仅在必要时使用临时 list.txt 文件。

示例

用户:"把这个 MOV 文件转成 MP4" 响应: 使用 H.264 编码的 MOV 转 MP4 命令

用户:"从这个视频做一个 GIF,从第 10 秒开始只要 5 秒" 响应: 使用带时间范围的 GIF 创建命令

用户:"我需要把这个 4K 视频缩小到 1080p 用于网页" 响应: 结合分辨率缩放和 Web 优化预设

用户:"提取音频为 MP3" 响应: 使用 MP3 编码的音频提取命令

参考资料

文案提取和转录功能,当涉及到转录和文案提取功能的时候,参考下面文档:

Voice Model API (本地语音转录)

应用启动后自动在 http://127.0.0.1:18923 开启本地 HTTP 接口,供 Claude Skill 等外部调用方使用。

接口列表

1. 查询模型状态

GET /v1/audio/models/status

响应示例:

{
  "installed": true,
  "modelDir": "/Users/xxx/.newmax/models/sensevoice-small",
  "modelSize": 239549735
}
{
  "installed": false,
  "modelDir": "/Users/xxx/.newmax/models/sensevoice-small",
  "missingFiles": ["model.int8.onnx", "tokens.txt"]
}

2. 音频转录

POST /v1/audio/transcriptions
Content-Type: application/json

请求参数:

字段类型必填说明
audioPathstring是音频文件的本地绝对路径
languagestring否语言代码(如 zh, en, ja),留空自动检测

请求示例:

{
  "audioPath": "/Users/xxx/Downloads/interview.mp3",
  "language": "zh"
}

成功响应(200):

{
  "success": true,
  "text": "第一段转录文字\n第二段转录文字\n第三段转录文字"
}

失败响应(400/500):

{
  "success": false,
  "error": "模型未安装,请先下载模型"
}

使用说明

  • 端口固定为 18923,仅监听 127.0.0.1(本机访问)
  • 支持格式:WAV / MP3 / FLAC / M4A / OGG / AAC(非 WAV 格式需系统安装 ffmpeg)
  • 长音频自动按 30 秒分段转录,结果以换行符拼接
  • 模型需在设置 → 语音模型中先下载(约 239 MB),否则转录接口会返回未安装错误
  • 使用 SenseVoice Small 模型,支持中英日韩粤等 50+ 语种

curl 快速测试

# 检查模型是否已安装
curl http://127.0.0.1:18923/v1/audio/models/status

# 转录音频文件
curl -X POST http://127.0.0.1:18923/v1/audio/transcriptions \
  -H 'Content-Type: application/json' \
  -d '{"audioPath": "/path/to/audio.mp3"}'

在 Claude Skill 中调用

# 在 skill 脚本中调用转录 API
result=$(curl -s -X POST http://127.0.0.1:18923/v1/audio/transcriptions \
  -H 'Content-Type: application/json' \
  -d "{\"audioPath\": \"$AUDIO_FILE\"}")

echo "$result" | jq -r '.text'

平台分布

Codex

32.83%
按下载量换算21

Claude

29.15%
按下载量换算18

Cursor

19.51%
按下载量换算12

Gemini CLI

9.87%
按下载量换算6

安全审计

Gen Agent Trust Hub

未通过

Socket

通过

Snyk

可疑

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/zephyrwang6/myskill --skill ffmpeg-usage 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

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

继续浏览同类 Skills