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.
Works with
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:
Fetches 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:
Restart Cursor to activate ffmpeg-video-prep. Access via /ffmpeg-video-prep in your agent's command palette.
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
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
0
total installs
0
this week
0
upvotes
Run in your terminal
0
installs
0
this week
—
stars
| 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.
Prerequisites
Time Estimate
15-45 minutes depending on use case complexity
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.
whyashthakker/agent-skills-marketing
affaan-m/everything-claude-code
remotion-dev/skills
supercent-io/skills-template
heygen-com/skills
inference-sh/skills
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