Back to Skills

ffmpeg-core

verified

FFmpeg fundamentals for video/audio manipulation. Covers common operations (trim, concat, convert, extract), codec selection, filter chains, and performance optimization. Use when planning or executing video processing tasks.

View on GitHub

Marketplace

mag-claude-plugins

MadAppGang/claude-code

Plugin

video-editing

media

Repository
Verified Org

MadAppGang/claude-code
215stars

plugins/video-editing/skills/ffmpeg-core/SKILL.md

Last Verified

January 23, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/MadAppGang/claude-code/blob/main/plugins/video-editing/skills/ffmpeg-core/SKILL.md -a claude-code --skill ffmpeg-core

Installation paths:

Claude
.claude/skills/ffmpeg-core/
Powered by add-skill CLI

Instructions

plugin: video-editing
updated: 2026-01-20

# FFmpeg Core Operations

Production-ready patterns for video and audio manipulation using FFmpeg.

## System Requirements

- **FFmpeg** (5.0+ recommended)
- Verify installation: `ffmpeg -version`
- For hardware acceleration: check `ffmpeg -hwaccels`

### Cross-Platform Installation

**macOS:**
```bash
brew install ffmpeg
```

**Linux (Ubuntu/Debian):**
```bash
sudo apt update && sudo apt install ffmpeg
```

**Linux (Fedora/RHEL):**
```bash
sudo dnf install ffmpeg
```

**Windows:**
```bash
# Using Chocolatey
choco install ffmpeg

# Or download from https://ffmpeg.org/download.html
```

## Common Operations Reference

### 1. Video Information

Extract metadata and stream information:

```bash
# Get full metadata
ffprobe -v quiet -print_format json -show_format -show_streams "input.mp4"

# Get duration only
ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "input.mp4"

# Get resolution
ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=s=x:p=0 "input.mp4"
```

### 2. Trimming and Cutting

```bash
# Trim by time (fast, no re-encoding)
ffmpeg -ss 00:01:30 -i input.mp4 -to 00:02:45 -c copy output.mp4

# Trim with re-encoding (frame-accurate)
ffmpeg -ss 00:01:30 -i input.mp4 -to 00:02:45 -c:v libx264 -c:a aac output.mp4

# Extract specific segment by frames
ffmpeg -i input.mp4 -vf "select=between(n\,100\,500)" -vsync vfr output.mp4
```

### 3. Concatenation

```bash
# Using concat demuxer (same codecs required)
# First create file list:
# file 'clip1.mp4'
# file 'clip2.mp4'
# file 'clip3.mp4'

ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4

# Using concat filter (different codecs, re-encodes)
ffmpeg -i clip1.mp4 -i clip2.mp4 -filter_complex "[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1" output.mp4
```

### 4. Format Conversion

```bash
# MP4 to MOV (ProRes for FCP)
ffmpeg -i input.mp4 -c:v prores_ks -profile:v 3 -c:a pcm_s16le output.mov

# Any to H.264 MP4 (w

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
5233 chars