Ffmpeg
Complete FFmpeg reference and toolkit, distilled from the official FFmpeg documentation (ffmpeg/ffplay/ffprobe + codecs, formats, filters, protocols, devices, libraries). Use when building or debugging FFmpeg command lines: transcoding, remuxing, stream copy, cutting/trimming, concatenation, scaling/cropping/padding, frame-rate and pixel-format conversion, audio resampling/mixing, filtergraphs (-vf/-af/-filter_complex), overlays, drawtext/subtitles burn-in, HLS/DASH segmenting, screen/webcam capture, piping, hardware accel (NVENC/QSV/VAAPI/VideoToolbox), and choosing encoder options (libx264/libx265/aac/libmp3lame/etc.). Keywords - ffmpeg, ffplay, ffprobe, transcode, remux, filtergraph, vf, af, filter_complex, map, stream specifier, codec, muxer, demuxer, hls, scale, overlay, concat, crf, bitrate, gop, pix_fmt.From its SKILL.md
npx -y skills add fralapo/awesome-agent-skills --skill ffmpegAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
6.9 KB, ~1.7k tokens by cl100k_base, as published. Nobody here has run it
FFmpeg — Reference & Command Toolkit
FFmpeg is a universal media converter: it reads any number of inputs (files, pipes, network streams, capture devices), filters and transcodes them, and writes any number of outputs. This skill is a practitioner's toolkit for constructing correct command lines fast and knowing which option, codec, or filter to reach for.
The full official source text ships with this skill at reference/FFmpeg-Complete-Documentation.md (~1.9 MB). This skill extracts the structure; grep that file or the chapter files for exhaustive option lists.
How to Use This Skill
- No arguments — load the core mental model + the cheatsheet of common commands.
- A task — "trim without re-encoding", "burn subtitles", "capture screen" → I map it to a pattern in patterns.md / cheatsheet.md.
- A topic — "filters", "codecs", "hls", "protocols" → I read the matching
chapters/file before answering. - A name — a specific filter/encoder (e.g.
scale,libx264) → grep the chapter for exact options.
Core Mental Model (read this first)
1. Command anatomy — order matters.
ffmpeg [global_opts] {[input_opts] -i INPUT}... {[output_opts] OUTPUT}...
Options apply to the next file specified. Put input options (e.g. -ss, -f, -r, -framerate) before the -i they modify; output options before the output URL. Global options (e.g. -y, -loglevel) go first. Anything not parsed as an option is treated as an output URL.
2. Indices & stream specifiers. Inputs/streams are 0-based. -map 0:v:0 = first video stream of input 0. Stream specifier forms: :v :a :s (type), :0 (index), :v:0, :m:language:eng (metadata), :p:1 (program). Used by -map, -c:, -b:, -metadata:, etc.
3. The fundamental choice: stream copy vs transcode.
-c copy→ remux/cut with no re-encode (instant, lossless, but cuts land on keyframes only).- omit /
-c:v libx264 -c:a aac→ re-encode (slow, lossy, frame-accurate, enables filters). - You cannot apply filters to a copied stream.
4. Quality knobs (re-encoding).
- CRF (constant quality, 1-pass):
-crf 23for x264/x265 (lower = better, ~18–28 sane). Preferred default. - Bitrate (target size):
-b:v 4M; add-maxrate/-bufsizefor caps; 2-pass for streaming targets. - Preset:
-preset slowtrades CPU for compression (x264/x265: ultrafast…placebo).
5. Filtering.
-vf/-af= simple linear filtergraph (one input→one output, single stream).-filter_complex= multi-input/multi-output graphs; reference pads with[label]. Required for overlay, concat of differing streams, mixing, split.- Graph syntax:
filter=arg=val:arg2=val2, next. Chains separated by,; parallel chains by;.
6. -ss placement. Before -i = fast input seek (keyframe-snapped, very fast). After -i (output opt) = slow decode-then-discard but exact. With -c copy, cuts snap to keyframes regardless.
7. Diagnose with ffprobe. ffprobe -v error -show_streams -show_format in.mp4. Add -of json/-of csv for machine output. ffplay for quick visual check (ffplay -vf ... in).
Chapter Index
| # | File | Covers |
|---|---|---|
| 01 | ch01-cli-tools | ffmpeg/ffplay/ffprobe invocation, option ordering, loglevel |
| 02 | ch02-stream-selection-mapping | stream specifiers, automatic selection, -map |
| 03 | ch03-options-reference | main/video/audio/subtitle/advanced options |
| 04 | ch04-codecs | encoders/decoders, libx264/265, NVENC, aac, mp3 options |
| 05 | ch05-formats | muxers/demuxers: mp4, matroska, hls, dash, segment, concat, image2 |
| 06 | ch06-filters | filtergraph syntax, key video/audio filters, hw filters |
| 07 | ch07-protocols | file, pipe, http(s), tcp/udp, rtmp, rtp, srt, tee |
| 08 | ch08-devices | capture/output: gdigrab, dshow, x11grab, v4l2, avfoundation |
| 09 | ch09-utils-scaler-resampler | syntax (time/eval/color), swscale, swresample options |
| 10 | ch10-libraries-general | libav* overview, supported formats, platform notes, FAQ |
Topic Index
- trim / cut / seek → ch01, ch03, patterns
- stream copy / remux → ch02, ch04, cheatsheet
- map / stream selection → ch02
- CRF / bitrate / 2-pass / preset → ch04
- x264 / x265 / hevc / NVENC / QSV / VAAPI → ch04, ch06
- aac / mp3 / opus / audio bitrate → ch04
- scale / crop / pad / fps / pix_fmt / format → ch06
- overlay / concat / split / xfade / hstack → ch06, patterns
- drawtext / subtitles / burn-in → ch06, patterns
- amix / amerge / pan / volume / loudnorm → ch06
- HLS / DASH / segment / live streaming → ch05, ch07, patterns
- rtmp / srt / udp / tee / piping → ch07, patterns
- screen capture / webcam / record → ch08, patterns
- images ↔ video / thumbnails / gif → ch05, ch06, patterns
- ffprobe / inspect / metadata → ch01, ch03
Supporting Files
- cheatsheet.md — copy-paste commands for the 90% cases
- patterns.md — task recipes with the why and trade-offs
- glossary.md — terms, options, and acronyms
Scope & Limits
Distilled from the official docs; for the exhaustive per-filter / per-encoder option list, grep the chapter files or the bundled reference/FFmpeg-Complete-Documentation.md. Option availability depends on how the local FFmpeg build was compiled (ffmpeg -encoders, -filters, -protocols, -buildconf to verify). Hardware-accel paths depend on drivers/OS.
What ships with it: 14 files
1861.0 KB alongside SKILL.md
chapters/
- ch01-cli-tools.md2.3 KB
- ch02-stream-selection-mapping.md2.6 KB
- ch03-options-reference.md2.6 KB
- ch04-codecs.md3.0 KB
- ch05-formats.md2.7 KB
- ch06-filters.md3.5 KB
- ch07-protocols.md2.7 KB
- ch08-devices.md2.5 KB
- ch09-utils-scaler-resampler.md2.5 KB
- ch10-libraries-general.md2.8 KB
reference/
- FFmpeg-Complete-Documentation.md1821.9 KB
- cheatsheet.md3.9 KB
- glossary.md3.4 KB
- patterns.md4.5 KB