ffmpeg-python-integration-reference
Authoritative Python-FFmpeg parameter integration reference ensuring type safety, accurate parameter mappings, and proper unit conversions. PROACTIVELY activate for: (1) ffmpeg-python library usage, (2) Python subprocess FFmpeg calls, (3) Caption/subtitle parameter mapping (drawtext, ASS), (4) Color format conversions (BGR, RGB, ABGR, ASS &HAABBGGRR), (5) Time unit conversions (seconds, centiseconds, milliseconds), (6) Type safety validation (int, float, string), (7) Coordinate systems, (8) Parameter range enforcement, (9) Frame pipe handling, (10) Error detection for type mismatches. Provides: Complete parameter type reference, color format conversion tables, time unit conversion formulas, validation patterns, working Python examples with proper typing.
What this skill does
# Python-FFmpeg Integration Reference Use this skill when Python code is constructing FFmpeg commands, filters, ASS subtitles, or raw-frame pipes and the risk is a type, unit, color, or stream-mapping bug. This SKILL is a lean orchestrator; detailed tables and full code examples live in `references/python-ffmpeg-reference.md`. ## When to Use - `ffmpeg-python` stream graphs and filter arguments - Python `subprocess` calls to FFmpeg - `drawtext`, ASS/SSA, karaoke, and animated caption parameter mapping - RGB/BGR/ASS color conversion bugs - Seconds vs centiseconds vs milliseconds confusion - Raw frame pipe I/O with NumPy/OpenCV - Range/type validation before command execution ## Critical Rules 1. **Validate types before passing parameters.** `fontsize` and `crf` are integers; bitrates are strings with units such as `5M` or `192k`; FFmpeg expressions are strings. 2. **Quote FFmpeg expressions in Python.** Use `x="(w-tw)/2"`, not Python variables named `w` or `tw`. 3. **Handle audio explicitly.** In `ffmpeg-python`, a video filter chain usually drops audio unless you map `input_file.audio` into the output. 4. **Know the color context.** FFmpeg drawtext colors are RGB/named strings; OpenCV arrays are BGR; ASS colors are `&HAABBGGRR`. 5. **Know the time context.** FFmpeg filters use seconds; ASS karaoke tags use centiseconds; ASS animation tags use milliseconds. ## Quick Reference | FFmpeg / ASS parameter | Python type | Format / range | Common failure | |---|---:|---|---| | `-crf` | `int` or `str` | H.264/H.265 `0-51` | passing `18.5` | | `-b:v`, `-b:a` | `str` | `5M`, `1000k`, `192k` | raw integer without unit | | `fontsize` | `int` | practical `12-200` | passing `'24'` | | `fontcolor` | `str` | `white`, `#FFFFFF`, `0xFFFFFF` | RGB tuple/list | | ASS colour | `str` | `&HAABBGGRR` | using RGB byte order | | `x`, `y`, `alpha`, `enable` | `str` for expressions | `'(w-tw)/2`, `between(t,1,5)` | unquoted expression | ## Core Workflow 1. Probe the input or metadata source so you know width, height, fps, duration, and stream availability. 2. Choose the integration layer: `ffmpeg-python` for command graphs, `subprocess` for full CLI parity and pipes, PyAV for frame-level library access. 3. Normalize color and time units at the Python boundary. 4. Validate parameters and ranges before building a command. 5. Map audio/subtitle streams intentionally. 6. Run on a short sample first; capture stderr for actionable FFmpeg errors. ## Reference Map - `references/python-ffmpeg-reference.md` - Full preserved reference: color conversion functions, ASS style structures, karaoke/animation helpers, drawtext parameter tables, `ffmpeg-python` examples, subprocess pipe patterns, pitfalls, validation helpers, full working examples. ## Related Skills - `ffmpeg-opencv-integration` - OpenCV/NumPy frame pipelines and BGR/RGB handoff - `ffmpeg-pyav-integration` - PyAV frame-level API patterns - `ffmpeg-captions-subtitles` - Subtitle extraction, burn-in, and styling - `ffmpeg-animation-timing-reference` - Timing units, readability, easing, and sync
Related in Ads & Marketing
ads
IncludedMulti-platform paid advertising audit and optimization skill. Analyzes Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, and Apple Ads. 250+ checks with scoring, parallel agents, industry templates, and AI creative generation.
banana
IncludedAI image generation Creative Director powered by Google Gemini Nano Banana models. Use this skill for ANY request involving image creation, editing, visual asset production, or creative direction. Triggers on: generate an image, create a photo, edit this picture, design a logo, make a banner, visual for my anything, and all /banana commands. Handles text-to-image, image editing, multi-turn creative sessions, batch workflows, and brand presets.
rpg-migration-analyzer
IncludedAnalyzes legacy RPG (Report Program Generator) programs from AS/400 and IBM i systems for migration to modern Java applications. Extracts business logic from RPG III/IV/ILE source code, identifies data structures (D-specs), file operations (F-specs), program dependencies (CALLB/CALLP), and converts RPG constructs to Java equivalents. Generates migration reports, complexity estimates, and Java implementation strategies with POJO classes, JPA entities, and service methods. Use when modernizing AS/400 or IBM i legacy systems, analyzing RPG source files (.rpg, .rpgle, .RPGLE), converting RPG to Java, mapping data specifications to Java classes, planning legacy system migration, or when user mentions RPG analysis, Report Program Generator, RPG III/IV/ILE, AS/400 modernization, IBM i migration, packed decimal conversion, or mainframe application rewrite.
brand-library-architect
IncludedBuild a complete brand library for a product — visual asset render pipeline, brand documentation set (BRAND, COPY, MANIFESTO, BIOS, FAQ, GLOSSARY, TONE, PRICING), open-source convention files (README, CONTRIBUTING, SECURITY, CODE_OF_CONDUCT), and a self-contained press kit. This skill should be used when the user asks to "build a brand library / brand kit / press kit / brand assets" for a product, "set up a brand library workflow," "create a positioning manifesto plus visual identity," or any combination of brand documentation + visual asset pipeline. Apply phase-by-phase or run end-to-end. Templates are product-agnostic and use {{TOKEN}} placeholders the skill prompts the user to fill.
writing-tech-post
IncludedAuthors engineering blog posts end-to-end: launch deep-dives, incident postmortems, architecture migrations, performance case studies, tutorials, AI/agent system writeups, security disclosures, and research-to-product translations. Picks the correct archetype, plans the abstraction ladder, enforces an evidence cadence (diagrams, benchmarks, profiles, traces, code, ablations), tunes voice against publisher house styles (Datadog, Vercel, GitHub, AWS, Meta, Cloudflare, Jane Street), and runs a pre-publish gate for narrative momentum and disclosure ethics. Use when drafting a new engineering post, restructuring a draft that feels flat, deciding which evidence form belongs where, validating that depth and product context are balanced, or preparing a postmortem, migration, or performance narrative for external publication. Do not use for API reference documentation, README authoring, marketing copy, release notes, generic SEO content, ghost-written executive thought leadership, or non-engineering long-form essays.
blog-google
IncludedGoogle API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity analysis for E-E-A-T, YouTube video search for embedding, and Google Ads Keyword Planner. Progressive feature availability based on credential tier (API key, OAuth/service account, GA4, Ads). Shares config with claude-seo at ~/.config/claude-seo/google-api.json. Use when user says "google data", "page speed", "core web vitals", "search console", "indexation", "GA4", "keyword research", "nlp entities", "blog performance", "youtube search", "google api setup".