FFmpeg Cookbook

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)

Japanese articles published81, organized by category, each with a primary-source URL
English articles published66, written natively rather than auto-translated
Browser-only tools32, all ffmpeg.wasm based — files never leave your device
CI-verified FFmpeg commands1,300+ bash blocks across articles, executed on every push

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

① Free in-browser toolsCompress, convert, GIF, audio extract, and more — no install needed.
② Reverse-lookup commandsFind the FFmpeg command by starting from "what you want to do".
③ Beginner-friendly explanationsEach setting is explained, with common pitfalls and fixes alongside.

Who this is for

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:

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:

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:

Disclaimer: Information reflects the state at time of writing. FFmpeg behavior varies by version, OS, and environment. Verify against the official FFmpeg documentation before running commands on important data. The operator is not liable for damages from use of this information.

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, feature requests, or other questions are welcome via the contact form. Replies are best-effort.