关于 ffmpeg-fundamentals-2025
ffmpeg-fundamentals-2025 是面向 FFmpeg 入门者的基础操作技能,适用于常见转码、滤镜和媒体分析任务。它提供命令速查,并将详细配方和表格放在参考文件中。
主要功能
- 01常见格式转码参考
- 02编解码器与质量设置
- 03缩放、裁剪和旋转滤镜
- 04使用 ffprobe 分析媒体
- 05音视频提取与剪辑
- 06版本与命令能力查询
适用场景
- 01在常见视频格式间转换
- 02调整编码质量或媒体尺寸
- 03剪辑视频并提取音频
- 04检查文件的编码和时长
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ josiahsiegel/ claude-plugin-marketplace --skill ffmpeg-fundamentals-2025安装后在 Claude Code 中输入/ffmpeg-fundamentals-2025确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/common-operations.mdfilter-essentials.mdframe-manipulation.mdversion-history.mdvulkan-compute-codecs.mdvvc-h266-encoding.mdwhisper-transcription.md详细介绍
FFmpeg 基础知识(2025)
适用于 7.1 LTS 和 8.0.1 的 FFmpeg 基础知识。本 SKILL 是一个精简的编排器;详细的配方和表格位于 references/ 下。
何时使用此技能
用于 FFmpeg 基础操作:
- 首次使用 FFmpeg,需要语法帮助
- 在格式之间进行基本转码(MP4、WebM、MKV、MOV)
- 了解编解码器选项和质量设置
- 简单的滤镜操作(缩放、裁剪、旋转)
- 使用 ffprobe 分析文件
如需了解专门主题,请参阅相关技能:硬件编码 -> ffmpeg-hardware-acceleration,流媒体 -> ffmpeg-streaming,Docker -> ffmpeg-docker-containers,高级滤镜图 -> ffmpeg-filter-complex-patterns。
快速参考
| 任务 | 命令模式 |
|---|---|
| 转换格式 | ffmpeg -i input.ext output.ext |
| 设置质量(CRF) | -c:v libx264 -crf 23 |
| 缩放视频 | -vf "scale=1920:1080" |
| 修剪视频 | -ss 00:00:10 -t 00:00:30 |
| 提取音频 | -vn -c:a aac output.m4a |
| 探测文件 | ffprobe -v error -show_format -show_streams file |
核心工作流
- 使用
ffmpeg -version确认 FFmpeg 版本。优先使用最新稳定版(8.0.1)或 7.1 LTS。 - 使用
ffprobe探测输入文件,检查编解码器、容器、分辨率和时长。 - 决定是重新封装(
-c copy)还是转码(指定编码器和质量)。 - 选择编码器和质量设置(见下方的编解码器参考)。
- 根据需要添加滤镜(参见
references/filter-essentials.md和references/frame-manipulation.md)。 - 验证输出:重新探测,检查时长、音视频同步和像素格式。
基本命令语法
ffmpeg [global_options] {[input_options] -i input} ... {[output_options] output} ...
常见示例:
# Basic transcode
ffmpeg -i input.mp4 output.mkv
# Specify codecs
ffmpeg -i input.mp4 -c:v libx264 -c:a aac output.mp4
# Copy streams without re-encoding (remux)
ffmpeg -i input.mkv -c copy output.mp4
# CRF quality mode
ffmpeg -i input.mp4 -c:v libx264 -crf 23 output.mp4
# Bitrate mode
ffmpeg -i input.mp4 -c:v libx264 -b:v 5M output.mp4
# Overwrite without prompting
ffmpeg -y -i input.mp4 output.mp4
# Show progress as parseable stats
ffmpeg -progress - -i input.mp4 output.mp4
如需了解完整的选项排序规则、流指定符和各格式的选项表,请参阅 ffmpeg-command-syntax 技能。
编解码器参考(2025)
视频编解码器(软件)
| 编解码器 | 编码器 | 使用场景 | 质量 | 速度 |
|---|---|---|---|---|
| H.264/AVC | libx264 | 通用兼容性 | 极佳 | 中等 |
| H.265/HEVC | libx265 | 4K、HDR、存储效率 | 极佳 | 慢 |
| H.266/VVC | libvvenc | 新一代、8K | 最佳 | 很慢 |
| AV1 | libsvtav1, libaom-av1 | Web 流媒体、免版税 | 极佳 | 慢到中等 |
| VP9 | libvpx-vp9 | WebM、YouTube | 很好 | 慢 |
| ProRes | prores_ks | 专业剪辑 | 无损 | 快 |
硬件编码器
| 平台 | H.264 | H.265 | AV1 | VVC | FFv1 |
|---|---|---|---|---|---|
| NVIDIA | h264_nvenc | hevc_nvenc | av1_nvenc | - | - |
| Intel | h264_qsv | hevc_qsv | av1_qsv | - | - |
| AMD | h264_amf | hevc_amf | av1_amf | - | - |
| Apple | h264_videotoolbox | hevc_videotoolbox | - | - | - |
| Vulkan | h264_vulkan | hevc_vulkan | av1_vulkan (8.0+) | - | ffv1_vulkan (8.0+) |
硬件解码器(FFmpeg 8.0+)
| 平台 | VVC/H.266 | VP9 | ProRes RAW |
|---|---|---|---|
| VAAPI | vvc (8.0+) | 是 | - |
| QSV | vvc_qsv (7.1+) | 是 | - |
| Vulkan | - | vp9 (8.0+) | 是(8.0+) |
音频编解码器
| 编解码器 | 编码器 | 使用场景 | 比特率范围 |
|---|---|---|---|
| AAC | aac, libfdk_aac | 通用、流媒体 | 96-320 kbps |
| MP3 | libmp3lame | 旧设备兼容性 | 128-320 kbps |
| Opus | libopus | VoIP、流媒体、WebM | 32-256 kbps |
| FLAC | flac | 无损归档 | ~900 kbps |
| AC3 | ac3 | DVD、Blu-ray | 384-640 kbps |
| EAC3 | eac3 | 流媒体、Dolby Digital+ | 192-768 kbps |
探测与分析
# Get media info as JSON
ffprobe -v quiet -print_format json -show_format -show_streams input.mp4
# Get duration
ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 input.mp4
# Get resolution
ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=p=0 input.mp4
# Get codec
ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 input.mp4
# Validate file
ffprobe -v error input.mp4 && echo "Valid" || echo "Invalid"
最佳实践
性能
- 使用
-threads 0自动检测最佳线程数。 - 将
-ss放在-i前可快速定位(精度可能较低);放在-i后可逐帧精确定位。 - 尽可能使用
-c copy,避免重新编码。 - 在可用时使用硬件加速。
质量
- 单遍编码时,优先使用 CRF,而非比特率。
- 使用
-preset slow或更慢的预设,以获得更好的压缩效果。 - 在适当情况下使用
-tune选项(film、animation、grain)。 - 保留
-pix_fmt yuv420p,以确保广泛兼容。
兼容性
- Web MP4 文件使用
-movflags +faststart。 - 在 Apple 设备上使用 HEVC 时,使用
-vtag hvc1。 - 批量转换前,先在目标设备上测试。
- 为较旧的浏览器提供备用格式。
错误预防
- 先在样例文件上测试命令。
- 使用
-report生成详细日志。 - 检查输出文件的大小和时长。
- 转换后验证音视频同步情况。
能力发现
ffmpeg -encoders # List encoders
ffmpeg -decoders # List decoders
ffmpeg -formats # List formats
ffmpeg -filters # List filters
ffmpeg -hwaccels # List hardware acceleration methods
ffmpeg -h encoder=libx264 # Encoder-specific options
退出代码:
- 0:成功
- 1:错误(检查 stderr)
- 255:已中断(Ctrl+C)
参考索引
详细操作方案、选项表和 FFmpeg 8.0 专用指南:
references/version-history.md- FFmpeg 8.0 / 7.1 LTS 的完整功能列表、更新策略和官方资源references/common-operations.md- 格式转换、缩放、剪辑、拼接、音频、字幕、Whisper 操作方案、图像处理、输出优化(Web/iOS/Android)references/filter-essentials.md- 视频滤镜(-vf)、音频滤镜(-af)、复杂滤镜图、filter_complex 语法参考references/frame-manipulation.md- 帧率、setpts、select、缩略图、平铺、定格、循环、反转references/whisper-transcription.md- 用于语音识别和字幕生成的 Whisper AI 滤镜references/vvc-h266-encoding.md- 使用 libvvenc 进行 VVC/H.266 编码,以及硬件解码references/vulkan-compute-codecs.md- 基于 Vulkan 计算的编解码器(FFv1、AV1、VP9、ProRes RAW)
深入了解:ffmpeg-filter-complex-patterns、ffmpeg-hardware-acceleration、ffmpeg-streaming、ffmpeg-captions-subtitles、ffmpeg-audio-processing。
评论
支持 Markdown