Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
gupsammy avatar

Convert Video

  • 34 installs
  • 269 repo stars
  • Updated June 11, 2026
  • gupsammy/claudest

convert-video is an agent skill that performs general FFmpeg video manipulation with user-confirmed ffprobe and ffmpeg commands.

About

convert-video is a Claude agent skill for solo builders who need general FFmpeg video work—format changes, trims, speed ramps, resize, rotation, flip, and remux—without pulling in sibling skills for compression, GIFs, social presets, or audio/frame extraction. It instructs the agent to classify the operation first, probe with ffprobe when codec or dimensions matter, build a single chained command for multi-step edits, ask for confirmation, then report output path and size. Allowed tools are scoped Bash for ffprobe and ffmpeg plus AskUserQuestion. It fits indie founders prepping launch demos, course creators normalizing footage, and developers embedding MP4 assets in docs or marketing sites. Use when triggers like convert this video, change format to mp4, trim from X to Y, timelapse, or remux appear and the task is not covered by the dedicated media skills in the same family.

  • Maps user intent to FFmpeg operation patterns before running commands
  • Probes codec with ffprobe for safe remux versus re-encode decisions
  • Chains trim, resize, speed, rotate, and convert in one ffmpeg invocation
  • Confirms with the user before executing shell ffmpeg/ffprobe
  • Explicitly excludes compress-video, make-gif, share-social, extract-audio, and extract-frames scopes

Convert Video by the numbers

  • 34 all-time installs (skills.sh)
  • Ranked #949 of 1,335 Generative Media skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/gupsammy/claudest --skill convert-video

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs34
repo stars269
Security audit3 / 3 scanners passed
Last updatedJune 11, 2026
Repositorygupsammy/claudest

What it does

Convert, trim, remux, speed-change, resize, rotate, or flip local videos with ffprobe and ffmpeg when the job is outside compress, GIF, social-share, or audio/frame extract skills.

Who is it for?

Best when you have ffmpeg installed and need one-off convert/trim/speed/resize jobs outside specialized compress or GIF skills.

Skip if: Compression-only workflows, GIF creation, social platform export presets, or audio/frame extraction—those belong to sibling claudest media skills.

When should I use this skill?

User asks to convert this video, change format to mp4, trim, cut, speed up, slow motion, timelapse, resize, scale, rotate, flip, remux, or general FFmpeg manipulation not covered by compress-video, make-gif, share-social

What you get

You get a confirmed ffmpeg pipeline and a reported output file path and size, with multi-step filters applied in one run when possible.

  • Converted or edited video file at a reported path
  • Output file size summary after successful run

Files

SKILL.mdMarkdownGitHub ↗

Video Convert

Identify the operation type first, then apply the matching pattern below. For multi-operation requests (e.g., trim + resize + convert), chain all filters in a single ffmpeg invocation — avoid intermediate files.

Process

1. Identify the operation(s) from the user's request. 2. Probe codec when converting formats; probe dimensions when resizing. Speed, rotation, flip, and frame extraction do not require probing. 3. Construct the command using the appropriate pattern. 4. Confirm with the user before running. 5. Run and report output file path and size.

Operation Patterns

Format Conversion

Probe codec first — determines whether -c copy is safe:

ffprobe -v quiet -show_streams "$INPUT" | grep codec_name
# Remux: same codec, different container (e.g., H.264 MKV → MP4) — instant, lossless:
ffmpeg -i input.mkv -c copy output.mp4

# Re-encode: different codec required:
ffmpeg -i input.avi -c:v libx264 -crf 23 -c:a aac -b:a 128k output.mp4

Trimming

# Fast trim without re-encoding (-ss before -i = container-level seek):
ffmpeg -ss 00:01:30 -to 00:03:45 -i "$INPUT" -c copy "$OUTPUT"

# Re-encoding trim (use when -c copy causes A/V sync issues near keyframes):
ffmpeg -ss 00:01:30 -to 00:03:45 -i "$INPUT" -c:v libx264 -crf 23 -c:a copy "$OUTPUT"

Always try -c copy first. Fall back to re-encoding only if the user reports sync issues or the cut must land on a non-keyframe boundary.

Speed Change

# 2x speed:
ffmpeg -i "$INPUT" -filter:v "setpts=0.5*PTS" -filter:a "atempo=2.0" "$OUTPUT"

# 0.5x slow-motion:
ffmpeg -i "$INPUT" -filter:v "setpts=2.0*PTS" -filter:a "atempo=0.5" "$OUTPUT"

setpts factor = 1 / speed_multiplier. atempo range is 0.5–2.0 — chain for higher multiples: atempo=2.0,atempo=2.0 achieves 4x. For silent video, omit -filter:a entirely.

Resize / Scale

Probe dimensions first: ffprobe -v quiet -show_streams "$INPUT" | grep -E "width|height"

# Scale to width, auto height (-2 ensures H.264-compatible even height):
ffmpeg -i "$INPUT" -vf "scale=1280:-2" -c:a copy "$OUTPUT"

# Fit within bounding box without upscaling:
ffmpeg -i "$INPUT" \
  -vf "scale='min(1280,iw)':'min(720,ih)':force_original_aspect_ratio=decrease,pad=ceil(iw/2)*2:ceil(ih/2)*2" \
  -c:a copy "$OUTPUT"

Rotation / Flip

# 90° clockwise:         ffmpeg -i "$INPUT" -vf "transpose=1" "$OUTPUT"
# 90° counter-clockwise: ffmpeg -i "$INPUT" -vf "transpose=2" "$OUTPUT"
# 180°:                  ffmpeg -i "$INPUT" -vf "transpose=1,transpose=1" "$OUTPUT"
# Horizontal flip:       ffmpeg -i "$INPUT" -vf "hflip" "$OUTPUT"
# Vertical flip:         ffmpeg -i "$INPUT" -vf "vflip" "$OUTPUT"

Frame Extraction

# Single frame at timestamp:
ffmpeg -ss 00:00:10 -i "$INPUT" -frames:v 1 -q:v 2 output.jpg

# One frame every N seconds:
ffmpeg -i "$INPUT" -vf "fps=1/$N" -q:v 2 frames/frame_%04d.jpg

-q:v 2 is near-maximum JPEG quality. Use -q:v 1 for the highest quality setting.

Key Decisions

  • Never upscale — add force_original_aspect_ratio=decrease when fitting to a bounding box.
  • For multi-filter operations, chain with commas in a single -vf; but -filter:v and -filter:a must remain separate flags.
  • Use -c:a copy in all re-encode operations unless the audio format itself needs to change.
  • If ffprobe reveals a rotate metadata tag on the stream, use -vf "transpose=..." to bake rotation into pixels — -c copy preserves the metadata flag without rotating the actual frame data, which confuses many players.

Related skills

How it compares

Narrow FFmpeg workflow skill for general edits—not a browser-based editor or cloud transcoding SaaS.

FAQ

Who is convert-video for?

Developers and content-focused solos who drive video changes through Claude Code or similar agents with local ffmpeg access.

When should I use convert-video?

Use it during Build docs when preparing demo MP4s, in Grow content when normalizing clips for posts, and before Launch distribution when you need container or codec fixes without re-exporting from an NLE.

Is convert-video safe to install?

It allows shell ffmpeg and ffprobe on user files; review Security Audits on this Prism page and only confirm commands you understand before execution.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.