mcpField
F
ffmpeg-fundamentals-2025

ffmpeg-fundamentals-2025

github.com/josiahsiegel创意与媒体5985 次安装19 周前更新
代码仓库

关于 ffmpeg-fundamentals-2025

ffmpeg-fundamentals-2025 是面向 FFmpeg 入门者的基础操作技能,适用于常见转码、滤镜和媒体分析任务。它提供命令速查,并将详细配方和表格放在参考文件中。

主要功能

  1. 01常见格式转码参考
  2. 02编解码器与质量设置
  3. 03缩放、裁剪和旋转滤镜
  4. 04使用 ffprobe 分析媒体
  5. 05音视频提取与剪辑
  6. 06版本与命令能力查询

适用场景

  1. 01在常见视频格式间转换
  2. 02调整编码质量或媒体尺寸
  3. 03剪辑视频并提取音频
  4. 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.md
filter-essentials.md
frame-manipulation.md
version-history.md
vulkan-compute-codecs.md
vvc-h266-encoding.md
whisper-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

核心工作流

  1. 使用 ffmpeg -version 确认 FFmpeg 版本。优先使用最新稳定版(8.0.1)或 7.1 LTS。
  2. 使用 ffprobe 探测输入文件,检查编解码器、容器、分辨率和时长。
  3. 决定是重新封装(-c copy)还是转码(指定编码器和质量)。
  4. 选择编码器和质量设置(见下方的编解码器参考)。
  5. 根据需要添加滤镜(参见 references/filter-essentials.md 和 references/frame-manipulation.md)。
  6. 验证输出:重新探测,检查时长、音视频同步和像素格式。

基本命令语法

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/AVClibx264通用兼容性极佳中等
H.265/HEVClibx2654K、HDR、存储效率极佳慢
H.266/VVClibvvenc新一代、8K最佳很慢
AV1libsvtav1, libaom-av1Web 流媒体、免版税极佳慢到中等
VP9libvpx-vp9WebM、YouTube很好慢
ProResprores_ks专业剪辑无损快
硬件编码器
平台H.264H.265AV1VVCFFv1
NVIDIAh264_nvenchevc_nvencav1_nvenc--
Intelh264_qsvhevc_qsvav1_qsv--
AMDh264_amfhevc_amfav1_amf--
Appleh264_videotoolboxhevc_videotoolbox---
Vulkanh264_vulkanhevc_vulkanav1_vulkan (8.0+)-ffv1_vulkan (8.0+)
硬件解码器(FFmpeg 8.0+)
平台VVC/H.266VP9ProRes RAW
VAAPIvvc (8.0+)是-
QSVvvc_qsv (7.1+)是-
Vulkan-vp9 (8.0+)是(8.0+)
音频编解码器
编解码器编码器使用场景比特率范围
AACaac, libfdk_aac通用、流媒体96-320 kbps
MP3libmp3lame旧设备兼容性128-320 kbps
OpuslibopusVoIP、流媒体、WebM32-256 kbps
FLACflac无损归档~900 kbps
AC3ac3DVD、Blu-ray384-640 kbps
EAC3eac3流媒体、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"

最佳实践

性能
  1. 使用 -threads 0 自动检测最佳线程数。
  2. 将 -ss 放在 -i 前可快速定位(精度可能较低);放在 -i 后可逐帧精确定位。
  3. 尽可能使用 -c copy,避免重新编码。
  4. 在可用时使用硬件加速。
质量
  1. 单遍编码时,优先使用 CRF,而非比特率。
  2. 使用 -preset slow 或更慢的预设,以获得更好的压缩效果。
  3. 在适当情况下使用 -tune 选项(film、animation、grain)。
  4. 保留 -pix_fmt yuv420p,以确保广泛兼容。
兼容性
  1. Web MP4 文件使用 -movflags +faststart。
  2. 在 Apple 设备上使用 HEVC 时,使用 -vtag hvc1。
  3. 批量转换前,先在目标设备上测试。
  4. 为较旧的浏览器提供备用格式。
错误预防
  1. 先在样例文件上测试命令。
  2. 使用 -report 生成详细日志。
  3. 检查输出文件的大小和时长。
  4. 转换后验证音视频同步情况。

能力发现

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