自用技能 技能
FFmpeg Toolkit
全面的 FFmpeg 工具包:格式转换、视频编码、音频处理、流操作、剪辑编辑、字幕、硬件加速、批处理和故障排除。
自用技能技能包videoaudioffmpegh264hevctranscodingformat-conversionbatchsubtitlehardware-encoding
FFmpeg Toolkit
全面的 FFmpeg 工具包技能,覆盖格式转换、视频编码、音频处理、流操作、剪辑编辑、字幕、硬件加速、批处理和故障排除。直接通过 ffmpeg/ffprobe CLI 命令完成所有媒体处理任务。
真实 skill 包
- 本站展示条目:
docs/personal/ffmpeg-toolkit/ - 真实 skill 包:
skills/ffmpeg-toolkit/ - 执行规程:
skills/ffmpeg-toolkit/SKILL.md - 批处理脚本:
skills/ffmpeg-toolkit/scripts/batch-convert.sh/batch-convert.bat
依赖
- FFmpeg(核心媒体处理引擎,包含 ffmpeg 和 ffprobe)
安装:
# Windows
winget install ffmpeg
# 或
scoop install ffmpeg
# macOS
brew install ffmpeg
# Linux
sudo apt install ffmpeg # Debian/Ubuntu
sudo dnf install ffmpeg # Fedora
sudo pacman -S ffmpeg # Arch
适合什么时候用
- "帮我把这个视频转成 MP4" / "转码成 H.264" / "重新编码"
- "提取音频" / "只要声音" / "分离音视频"
- "合并音频和视频" / "把这两个文件合在一起" / "混流"
- "剪辑这段视频" / "从 1:00 截到 3:00" / "分割成几段"
- "改分辨率" / "缩放到 720p"
- "变速" / "2 倍速" / "慢放"
- "加字幕" / "烧录字幕" / "硬字幕 SRT"
- "修一下音频" / "音量归一化" / "转 AAC"
- "批量转换整个文件夹"
- "FFmpeg 报错了" / "编码失败"
- "用什么编码器好?" / "硬件加速怎么开?"
核心能力
| 类别 | 覆盖内容 |
|---|---|
| 格式转换 | MP4、MKV、MOV、AVI、WebM、FLV、TS、GIF 等任意容器格式互转 |
| 视频编码 | H.264、H.265/HEVC、AV1、VP9、VP8,支持硬件加速 |
| 音频处理 | AAC、MP3、Opus、FLAC、Vorbis 编解码转换,音量归一化,音轨合并,音频提取 |
| 流操作 | 无重编码复制流、添加/移除音轨、交换流、提取字幕 |
| 剪辑编辑 | 裁剪、分割、拼接、缩放、变速、旋转、翻转 |
| 字幕 | 软字幕(嵌入)、硬字幕(烧录)、SRT/ASS/VTT 格式互转 |
| 硬件编码 | NVIDIA NVENC、AMD AMF、Intel Quick Sync、Apple VideoToolbox、Linux VAAPI |
| 批处理 | 目录级批量处理、递归扫描、Shell/Batch 脚本生成 |
| 分析 | 文件信息探测、编解码器检查、流检查、质量评估 |
| 故障排除 | 编码失败诊断、音画同步问题、格式兼容性、性能问题 |
编解码器选择指南
| 优先级 | 视频编解码器 | 原因 |
|---|---|---|
| 最大兼容性 | H.264 (libx264) | 所有设备都能播放 |
| 体积与质量平衡 | HEVC / H.265 (libx265) | 同画质下比 H.264 小约 50% |
| 最佳压缩 | AV1 (libsvtav1) | 比特率最优,但编码慢 |
| 最快编码 | 硬件编码器 | GPU 加速,大多数场景够用 |
| Web / 开放格式 | VP9 (libvpx-vp9) | 适合 WebM 和网页嵌入 |
| 优先级 | 音频编解码器 | 原因 |
|---|---|---|
| 最大兼容性 | AAC | 通用支持,质量好 |
| 最佳比特率效率 | Opus | 低码率下透明度最好 |
| 无损 | FLAC | 完美质量,文件较大 |
| 通用有损 | MP3 | 老设备兼容 |
硬件编码
| 平台 | 编码器(按推荐顺序) |
|---|---|
| Windows | h264_nvenc → h264_amf → h264_qsv → libx264 |
| Linux | h264_nvenc → h264_amf → h264_qsv → h264_vaapi → libx264 |
| macOS | h264_videotoolbox → libx264 |
检测可用编码器:
ffmpeg -hide_banner -encoders 2>/dev/null | grep -E "h264_nvenc|h264_amf|h264_qsv|h264_vaapi|h264_videotoolbox"
常用命令速查
# 格式转换(无重编码,瞬间完成)
ffmpeg -i "input.mkv" -c copy "output.mp4"
# 转码为 H.264 MP4
ffmpeg -i "input.avi" -c:v libx264 -crf 23 -c:a aac -b:a 192k "output.mp4"
# 提取音频
ffmpeg -i "input.mp4" -vn -c:a copy "output.m4a"
# 合并音视频
ffmpeg -i "video.mp4" -i "audio.m4a" -c copy "output.mp4"
# 裁剪视频
ffmpeg -i "input.mp4" -ss 00:01:00 -to 00:03:30 -c copy "output.mp4"
# 缩放到 720p
ffmpeg -i "input.mp4" -vf "scale=-2:720" -c:v libx264 -c:a copy "output.mp4"
# 变速 2x
ffmpeg -i "input.mp4" -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2[a]" -map "[v]" -map "[a]" "output.mp4"
# 硬字幕烧录
ffmpeg -i "input.mp4" -vf "subtitles=subs.srt" -c:a copy "output.mp4"
# 硬件加速编码(NVIDIA)
ffmpeg -i "input.mp4" -c:v h264_nvenc -preset fast -cq 23 -c:a aac "output.mp4"
参考文档
技能包含 4 份详细参考文档,按需加载:
| 文件 | 内容 |
|---|---|
references/common-tasks.md | 30+ 种常见任务的完整命令示例 |
references/encoding-guide.md | 编解码器详解、质量控制、硬件编码、编码预设 |
references/troubleshooting.md | 按症状分类的排障指南 |
references/install.md | 完整包下载地址和安装流程 |
注意事项
- 尽量避免重编码,只改容器时用
-c copy,速度快且无损 - 文件路径务必加引号,路径中常有空格或特殊字符
- 处理大文件前先用
-t 30测试前 30 秒,确认命令无误 - Web 播放的 MP4 加
-movflags +faststart,让播放器无需下载完就能开始播放