About This Site
FFmpeg Cookbook is a small, independently operated site that bundles free in-browser tools for common video tasks (compress, GIF, audio extract, SNS resize, etc.) with a reverse-lookup FFmpeg command reference. The goal is to help you finish video work as quickly and accurately as possible — whether you're a beginner or a daily FFmpeg user.
Site at a glance (May 2026)
These numbers move as articles are added or revised. The current state lives on the articles index and the tools index.
What this site offers
Who this is for
- People who want to shrink, convert, or resize videos for SNS without installing software
- Creators dealing with Discord, YouTube, TikTok, or Reels size and aspect-ratio limits
- Developers and engineers who need a quick FFmpeg command reference
- Anyone troubleshooting an FFmpeg error or unexpected output
How this site is built and how AI is used
FFmpeg Cookbook is operated by a single maintainer. Article research, drafting, and translation are AI-assisted (mainly ChatGPT, Claude, and GitHub Copilot for code), but every published article goes through a human editorial pass before it reaches the site.
Specifically, here is what AI does and doesn't do:
- AI does — first-draft outlines, paraphrasing, JA↔EN translation, FAQ generation, and explaining FFmpeg's official documentation in plainer language.
- The maintainer does — verifying every command against real FFmpeg output
(CI runs
scripts/verify-ffmpeg-commands.mjsagainst everybashblock on every published article — currently 737 commands pass), choosing which articles to publish, reviewing factual accuracy, and editing AI-drafted content before merging. - What we don't ship — we do not publish unverified AI-only content. Articles
with command snippets that fail CI are blocked from publication. Articles where the maintainer
has not done a manual review remain in the
published: falsestate until reviewed.
Where benchmark numbers appear (file sizes, encoding speed comparisons, VMAF scores), they are presented as representative ranges based on documented libx264 behaviour and our own informal tests, not single-trial measurements. If you need exact numbers for your specific source, run the equivalent FFmpeg command locally — every browser-tool page shows it.
Commands shown in bash blocks are automatically executed against real FFmpeg on GitHub
Actions on every push. Intentionally incorrect or deprecated commands are shown in text
blocks and excluded from those checks.
Editorial principles
📌 Primary sources first
FFmpeg official documentation, relevant RFCs (RFC 6381 codec parameters, RFC 7232 conditional requests, etc.), ITU-T H.264 / H.265 specs, Apple HLS specs, and Android MediaCodec API docs are referenced directly. Source URLs go into the article's primarySources frontmatter field so claims can be traced back to the spec, not to a secondary summary.
🔧 Every bash command runs in CI
Bash code blocks across all published articles are executed against a real FFmpeg binary on every push, via scripts/verify-ffmpeg-commands.mjs on GitHub Actions. A non-zero exit fails the CI run. This structurally prevents "copy-paste commands that don't actually work" from reaching production.
📅 lastVerifiedAt makes freshness visible
Each article carries a lastVerifiedAt frontmatter field. When FFmpeg releases a new version, articles in scope are re-verified, starting with the oldest. The most recent of publishedAt / updatedAt / lastVerifiedAt is emitted as lastmod in sitemap.xml so Google sees fresh signals on refresh.
🚫 Deprecated commands stay in text blocks
Historically incorrect or no-longer-working examples are shown in text blocks (not bash) so CI doesn't run them. The prose explicitly states "this no longer works" to prevent accidental copy-paste.
🌱 Beginner-readable
Jargon is explained on first use; common pitfalls and fixes are listed alongside the happy path. Commands aren't dropped without context — the why and the failure modes are part of the article.
🇯🇵 JA-native, 🇬🇧 EN-native
JA and EN are written independently per language, not auto-translated from one to the other. The deep-dive sections on tool pages even cover different topics in each language, rather than being mirror translations.
Refresh & freshness policy
FFmpeg ships several minor versions per year and occasional major versions, sometimes changing filter behaviour or codec defaults. The freshness loop here is:
- New version released — when FFmpeg jumps a major version (6.x → 7.x, 7.x → 8.x), high-impact articles (codec, filter) are re-verified first.
- Quarterly — articles whose
lastVerifiedAtis more than 90 days old are pulled, re-checked in CI, and updated if needed. - Reader-reported errors — feedback through the contact form is typically reviewed within 1-3 business days. Reproducible reports are fixed and redeployed; the
updatedAtfield reflects the change. - Article retirement — when FFmpeg drops a feature or a better alternative replaces an article's premise, the article is moved back to
published: falserather than deleted, so existing inbound links don't 404 — and internal links to it are rewritten.
How files are processed (privacy)
Video / audio tools (compress, GIF, audio, etc.) run ffmpeg.wasm directly in your browser. Files are not uploaded — everything runs in your device's memory.
Anonymous analytics data (page views, sessions) may be collected via Google Analytics. See the Privacy Policy for details.
Independence and monetization
The site is operated by an individual. To help cover server costs, domain costs, and the time involved in re-verifying articles when FFmpeg releases new versions, it may use Google AdSense, Amazon Associates, A8.net, Gumroad, and similar affiliate programs.
Independence principles followed here:
- Article content does not depend on monetization presence. Commands, recommended settings, and "what to do when it breaks" are written the same way whether or not a page carries ads or affiliate links.
- Comparison articles aren't ordered by affiliate payout. Pieces that compare HandBrake / Cloudconvert / VEED to this site's tools rank options on technical merit, and may recommend the other tool when that fits the user's situation better.
- Ads and affiliate links are always labelled. AdSense placements carry their default labels; affiliate links use
rel="sponsored"or an explicit disclosure at the top of the article. - No affiliate-driven thin comparison pieces. Article count is not a goal in itself. The publication test is: does this solve a problem a reader actually has?
Operator & contact
This site is run under the "FFmpeg Chef" handle by a single individual, and was launched in 2026. The maintainer has an engineering background and uses FFmpeg routinely for video and audio work, both professionally and as a hobby. Article writing, editing, CI maintenance, and tool development are all done by one person — what you read here reflects the perspective of someone actually running the commands, not a team-aggregated take.
Response policy for contact form messages:
- Error reports — typically reviewed within 1-3 business days. Reproducible reports are fixed and redeployed immediately.
- Feature / command requests — prioritized by demand; many become articles or tools. Individual replies aren't guaranteed, but the implementation may end up published.
- Business / sponsored content — sponsored articles are not accepted. However, FFmpeg-related OSS projects or educational materials may be covered on editorial merit.
- Interview / guest post requests — capacity is limited; please include context in the initial message.