EasyPlatform media-processing
[AI & Tools] Use when processing multimedia files with FFmpeg (video/audio encoding, conversion, streaming), ImageMagick (image manipulation, batch processing), or RMBG (AI background removal). Covers format conversion, resizing, filtering, thumbnails, and media pipelines.
git clone https://github.com/duc01226/EasyPlatform
T=$(mktemp -d) && git clone --depth=1 https://github.com/duc01226/EasyPlatform "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/media-processing" ~/.claude/skills/duc01226-easyplatform-media-processing && rm -rf "$T"
.claude/skills/media-processing/SKILL.md<!-- SYNC:critical-thinking-mindset -->[IMPORTANT] Use
to break ALL work into small tasks BEFORE starting — including tasks for each file read. This prevents context loss from long files. For simple tasks, AI MUST ATTENTION ask user whether to skip.TaskCreate
<!-- /SYNC:critical-thinking-mindset --> <!-- SYNC:ai-mistake-prevention -->Critical Thinking Mindset — Apply critical thinking, sequential thinking. Every claim needs traced proof, confidence >80% to act. Anti-hallucination: Never present guess as fact — cite sources for every claim, admit uncertainty freely, self-check output for errors, cross-reference independently, stay skeptical of own confidence — certainty without evidence root of all hallucination.
<!-- /SYNC:ai-mistake-prevention -->AI Mistake Prevention — Failure modes to avoid on every task:
- Check downstream references before deleting. Deleting components causes documentation and code staleness cascades. Map all referencing files before removal.
- Verify AI-generated content against actual code. AI hallucinates APIs, class names, and method signatures. Always grep to confirm existence before documenting or referencing.
- Trace full dependency chain after edits. Changing a definition misses downstream variables and consumers derived from it. Always trace the full chain.
- Trace ALL code paths when verifying correctness. Confirming code exists is not confirming it executes. Always trace early exits, error branches, and conditional skips — not just happy path.
- When debugging, ask "whose responsibility?" before fixing. Trace whether bug is in caller (wrong data) or callee (wrong handling). Fix at responsible layer — never patch symptom site.
- Assume existing values are intentional — ask WHY before changing. Before changing any constant, limit, flag, or pattern: read comments, check git blame, examine surrounding code.
- Verify ALL affected outputs, not just the first. Changes touching multiple stacks require verifying EVERY output. One green check is not all green checks.
- Holistic-first debugging — resist nearest-attention trap. When investigating any failure, list EVERY precondition first (config, env vars, DB names, endpoints, DI registrations, data preconditions), then verify each against evidence before forming any code-layer hypothesis.
- Surgical changes — apply the diff test. Bug fix: every changed line must trace directly to the bug. Don't restyle or improve adjacent code. Enhancement task: implement improvements AND announce them explicitly.
- Surface ambiguity before coding — don't pick silently. If request has multiple interpretations, present each with effort estimate and ask. Never assume all-records, file-based, or more complex path.
Quick Summary
Goal: Process multimedia files using FFmpeg for video/audio encoding, conversion, streaming, and filtering.
Workflow:
- Identify -- Match input to correct FFmpeg operation (convert, trim, merge, compress)
- Execute -- Run FFmpeg command with appropriate codec and quality settings
- Verify -- Check output file integrity and quality
Key Rules:
- Use tool selection table to pick correct FFmpeg operation
- Prefer hardware-accelerated encoding when available
- Always verify output file exists and is playable
Be skeptical. Apply critical thinking, sequential thinking. Every claim needs traced proof, confidence percentages (Idea should be more than 80%).
Media Processing Skill
Process video, audio, and images using FFmpeg, ImageMagick, and RMBG CLI tools.
Tool Selection
| Task | Tool | Reason |
|---|---|---|
| Video encoding/conversion | FFmpeg | Native codec support, streaming |
| Audio extraction/conversion | FFmpeg | Direct stream manipulation |
| Image resize/effects | ImageMagick | Optimized for still images |
| Background removal | RMBG | AI-powered, local processing |
| Batch images | ImageMagick | mogrify for in-place edits |
| Video thumbnails | FFmpeg | Frame extraction built-in |
| GIF creation | FFmpeg/ImageMagick | FFmpeg for video, ImageMagick for images |
Installation
# macOS brew install ffmpeg imagemagick npm install -g rmbg-cli # Ubuntu/Debian sudo apt-get install ffmpeg imagemagick npm install -g rmbg-cli # Verify ffmpeg -version && magick -version && rmbg --version
Essential Commands
# Video: Convert/re-encode ffmpeg -i input.mkv -c copy output.mp4 ffmpeg -i input.avi -c:v libx264 -crf 22 -c:a aac output.mp4 # Video: Extract audio ffmpeg -i video.mp4 -vn -c:a copy audio.m4a # Image: Convert/resize magick input.png output.jpg magick input.jpg -resize 800x600 output.jpg # Image: Batch resize mogrify -resize 800x -quality 85 *.jpg # Background removal rmbg input.jpg # Basic (modnet) rmbg input.jpg -m briaai -o output.png # High quality rmbg input.jpg -m u2netp -o output.png # Fast
Key Parameters
FFmpeg:
- H.264 codec-c:v libx264
- Quality (0-51, lower=better)-crf 22
- Speed/compression balance-preset slow
- Audio codec-c:a aac
ImageMagick:
- Fit within (maintains aspect)800x600
- Fill (may crop)800x600^
- JPEG quality-quality 85
- Remove metadata-strip
RMBG:
- High quality model-m briaai
- Fast model-m u2netp
- Max resolution-r 4096
References
Detailed guides in
references/:
- Codecs, quality, hardware accelerationffmpeg-encoding.md
- HLS/DASH, live streamingffmpeg-streaming.md
- Filters, complex filtergraphsffmpeg-filters.md
- Effects, transformationsimagemagick-editing.md
- Batch processing, parallel opsimagemagick-batch.md
- AI models, CLI usagermbg-background-removal.md
- Video optimization, responsive images, GIF creationcommon-workflows.md
- Error fixes, performance tipstroubleshooting.md
- Format support, codec recommendationsformat-compatibility.md
Closing Reminders
- MANDATORY IMPORTANT MUST ATTENTION break work into small todo tasks using
BEFORE startingTaskCreate - MANDATORY IMPORTANT MUST ATTENTION search codebase for 3+ similar patterns before creating new code
- MANDATORY IMPORTANT MUST ATTENTION cite
evidence for every claim (confidence >80% to act)file:line - MANDATORY IMPORTANT MUST ATTENTION add a final review todo task to verify work quality <!-- SYNC:critical-thinking-mindset:reminder -->
- MUST ATTENTION apply critical thinking — every claim needs traced proof, confidence >80% to act. Anti-hallucination: never present guess as fact. <!-- /SYNC:critical-thinking-mindset:reminder --> <!-- SYNC:ai-mistake-prevention:reminder -->
- MUST ATTENTION apply AI mistake prevention — holistic-first debugging, fix at responsible layer, surface ambiguity before coding, re-read files after compaction. <!-- /SYNC:ai-mistake-prevention:reminder -->