plugins/ffmpeg-core/skills/ffmpeg-fundamentals-2025/SKILL.md
Complete FFmpeg core knowledge system for FFmpeg 7.1 LTS and 8.0.1 (latest stable, released 2025-11-20). PROACTIVELY activate for: (1) Basic transcoding and format conversion, (2) Command syntax questions, (3) Codec selection (H.264, H.265, VVC, AV1, VP9, APV), (4) Quality settings (CRF, bitrate, presets), (5) Video/audio filter chains, (6) Trimming, splitting, concatenating, (7) Resolution scaling and aspect ratios, (8) FFmpeg 8.0 features (Whisper AI, Vulkan codecs, APV, WHIP), (9) Version checking and update guidance. Provides: Command syntax reference, codec comparison tables, filter examples, format conversion recipes, probing commands, Whisper transcription examples, version checking commands. Ensures: Correct FFmpeg usage with 2025 best practices and latest stable version.
npx skillsauth add JosiahSiegel/claude-plugin-marketplace ffmpeg-fundamentals-2025Install this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Foundational FFmpeg knowledge for 7.1 LTS and 8.0.1. This SKILL is a lean orchestrator; detailed recipes and tables live under references/.
Use for foundational FFmpeg operations:
For specialized topics see related skills: hardware encoding -> ffmpeg-hardware-acceleration, streaming -> ffmpeg-streaming, Docker -> ffmpeg-docker-containers, advanced filter graphs -> ffmpeg-filter-complex-patterns.
| Task | Command Pattern |
|------|-----------------|
| Convert format | ffmpeg -i input.ext output.ext |
| Set quality (CRF) | -c:v libx264 -crf 23 |
| Scale video | -vf "scale=1920:1080" |
| Trim video | -ss 00:00:10 -t 00:00:30 |
| Extract audio | -vn -c:a aac output.m4a |
| Probe file | ffprobe -v error -show_format -show_streams file |
ffmpeg -version. Prefer the latest stable (8.0.1) or the 7.1 LTS.ffprobe to inspect codecs, container, resolution, and duration.-c copy) or transcode (specify encoders, quality).references/filter-essentials.md and references/frame-manipulation.md).ffmpeg [global_options] {[input_options] -i input} ... {[output_options] output} ...
Common examples:
# 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
For exhaustive option ordering rules, stream specifiers, and per-format option tables, see the ffmpeg-command-syntax skill.
| Codec | Encoder | Use Case | Quality | Speed | |-------|---------|----------|---------|-------| | H.264/AVC | libx264 | Universal compatibility | Excellent | Medium | | H.265/HEVC | libx265 | 4K, HDR, storage efficiency | Excellent | Slow | | H.266/VVC | libvvenc | Next-gen, 8K | Best | Very Slow | | AV1 | libsvtav1, libaom-av1 | Web streaming, royalty-free | Excellent | Slow-Medium | | VP9 | libvpx-vp9 | WebM, YouTube | Very Good | Slow | | ProRes | prores_ks | Professional editing | Lossless | Fast |
| Platform | 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+) |
| Platform | VVC/H.266 | VP9 | ProRes RAW | |----------|-----------|-----|------------| | VAAPI | vvc (8.0+) | Yes | - | | QSV | vvc_qsv (7.1+) | Yes | - | | Vulkan | - | vp9 (8.0+) | Yes (8.0+) |
| Codec | Encoder | Use Case | Bitrate Range | |-------|---------|----------|---------------| | AAC | aac, libfdk_aac | Universal, streaming | 96-320 kbps | | MP3 | libmp3lame | Legacy compatibility | 128-320 kbps | | Opus | libopus | VoIP, streaming, WebM | 32-256 kbps | | FLAC | flac | Lossless archival | ~900 kbps | | AC3 | ac3 | DVD, Blu-ray | 384-640 kbps | | EAC3 | eac3 | Streaming, 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 to auto-detect optimal thread count.-ss before -i for fast seeking (may be less accurate); after -i for frame-accurate seek.-c copy when possible to avoid re-encoding.-preset slow or slower for better compression.-tune options (film, animation, grain) when appropriate.-pix_fmt yuv420p for broad compatibility.-movflags +faststart for web MP4 files.-vtag hvc1 for HEVC on Apple devices.-report for detailed logging.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
Exit codes:
Detailed recipes, option tables, and FFmpeg 8.0-specific guides:
references/version-history.md - Full FFmpeg 8.0 / 7.1 LTS feature lists, update strategy, official resourcesreferences/common-operations.md - Format conversion, scaling, trimming, concat, audio, subtitles, Whisper recipe, image ops, output optimization (web/iOS/Android)references/filter-essentials.md - Video filters (-vf), audio filters (-af), complex filtergraphs, filter_complex syntax referencereferences/frame-manipulation.md - Frame rate, setpts, select, thumbnails, tiles, freezing, looping, reversingreferences/whisper-transcription.md - Whisper AI filter for speech recognition and subtitle generationreferences/vvc-h266-encoding.md - VVC/H.266 encoding with libvvenc plus hardware decodereferences/vulkan-compute-codecs.md - Vulkan compute-based codecs (FFv1, AV1, VP9, ProRes RAW)For deeper dives: ffmpeg-filter-complex-patterns, ffmpeg-hardware-acceleration, ffmpeg-streaming, ffmpeg-captions-subtitles, ffmpeg-audio-processing.
development
This skill should be used when the user asks to train, debug, scale, or improve ML models. PROACTIVELY activate for: (1) PyTorch, TensorFlow/Keras, JAX, Flax, Hugging Face Trainer/Accelerate training loops, (2) distributed training, DDP/FSDP/DeepSpeed, TPU/GPU setup, (3) mixed precision AMP/bf16, gradient accumulation, checkpointing, seeding, (4) overfitting, imbalance, loss functions, regularization, LR schedules, warmup, (5) memory optimization, gradient checkpointing, offloading, quantization-aware training. Provides: reproducible training best practices across deep learning and classical ML.
development
This skill should be used when the user asks to productionize, track, version, govern, monitor, or automate ML systems. PROACTIVELY activate for: (1) MLflow, Weights & Biases, Neptune, Comet, ClearML experiment tracking, (2) model registry, model versioning, artifact lineage, reproducibility, (3) Kubeflow, SageMaker Pipelines, Vertex AI Pipelines, Azure ML pipelines, Databricks workflows, (4) CI/CD, continuous training/evaluation, A/B tests, canary/shadow deployments, (5) drift detection, model monitoring, data validation, responsible AI governance. Provides: end-to-end MLOps architecture and operational safeguards.
development
This skill should be used when the user asks to optimize, export, serve, compress, or accelerate ML inference. PROACTIVELY activate for: (1) latency, throughput, p95/p99, batching, concurrency, KV cache, memory, or cost issues, (2) quantization INT8/INT4, GPTQ, AWQ, bitsandbytes, pruning, sparsity, distillation, (3) ONNX export, ONNX Runtime, TensorRT, TorchScript, torch.compile, XLA, OpenVINO, Core ML, TFLite, (4) Triton, TorchServe, TF Serving, BentoML, Seldon, KServe configuration, (5) edge deployment, CPU/GPU/TPU/Inferentia serving. Provides: hardware-aware inference optimization and safe benchmarking.
testing
This skill should be used when the user asks to tune hyperparameters, run sweeps, optimize search spaces, or use AutoML. PROACTIVELY activate for: (1) Optuna, Ray Tune, FLAML, AutoGluon, Hyperopt, Nevergrad, KerasTuner, W&B sweeps, (2) grid search, random search, Bayesian optimization, TPE, Gaussian processes, evolutionary search, (3) ASHA, Hyperband, successive halving, multi-fidelity optimization, population-based training, (4) learning-rate finder, batch-size search, early stopping, pruning, (5) reproducible sweep design and experiment analysis. Provides: budget-aware hyperparameter search strategy.