Skip to main contentmedia-processing
Process multimedia files with FFmpeg (video/audio encoding, conversion, streaming, filtering, hardware acceleration) and ImageMagick (image manipulation, format conversion, batch processing, effects, composition). Use when converting media formats, encoding videos with specific codecs (H.264, H.265, VP9), resizing/cropping images, extracting audio from video, applying filters and effects, optimizing file sizes, creating streaming manifests (HLS/DASH), generating thumbnails, batch processing images, creating composite images, or implementing media processing pipelines. Supports 100+ formats, hardware acceleration (NVENC, QSV), and complex filtergraphs.
跳到安装 用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/mrgoonie/claudekit-skills --skill media-processing命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
同仓库更多 Skills
Integrate Bunny.net services (CDN, Storage, Stream, DNS, Edge Scripting, Shield, Magic Containers, Optimizer, Database). Use when building with Bunny.net APIs, deploying to Bunny CDN, uploading files to Edge Storage, managing video streaming, configuring DNS zones, writing edge scripts, setting up WAF/DDoS protection, deploying containers, or optimizing images. Triggers on "bunny", "bunnycdn", "b-cdn", "pull zone", "edge storage", "bunny stream".
Master context engineering for AI agent systems. Use when designing agent architectures, debugging context failures, optimizing token usage, implementing memory systems, building multi-agent coordination, evaluating agent performance, or developing LLM-powered pipelines. Covers context fundamentals, degradation patterns, optimization techniques (compaction, masking, caching), compression strategies, memory architectures, multi-agent patterns, LLM-as-Judge evaluation, tool design, and project development.
Create or update Claude skills. Use for new skills, skill references, skill scripts, optimizing existing skills, extending Claude's capabilities.
| name | media-processing |
| description | Process multimedia files with FFmpeg (video/audio encoding, conversion, streaming, filtering, hardware acceleration) and ImageMagick (image manipulation, format conversion, batch processing, effects, composition). Use when converting media formats, encoding videos with specific codecs (H.264, H.265, VP9), resizing/cropping images, extracting audio from video, applying filters and effects, optimizing file sizes, creating streaming manifests (HLS/DASH), generating thumbnails, batch processing images, creating composite images, or implementing media processing pipelines. Supports 100+ formats, hardware acceleration (NVENC, QSV), and complex filtergraphs. |
| license | MIT |
Media Processing Skill
Process video, audio, and images using FFmpeg and ImageMagick command-line tools for conversion, optimization, streaming, and manipulation tasks.
When to Use This Skill
Use when:
- Converting media formats (video, audio, images)
- Encoding video with codecs (H.264, H.265, VP9, AV1)
- Processing images (resize, crop, effects, watermarks)
- Extracting audio from video
- Creating streaming manifests (HLS/DASH)
- Generating thumbnails and previews
- Batch processing media files
- Optimizing file sizes and quality
- Applying filters and effects
- Creating composite images or videos
Tool Selection Guide
FFmpeg: Video/Audio Processing
Use FFmpeg for:
- Video encoding, conversion, transcoding
- Audio extraction, conversion, mixing
- Live streaming (RTMP, HLS, DASH)
- Video filters (scale, crop, rotate, overlay)
- Hardware-accelerated encoding
Media file inspection (ffprobe)Frame extraction, concatenationCodec selection and optimizationImageMagick: Image Processing
- Image format conversion (PNG, JPEG, WebP, GIF)
- Resizing, cropping, transformations
- Batch image processing (mogrify)
- Visual effects (blur, sharpen, sepia)
- Text overlays and watermarks
- Image composition and montages
- Color adjustments, filters
- Thumbnail generation
Decision Matrix
| Task | Tool | Why |
|---|
| Video encoding | FFmpeg | Native video codec support |
| Audio extraction | FFmpeg | Direct stream manipulation |
| Image resize | ImageMagick | Optimized for still images |
| Batch images | ImageMagick | mogrify for in-place edits |
| Video thumbnails | FFmpeg | Frame extraction built-in |
| GIF creation | FFmpeg or ImageMagick | FFmpeg for video source, ImageMagick for images |
| Streaming | FFmpeg | Live streaming protocols |
| Image effects | ImageMagick | Rich filter library |
Installation
macOS
brew install ffmpeg imagemagick
Ubuntu/Debian
sudo apt-get install ffmpeg imagemagick
Windows
winget install ffmpeg
winget install ImageMagick.ImageMagick
Verify Installation
ffmpeg -version
ffprobe -version
magick -version
convert -version
Quick Start Examples
Video Conversion
ffmpeg -i input.mkv -c copy output.mp4
ffmpeg -i input.avi -c:v libx264 -crf 22 -c:a aac output.mp4
ffmpeg -i input.mp4 -vf scale=-1:720 -c:a copy output.mp4
Audio Extraction
ffmpeg -i video.mp4 -vn -c:a copy audio.m4a
ffmpeg -i video.mp4 -vn -q:a 0 audio.mp3
Image Processing
magick input.png output.jpg
magick input.jpg -resize 800x600 output.jpg
magick input.jpg -resize 200x200^ -gravity center -extent 200x200 thumb.jpg
Batch Image Resize
mogrify -resize 800x -quality 85 *.jpg
mogrify -path ./output -resize 800x600 *.jpg
Video Thumbnail
ffmpeg -ss 00:00:05 -i video.mp4 -vframes 1 -vf scale=320:-1 thumb.jpg
HLS Streaming
ffmpeg -i input.mp4 \
-c:v libx264 -preset fast -crf 22 -g 48 \
-c:a aac -b:a 128k \
-f hls -hls_time 6 -hls_playlist_type vod \
playlist.m3u8
Image Watermark
magick input.jpg watermark.png -gravity southeast \
-geometry +10+10 -composite output.jpg
Common Workflows
Optimize Video for Web
ffmpeg -i input.mp4 \
-c:v libx264 -preset slow -crf 23 \
-c:a aac -b:a 128k \
-movflags +faststart \
output.mp4
Create Responsive Images
for size in 320 640 1024 1920; do
magick input.jpg -resize ${size}x -quality 85 "output-${size}w.jpg"
done
Extract Video Segment
ffmpeg -i input.mp4 -ss 00:01:30 -to 00:03:00 \
-c:v libx264 -c:a aac output.mp4
Batch Image Optimization
mogrify -path ./optimized -format jpg -quality 85 -strip *.png
Video GIF Creation
ffmpeg -i input.mp4 -vf "fps=15,scale=640:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" output.gif
Image Blur Effect
magick input.jpg -gaussian-blur 0x8 output.jpg
Advanced Techniques
Multi-Pass Video Encoding
ffmpeg -y -i input.mkv -c:v libx264 -b:v 2600k -pass 1 -an -f null /dev/null
ffmpeg -i input.mkv -c:v libx264 -b:v 2600k -pass 2 -c:a aac output.mp4
Hardware-Accelerated Encoding
ffmpeg -hwaccel cuda -i input.mp4 -c:v h264_nvenc -preset fast -crf 22 output.mp4
ffmpeg -hwaccel qsv -c:v h264_qsv -i input.mp4 -c:v h264_qsv output.mp4
Complex Image Pipeline
magick input.jpg \
-resize 1000x1000^ \
-gravity center \
-crop 1000x1000+0+0 +repage \
-bordercolor black -border 5x5 \
-brightness-contrast 5x10 \
-quality 90 \
output.jpg
Video Filter Chains
ffmpeg -i video.mp4 -i logo.png \
-filter_complex "[0:v]scale=1280:720,hqdn3d[v];[v][1:v]overlay=10:10" \
-c:a copy output.mp4
Animated GIF from Images
magick -delay 100 -loop 0 frame*.png animated.gif
magick animated.gif -fuzz 5% -layers Optimize optimized.gif
Media Analysis
Inspect Video Properties
ffprobe -v quiet -print_format json -show_format -show_streams input.mp4
ffprobe -v error -select_streams v:0 \
-show_entries stream=width,height \
-of csv=s=x:p=0 input.mp4
Image Information
identify image.jpg
identify -verbose image.jpg
identify -format "%f: %wx%h %b\n" image.jpg
Performance Tips
- Use CRF for quality control - Better than bitrate for video
- Copy streams when possible - Avoid re-encoding with
-c copy
- Hardware acceleration - GPU encoding 5-10x faster
- Appropriate presets - Balance speed vs compression
- Batch with mogrify - In-place image processing
- Strip metadata - Reduce file size with
-strip
- Progressive JPEG - Better web loading with
-interlace Plane
- Limit memory - Prevent crashes on large batches
- Test on samples - Verify settings before batch
- Parallel processing - Use GNU Parallel for multiple files
Reference Documentation
Detailed guides in references/:
- ffmpeg-encoding.md - Video/audio codecs, quality optimization, hardware acceleration
- ffmpeg-streaming.md - HLS/DASH, live streaming, adaptive bitrate
- ffmpeg-filters.md - Video/audio filters, complex filtergraphs
- imagemagick-editing.md - Format conversion, effects, transformations
- imagemagick-batch.md - Batch processing, mogrify, parallel operations
- format-compatibility.md - Format support, codec recommendations
Common Parameters
FFmpeg Video
-c:v - Video codec (libx264, libx265, libvpx-vp9)
-crf - Quality (0-51, lower=better, 23=default)
-preset - Speed/compression (ultrafast to veryslow)
-b:v - Video bitrate (e.g., 2M, 2500k)
-vf - Video filters
FFmpeg Audio
-c:a - Audio codec (aac, mp3, opus)
-b:a - Audio bitrate (e.g., 128k, 192k)
-ar - Sample rate (44100, 48000)
ImageMagick Geometry
800x600 - Fit within (maintains aspect)
800x600! - Force exact size
800x600^ - Fill (may crop)
800x - Width only
x600 - Height only
50% - Scale percentage
Troubleshooting
ffmpeg -encoders | grep h264
sudo apt-get install libx264-dev libx265-dev
ImageMagick "not authorized"
sudo nano /etc/ImageMagick-7/policy.xml
ffmpeg -threads 4 input.mp4 output.mp4
magick -limit memory 2GB -limit map 4GB input.jpg output.jpg
Resources