Pre-process videos with FFmpeg before blur pipelines — format conversion, trimming, resolution normalization, metadata stripping, and frame-rate standardization. Use when user mentions ffmpeg, video conversion, trim video, normalize format, strip metadata, prepare video for upload, MP4/MOV/MKV conversion, or pre-processing before BGBlur.
Automate repetitive workflows and reduce manual effort
Example: Generate reports, summarize documents, draft communications
Save 3-5 hours per week on routine tasks
Learn new skills, understand complex topics, get expert guidance
Example: Explain concepts, provide examples, suggest learning resources
Accelerate learning and skill development by 2x
Enhance output quality through reviews, suggestions, and refinements
Example: Review drafts, suggest improvements, catch errors
Improve work quality by 30-40% with less effort
Time estimate: 15-45 minutes depending on use case complexity
Prerequisites
Submit your Claude Code skill and start earning
epx add whyashthakker/bgblur-video-skills --skill ffmpeg-video-prepCompatible with
Supported agents
| name | ffmpeg-video-prep |
| description | Pre-process videos with FFmpeg before blur pipelines — format conversion, trimming, resolution normalization, metadata stripping, and frame-rate standardization. Use when user mentions ffmpeg, video conversion, trim video, normalize format, strip metadata, prepare video for upload, MP4/MOV/MKV conversion, or pre-processing before BGBlur. |
| argument-hint | input file path, target format, trim range, or upload constraints |
| allowed-tools | Read, Write, Shell |
Prepare source footage for BGBlur processing. Clean inputs produce faster uploads, better motion tracking, and fewer mask artifacts.
BGBlur accepted formats: MP4, MOV, M4V, AVI, MKV Free tier limits: ≤ 200MB, ≤ 10 minutes Recommended upload spec: H.264 MP4, 1080p or lower, 30fps, metadata stripped
python3 scripts/video_probe.py "input.mov"
Note: codec, resolution, duration, file size, rotation metadata.
Remove intro/outro black frames and irrelevant segments to save credits and processing time.
# Trim from 00:00:05 to 00:02:30 (re-encode for frame-accurate cut)
ffmpeg -i input.mp4 -ss 00:00:05 -to 00:02:30 -c:v libx264 -crf 18 -c:a aac -movflags +faststart output_trimmed.mp4
Fast copy trim (keyframe-aligned, no re-encode — may be off by a few frames):
ffmpeg -ss 00:00:05 -i input.mp4 -to 00:02:25 -c copy output_trimmed.mp4
ffmpeg -i input.mov \
-c:v libx264 -preset medium -crf 20 \
-c:a aac -b:a 128k \
-movflags +faststart \
-pix_fmt yuv420p \
output_ready.mp4
4K → 1080p (reduces size, improves browser processing speed):
ffmpeg -i input_4k.mp4 -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2" \
-c:v libx264 -crf 20 -c:a aac -movflags +faststart output_1080p.mp4
BGBlur motion tracking works best at consistent frame rates. Target 30fps unless source is 24fps cinematic.
# Force 30fps
ffmpeg -i input.mp4 -r 30 -c:v libx264 -crf 20 -c:a aac output_30fps.mp4
# Preserve 24fps cinematic
ffmpeg -i input.mp4 -r 24 -c:v libx264 -crf 20 -c:a aac output_24fps.mp4
Remove GPS, camera model, creation timestamps before external processing:
ffmpeg -i input.mp4 -map_metadata -1 -c:v copy -c:a copy output_clean.mp4
For full re-encode + metadata strip:
ffmpeg -i input.mp4 -map_metadata -1 -c:v libx264 -crf 20 -c:a aac output_clean.mp4
| Problem | Fix |
|---|---|
| Rotated phone video | -vf "transpose=1" (90° CW) or use -autorotate |
| Variable frame rate (VFR) | Re-encode with -vsync cfr -r 30 |
| No audio needed | -an to drop audio track |
| File too large | Lower CRF (23-28) or scale to 720p |
| Corrupt timestamps | -fflags +genpts |
| MKV/AVI source | Re-encode to MP4 (copy may fail) |
Phone rotation fix:
ffmpeg -i input.mp4 -vf "transpose=1" -c:v libx264 -crf 20 -c:a aac output_fixed.mp4
Compress for free tier (< 200MB):
ffmpeg -i input.mp4 -vf "scale=1280:-2" -c:v libx264 -crf 23 -c:a aac -b:a 96k output_small.mp4
python3 scripts/video_probe.py "output_ready.mp4" --check-metadata
Confirm: format MP4, size under limit, duration under 10 min, metadata cleared.
Combine trim + convert + strip metadata:
ffmpeg -ss 00:00:02 -i input.mov -t 00:05:00 \
-map_metadata -1 \
-vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2" \
-r 30 -c:v libx264 -preset medium -crf 20 \
-c:a aac -b:a 128k -movflags +faststart \
output_bgblur_ready.mp4
Pre-Blur Prep:
- [ ] Probed source metadata
- [ ] Trimmed irrelevant segments
- [ ] Converted to MP4 (H.264 + AAC)
- [ ] Normalized to 24 or 30fps
- [ ] Stripped EXIF/GPS metadata
- [ ] Verified size ≤ 200MB (free) or within plan limit
- [ ] Verified duration ≤ 10 min (free)
Upload prepared files at BGBlur Upload. Browser-based processing — no server-side retention after export.
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versionffmpeg-video-prepExecute the skills CLI command in your project's root directory to begin installation:
epx add whyashthakker/bgblur-video-skills --skill ffmpeg-video-prepFetches ffmpeg-video-prep from whyashthakker/bgblur-video-skills and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
.cursor/skills/ffmpeg-video-prep
Restart Cursor to activate ffmpeg-video-prep. Access via /ffmpeg-video-prepin your agent's command palette.
Learn more:View source on GitHubSkills CLI docsAbout CursorWhat are agent skills?
Steps
Common Pitfalls
✓ Do
✗ Don't
💡 Pro Tips
✓ Use when
Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.
✗ Avoid when
Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.
bgblur-api-sdk
whyashthakker/bgblur-video-skills · video · same repo
video-editing
affaan-m/everything-claude-code · Video · tag: video
modern-short-video
imaimai17468/modern-short-video-skills · Video · tag: video
video-motion-graphics
dylantarre/animation-principles · Video · tag: video
video-prompting-guide
inference-sh/skills · Frontend · tag: video
douyin-video-summary
liu-wei-ai/douyin-video-summary · Video · tag: video
Keeps context tight: ffmpeg-video-prep is the kind of skill you can hand to a new teammate without a long onboarding doc.
I recommend ffmpeg-video-prep for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
ffmpeg-video-prep fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
We added ffmpeg-video-prep from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
Registry listing for ffmpeg-video-prep matched our evaluation — installs cleanly and behaves as described in the markdown.
ffmpeg-video-prep reduced setup friction for our internal harness; good balance of opinion and flexibility.
ffmpeg-video-prep has been reliable in day-to-day use. Documentation quality is above average for community skills.
ffmpeg-video-prep reduced setup friction for our internal harness; good balance of opinion and flexibility.
Registry listing for ffmpeg-video-prep matched our evaluation — installs cleanly and behaves as described in the markdown.
Solid pick for teams standardizing on skills: ffmpeg-video-prep is focused, and the summary matches what you get after install.
showing 1-10 of 33