[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C6J6YCPKDYDB91BCP6PD30":3,"skill-same:01M6C6J6YCPKDYDB91BCP6PD30":132},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":14,"repositoryHtmlUrl":51,"repositoryHomepageUrl":6,"ownerHtmlUrl":52,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":53,"install":54,"resources":67},"01M6C6J6YCPKDYDB91BCP6PD30","media-processing",null,"Process multimedia files with FFmpeg (video\u002Faudio 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\u002Fcropping images, extracting audio from video, applying filters and effects, optimizing file sizes, creating streaming manifests (HLS\u002FDASH), generating thumbnails, batch processing images, creating composite images, or implementing media processing pipelines. Supports 100+ formats, hardware acceleration (NVENC, QSV), and complex filtergraphs.","Puh1001\u002FDocumentManager","Puh1001","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F128564816?v=4","01M6C6BTDAB2A0NDDTKSXZM6TY","Puh","01M6C6BTHE27TGEX8P3DKZNGNF",0,"MIT","https:\u002F\u002Fgithub.com\u002FPuh1001\u002FDocumentManager\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fmedia-processing\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"Media","media processing","Audio","images","conversion","pipelines","filters","use","process","filtering","format","image","Composition","Video","encoding","file","streaming","batch","hardware acceleration","2026-11-10 10:12:30",false,"---\nname: media-processing\ndescription: Process multimedia files with FFmpeg (video\u002Faudio 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\u002Fcropping images, extracting audio from video, applying filters and effects, optimizing file sizes, creating streaming manifests (HLS\u002FDASH), generating thumbnails, batch processing images, creating composite images, or implementing media processing pipelines. Supports 100+ formats, hardware acceleration (NVENC, QSV), and complex filtergraphs.\nlicense: MIT\n---\n\n# Media Processing Skill\n\nProcess video, audio, and images using FFmpeg and ImageMagick command-line tools for conversion, optimization, streaming, and manipulation tasks.\n\n## When to Use This Skill\n\nUse when:\n- Converting media formats (video, audio, images)\n- Encoding video with codecs (H.264, H.265, VP9, AV1)\n- Processing images (resize, crop, effects, watermarks)\n- Extracting audio from video\n- Creating streaming manifests (HLS\u002FDASH)\n- Generating thumbnails and previews\n- Batch processing media files\n- Optimizing file sizes and quality\n- Applying filters and effects\n- Creating composite images or videos\n\n## Tool Selection Guide\n\n### FFmpeg: Video\u002FAudio Processing\nUse FFmpeg for:\n- Video encoding, conversion, transcoding\n- Audio extraction, conversion, mixing\n- Live streaming (RTMP, HLS, DASH)\n- Video filters (scale, crop, rotate, overlay)\n- Hardware-accelerated encoding\n- Media file inspection (ffprobe)\n- Frame extraction, concatenation\n- Codec selection and optimization\n\n### ImageMagick: Image Processing\nUse ImageMagick for:\n- Image format conversion (PNG, JPEG, WebP, GIF)\n- Resizing, cropping, transformations\n- Batch image processing (mogrify)\n- Visual effects (blur, sharpen, sepia)\n- Text overlays and watermarks\n- Image composition and montages\n- Color adjustments, filters\n- Thumbnail generation\n\n### Decision Matrix\n\n| Task | Tool | Why |\n|------|------|-----|\n| Video encoding | FFmpeg | Native video codec support |\n| Audio extraction | FFmpeg | Direct stream manipulation |\n| Image resize | ImageMagick | Optimized for still images |\n| Batch images | ImageMagick | mogrify for in-place edits |\n| Video thumbnails | FFmpeg | Frame extraction built-in |\n| GIF creation | FFmpeg or ImageMagick | FFmpeg for video source, ImageMagick for images |\n| Streaming | FFmpeg | Live streaming protocols |\n| Image effects | ImageMagick | Rich filter library |\n\n## Installation\n\n### macOS\n```bash\nbrew install ffmpeg imagemagick\n```\n\n### Ubuntu\u002FDebian\n```bash\nsudo apt-get install ffmpeg imagemagick\n```\n\n### Windows\n```bash\n# Using winget\nwinget install ffmpeg\nwinget install ImageMagick.ImageMagick\n\n# Or download binaries\n# FFmpeg: https:\u002F\u002Fffmpeg.org\u002Fdownload.html\n# ImageMagick: https:\u002F\u002Fimagemagick.org\u002Fscript\u002Fdownload.php\n```\n\n### Verify Installation\n```bash\nffmpeg -version\nffprobe -version\nmagick -version\n# or\nconvert -version\n```\n\n## Quick Start Examples\n\n### Video Conversion\n```bash\n# Convert format (copy streams, fast)\nffmpeg -i input.mkv -c copy output.mp4\n\n# Re-encode with H.264\nffmpeg -i input.avi -c:v libx264 -crf 22 -c:a aac output.mp4\n\n# Resize video to 720p\nffmpeg -i input.mp4 -vf scale=-1:720 -c:a copy output.mp4\n```\n\n### Audio Extraction\n```bash\n# Extract audio (no re-encoding)\nffmpeg -i video.mp4 -vn -c:a copy audio.m4a\n\n# Convert to MP3\nffmpeg -i video.mp4 -vn -q:a 0 audio.mp3\n```\n\n### Image Processing\n```bash\n# Convert format\nmagick input.png output.jpg\n\n# Resize maintaining aspect ratio\nmagick input.jpg -resize 800x600 output.jpg\n\n# Create square thumbnail\nmagick input.jpg -resize 200x200^ -gravity center -extent 200x200 thumb.jpg\n```\n\n### Batch Image Resize\n```bash\n# Resize all JPEGs to 800px width\nmogrify -resize 800x -quality 85 *.jpg\n\n# Output to separate directory\nmogrify -path .\u002Foutput -resize 800x600 *.jpg\n```\n\n### Video Thumbnail\n```bash\n# Extract frame at 5 seconds\nffmpeg -ss 00:00:05 -i video.mp4 -vframes 1 -vf scale=320:-1 thumb.jpg\n```\n\n### HLS Streaming\n```bash\n# Generate HLS playlist\nffmpeg -i input.mp4 \\\n  -c:v libx264 -preset fast -crf 22 -g 48 \\\n  -c:a aac -b:a 128k \\\n  -f hls -hls_time 6 -hls_playlist_type vod \\\n  playlist.m3u8\n```\n\n### Image Watermark\n```bash\n# Add watermark to corner\nmagick input.jpg watermark.png -gravity southeast \\\n  -geometry +10+10 -composite output.jpg\n```\n\n## Common Workflows\n\n### Optimize Video for Web\n```bash\n# H.264 with good compression\nffmpeg -i input.mp4 \\\n  -c:v libx264 -preset slow -crf 23 \\\n  -c:a aac -b:a 128k \\\n  -movflags +faststart \\\n  output.mp4\n```\n\n### Create Responsive Images\n```bash\n# Generate multiple sizes\nfor size in 320 640 1024 1920; do\n  magick input.jpg -resize ${size}x -quality 85 \"output-${size}w.jpg\"\ndone\n```\n\n### Extract Video Segment\n```bash\n# From 1:30 to 3:00 (re-encode for precision)\nffmpeg -i input.mp4 -ss 00:01:30 -to 00:03:00 \\\n  -c:v libx264 -c:a aac output.mp4\n```\n\n### Batch Image Optimization\n```bash\n# Convert PNG to optimized JPEG\nmogrify -path .\u002Foptimized -format jpg -quality 85 -strip *.png\n```\n\n### Video GIF Creation\n```bash\n# High quality GIF with palette\nffmpeg -i input.mp4 -vf \"fps=15,scale=640:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse\" output.gif\n```\n\n### Image Blur Effect\n```bash\n# Gaussian blur\nmagick input.jpg -gaussian-blur 0x8 output.jpg\n```\n\n## Advanced Techniques\n\n### Multi-Pass Video Encoding\n```bash\n# Pass 1 (analysis)\nffmpeg -y -i input.mkv -c:v libx264 -b:v 2600k -pass 1 -an -f null \u002Fdev\u002Fnull\n\n# Pass 2 (encoding)\nffmpeg -i input.mkv -c:v libx264 -b:v 2600k -pass 2 -c:a aac output.mp4\n```\n\n### Hardware-Accelerated Encoding\n```bash\n# NVIDIA NVENC\nffmpeg -hwaccel cuda -i input.mp4 -c:v h264_nvenc -preset fast -crf 22 output.mp4\n\n# Intel QuickSync\nffmpeg -hwaccel qsv -c:v h264_qsv -i input.mp4 -c:v h264_qsv output.mp4\n```\n\n### Complex Image Pipeline\n```bash\n# Resize, crop, border, adjust\nmagick input.jpg \\\n  -resize 1000x1000^ \\\n  -gravity center \\\n  -crop 1000x1000+0+0 +repage \\\n  -bordercolor black -border 5x5 \\\n  -brightness-contrast 5x10 \\\n  -quality 90 \\\n  output.jpg\n```\n\n### Video Filter Chains\n```bash\n# Scale, denoise, watermark\nffmpeg -i video.mp4 -i logo.png \\\n  -filter_complex \"[0:v]scale=1280:720,hqdn3d[v];[v][1:v]overlay=10:10\" \\\n  -c:a copy output.mp4\n```\n\n### Animated GIF from Images\n```bash\n# Create with delay\nmagick -delay 100 -loop 0 frame*.png animated.gif\n\n# Optimize size\nmagick animated.gif -fuzz 5% -layers Optimize optimized.gif\n```\n\n## Media Analysis\n\n### Inspect Video Properties\n```bash\n# Detailed JSON output\nffprobe -v quiet -print_format json -show_format -show_streams input.mp4\n\n# Get resolution\nffprobe -v error -select_streams v:0 \\\n  -show_entries stream=width,height \\\n  -of csv=s=x:p=0 input.mp4\n```\n\n### Image Information\n```bash\n# Basic info\nidentify image.jpg\n\n# Detailed format\nidentify -verbose image.jpg\n\n# Custom format\nidentify -format \"%f: %wx%h %b\\n\" image.jpg\n```\n\n## Performance Tips\n\n1. **Use CRF for quality control** - Better than bitrate for video\n2. **Copy streams when possible** - Avoid re-encoding with `-c copy`\n3. **Hardware acceleration** - GPU encoding 5-10x faster\n4. **Appropriate presets** - Balance speed vs compression\n5. **Batch with mogrify** - In-place image processing\n6. **Strip metadata** - Reduce file size with `-strip`\n7. **Progressive JPEG** - Better web loading with `-interlace Plane`\n8. **Limit memory** - Prevent crashes on large batches\n9. **Test on samples** - Verify settings before batch\n10. **Parallel processing** - Use GNU Parallel for multiple files\n\n## Reference Documentation\n\nDetailed guides in `references\u002F`:\n\n- **ffmpeg-encoding.md** - Video\u002Faudio codecs, quality optimization, hardware acceleration\n- **ffmpeg-streaming.md** - HLS\u002FDASH, live streaming, adaptive bitrate\n- **ffmpeg-filters.md** - Video\u002Faudio filters, complex filtergraphs\n- **imagemagick-editing.md** - Format conversion, effects, transformations\n- **imagemagick-batch.md** - Batch processing, mogrify, parallel operations\n- **format-compatibility.md** - Format support, codec recommendations\n\n## Common Parameters\n\n### FFmpeg Video\n- `-c:v` - Video codec (libx264, libx265, libvpx-vp9)\n- `-crf` - Quality (0-51, lower=better, 23=default)\n- `-preset` - Speed\u002Fcompression (ultrafast to veryslow)\n- `-b:v` - Video bitrate (e.g., 2M, 2500k)\n- `-vf` - Video filters\n\n### FFmpeg Audio\n- `-c:a` - Audio codec (aac, mp3, opus)\n- `-b:a` - Audio bitrate (e.g., 128k, 192k)\n- `-ar` - Sample rate (44100, 48000)\n\n### ImageMagick Geometry\n- `800x600` - Fit within (maintains aspect)\n- `800x600!` - Force exact size\n- `800x600^` - Fill (may crop)\n- `800x` - Width only\n- `x600` - Height only\n- `50%` - Scale percentage\n\n## Troubleshooting\n\n**FFmpeg \"Unknown encoder\"**\n```bash\n# Check available encoders\nffmpeg -encoders | grep h264\n\n# Install codec libraries\nsudo apt-get install libx264-dev libx265-dev\n```\n\n**ImageMagick \"not authorized\"**\n```bash\n# Edit policy file\nsudo nano \u002Fetc\u002FImageMagick-7\u002Fpolicy.xml\n# Change \u003Cpolicy domain=\"coder\" rights=\"none\" pattern=\"PDF\" \u002F>\n# to \u003Cpolicy domain=\"coder\" rights=\"read|write\" pattern=\"PDF\" \u002F>\n```\n\n**Memory errors**\n```bash\n# Limit memory usage\nffmpeg -threads 4 input.mp4 output.mp4\nmagick -limit memory 2GB -limit map 4GB input.jpg output.jpg\n```\n\n## Resources\n\n- FFmpeg: https:\u002F\u002Fffmpeg.org\u002Fdocumentation.html\n- FFmpeg Wiki: https:\u002F\u002Ftrac.ffmpeg.org\u002F\n- ImageMagick: https:\u002F\u002Fimagemagick.org\u002F\n- ImageMagick Usage: https:\u002F\u002Fimagemagick.org\u002FUsage\u002F\n","# Media Processing Skill\n\nProcess video, audio, and images using FFmpeg and ImageMagick command-line tools for conversion, optimization, streaming, and manipulation tasks.\n\n## When to Use This Skill\n\nUse when:\n- Converting media formats (video, audio, images)\n- Encoding video with codecs (H.264, H.265, VP9, AV1)\n- Processing images (resize, crop, effects, watermarks)\n- Extracting audio from video\n- Creating streaming manifests (HLS\u002FDASH)\n- Generating thumbnails and previews\n- Batch processing media files\n- Optimizing file sizes and quality\n- Applying filters and effects\n- Creating composite images or videos\n\n## Tool Selection Guide\n\n### FFmpeg: Video\u002FAudio Processing\nUse FFmpeg for:\n- Video encoding, conversion, transcoding\n- Audio extraction, conversion, mixing\n- Live streaming (RTMP, HLS, DASH)\n- Video filters (scale, crop, rotate, overlay)\n- Hardware-accelerated encoding\n- Media file inspection (ffprobe)\n- Frame extraction, concatenation\n- Codec selection and optimization\n\n### ImageMagick: Image Processing\nUse ImageMagick for:\n- Image format conversion (PNG, JPEG, WebP, GIF)\n- Resizing, cropping, transformations\n- Batch image processing (mogrify)\n- Visual effects (blur, sharpen, sepia)\n- Text overlays and watermarks\n- Image composition and montages\n- Color adjustments, filters\n- Thumbnail generation\n\n### Decision Matrix\n\n| Task | Tool | Why |\n|------|------|-----|\n| Video encoding | FFmpeg | Native video codec support |\n| Audio extraction | FFmpeg | Direct stream manipulation |\n| Image resize | ImageMagick | Optimized for still images |\n| Batch images | ImageMagick | mogrify for in-place edits |\n| Video thumbnails | FFmpeg | Frame extraction built-in |\n| GIF creation | FFmpeg or ImageMagick | FFmpeg for video source, ImageMagick for images |\n| Streaming | FFmpeg | Live streaming protocols |\n| Image effects | ImageMagick | Rich filter library |\n\n## Installation\n\n### macOS\n```bash\nbrew install ffmpeg imagemagick\n```\n\n### Ubuntu\u002FDebian\n```bash\nsudo apt-get install ffmpeg imagemagick\n```\n\n### Windows\n```bash\n# Using winget\nwinget install ffmpeg\nwinget install ImageMagick.ImageMagick\n\n# Or download binaries\n# FFmpeg: https:\u002F\u002Fffmpeg.org\u002Fdownload.html\n# ImageMagick: https:\u002F\u002Fimagemagick.org\u002Fscript\u002Fdownload.php\n```\n\n### Verify Installation\n```bash\nffmpeg -version\nffprobe -version\nmagick -version\n# or\nconvert -version\n```\n\n## Quick Start Examples\n\n### Video Conversion\n```bash\n# Convert format (copy streams, fast)\nffmpeg -i input.mkv -c copy output.mp4\n\n# Re-encode with H.264\nffmpeg -i input.avi -c:v libx264 -crf 22 -c:a aac output.mp4\n\n# Resize video to 720p\nffmpeg -i input.mp4 -vf scale=-1:720 -c:a copy output.mp4\n```\n\n### Audio Extraction\n```bash\n# Extract audio (no re-encoding)\nffmpeg -i video.mp4 -vn -c:a copy audio.m4a\n\n# Convert to MP3\nffmpeg -i video.mp4 -vn -q:a 0 audio.mp3\n```\n\n### Image Processing\n```bash\n# Convert format\nmagick input.png output.jpg\n\n# Resize maintaining aspect ratio\nmagick input.jpg -resize 800x600 output.jpg\n\n# Create square thumbnail\nmagick input.jpg -resize 200x200^ -gravity center -extent 200x200 thumb.jpg\n```\n\n### Batch Image Resize\n```bash\n# Resize all JPEGs to 800px width\nmogrify -resize 800x -quality 85 *.jpg\n\n# Output to separate directory\nmogrify -path .\u002Foutput -resize 800x600 *.jpg\n```\n\n### Video Thumbnail\n```bash\n# Extract frame at 5 seconds\nffmpeg -ss 00:00:05 -i video.mp4 -vframes 1 -vf scale=320:-1 thumb.jpg\n```\n\n### HLS Streaming\n```bash\n# Generate HLS playlist\nffmpeg -i input.mp4 \\\n  -c:v libx264 -preset fast -crf 22 -g 48 \\\n  -c:a aac -b:a 128k \\\n  -f hls -hls_time 6 -hls_playlist_type vod \\\n  playlist.m3u8\n```\n\n### Image Watermark\n```bash\n# Add watermark to corner\nmagick input.jpg watermark.png -gravity southeast \\\n  -geometry +10+10 -composite output.jpg\n```\n\n## Common Workflows\n\n### Optimize Video for Web\n```bash\n# H.264 with good compression\nffmpeg -i input.mp4 \\\n  -c:v libx264 -preset slow -crf 23 \\\n  -c:a aac -b:a 128k \\\n  -movflags +faststart \\\n  output.mp4\n```\n\n### Create Responsive Images\n```bash\n# Generate multiple sizes\nfor size in 320 640 1024 1920; do\n  magick input.jpg -resize ${size}x -quality 85 \"output-${size}w.jpg\"\ndone\n```\n\n### Extract Video Segment\n```bash\n# From 1:30 to 3:00 (re-encode for precision)\nffmpeg -i input.mp4 -ss 00:01:30 -to 00:03:00 \\\n  -c:v libx264 -c:a aac output.mp4\n```\n\n### Batch Image Optimization\n```bash\n# Convert PNG to optimized JPEG\nmogrify -path .\u002Foptimized -format jpg -quality 85 -strip *.png\n```\n\n### Video GIF Creation\n```bash\n# High quality GIF with palette\nffmpeg -i input.mp4 -vf \"fps=15,scale=640:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse\" output.gif\n```\n\n### Image Blur Effect\n```bash\n# Gaussian blur\nmagick input.jpg -gaussian-blur 0x8 output.jpg\n```\n\n## Advanced Techniques\n\n### Multi-Pass Video Encoding\n```bash\n# Pass 1 (analysis)\nffmpeg -y -i input.mkv -c:v libx264 -b:v 2600k -pass 1 -an -f null \u002Fdev\u002Fnull\n\n# Pass 2 (encoding)\nffmpeg -i input.mkv -c:v libx264 -b:v 2600k -pass 2 -c:a aac output.mp4\n```\n\n### Hardware-Accelerated Encoding\n```bash\n# NVIDIA NVENC\nffmpeg -hwaccel cuda -i input.mp4 -c:v h264_nvenc -preset fast -crf 22 output.mp4\n\n# Intel QuickSync\nffmpeg -hwaccel qsv -c:v h264_qsv -i input.mp4 -c:v h264_qsv output.mp4\n```\n\n### Complex Image Pipeline\n```bash\n# Resize, crop, border, adjust\nmagick input.jpg \\\n  -resize 1000x1000^ \\\n  -gravity center \\\n  -crop 1000x1000+0+0 +repage \\\n  -bordercolor black -border 5x5 \\\n  -brightness-contrast 5x10 \\\n  -quality 90 \\\n  output.jpg\n```\n\n### Video Filter Chains\n```bash\n# Scale, denoise, watermark\nffmpeg -i video.mp4 -i logo.png \\\n  -filter_complex \"[0:v]scale=1280:720,hqdn3d[v];[v][1:v]overlay=10:10\" \\\n  -c:a copy output.mp4\n```\n\n### Animated GIF from Images\n```bash\n# Create with delay\nmagick -delay 100 -loop 0 frame*.png animated.gif\n\n# Optimize size\nmagick animated.gif -fuzz 5% -layers Optimize optimized.gif\n```\n\n## Media Analysis\n\n### Inspect Video Properties\n```bash\n# Detailed JSON output\nffprobe -v quiet -print_format json -show_format -show_streams input.mp4\n\n# Get resolution\nffprobe -v error -select_streams v:0 \\\n  -show_entries stream=width,height \\\n  -of csv=s=x:p=0 input.mp4\n```\n\n### Image Information\n```bash\n# Basic info\nidentify image.jpg\n\n# Detailed format\nidentify -verbose image.jpg\n\n# Custom format\nidentify -format \"%f: %wx%h %b\\n\" image.jpg\n```\n\n## Performance Tips\n\n1. **Use CRF for quality control** - Better than bitrate for video\n2. **Copy streams when possible** - Avoid re-encoding with `-c copy`\n3. **Hardware acceleration** - GPU encoding 5-10x faster\n4. **Appropriate presets** - Balance speed vs compression\n5. **Batch with mogrify** - In-place image processing\n6. **Strip metadata** - Reduce file size with `-strip`\n7. **Progressive JPEG** - Better web loading with `-interlace Plane`\n8. **Limit memory** - Prevent crashes on large batches\n9. **Test on samples** - Verify settings before batch\n10. **Parallel processing** - Use GNU Parallel for multiple files\n\n## Reference Documentation\n\nDetailed guides in `references\u002F`:\n\n- **ffmpeg-encoding.md** - Video\u002Faudio codecs, quality optimization, hardware acceleration\n- **ffmpeg-streaming.md** - HLS\u002FDASH, live streaming, adaptive bitrate\n- **ffmpeg-filters.md** - Video\u002Faudio filters, complex filtergraphs\n- **imagemagick-editing.md** - Format conversion, effects, transformations\n- **imagemagick-batch.md** - Batch processing, mogrify, parallel operations\n- **format-compatibility.md** - Format support, codec recommendations\n\n## Common Parameters\n\n### FFmpeg Video\n- `-c:v` - Video codec (libx264, libx265, libvpx-vp9)\n- `-crf` - Quality (0-51, lower=better, 23=default)\n- `-preset` - Speed\u002Fcompression (ultrafast to veryslow)\n- `-b:v` - Video bitrate (e.g., 2M, 2500k)\n- `-vf` - Video filters\n\n### FFmpeg Audio\n- `-c:a` - Audio codec (aac, mp3, opus)\n- `-b:a` - Audio bitrate (e.g., 128k, 192k)\n- `-ar` - Sample rate (44100, 48000)\n\n### ImageMagick Geometry\n- `800x600` - Fit within (maintains aspect)\n- `800x600!` - Force exact size\n- `800x600^` - Fill (may crop)\n- `800x` - Width only\n- `x600` - Height only\n- `50%` - Scale percentage\n\n## Troubleshooting\n\n**FFmpeg \"Unknown encoder\"**\n```bash\n# Check available encoders\nffmpeg -encoders | grep h264\n\n# Install codec libraries\nsudo apt-get install libx264-dev libx265-dev\n```\n\n**ImageMagick \"not authorized\"**\n```bash\n# Edit policy file\nsudo nano \u002Fetc\u002FImageMagick-7\u002Fpolicy.xml\n# Change \u003Cpolicy domain=\"coder\" rights=\"none\" pattern=\"PDF\" \u002F>\n# to \u003Cpolicy domain=\"coder\" rights=\"read|write\" pattern=\"PDF\" \u002F>\n```\n\n**Memory errors**\n```bash\n# Limit memory usage\nffmpeg -threads 4 input.mp4 output.mp4\nmagick -limit memory 2GB -limit map 4GB input.jpg output.jpg\n```\n\n## Resources\n\n- FFmpeg: https:\u002F\u002Fffmpeg.org\u002Fdocumentation.html\n- FFmpeg Wiki: https:\u002F\u002Ftrac.ffmpeg.org\u002F\n- ImageMagick: https:\u002F\u002Fimagemagick.org\u002F\n- ImageMagick Usage: https:\u002F\u002Fimagemagick.org\u002FUsage\u002F\n",{"name":5,"license":15,"description":7},"main","358b3445db2e9648a2a1eb5aa6ccf8d04b40aed5",".cursor\u002Fskills\u002Fmedia-processing","https:\u002F\u002Fgithub.com\u002FPuh1001\u002FDocumentManager","https:\u002F\u002Fgithub.com\u002FPuh1001","2026-08-27 15:22:57",{"source":8,"skillName":5,"commands":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add Puh1001\u002FDocumentManager --skill media-processing",{"tool":60,"command":61},"bunx","bunx skills add Puh1001\u002FDocumentManager --skill media-processing",{"tool":63,"command":64},"pnpm","pnpm dlx skills add Puh1001\u002FDocumentManager --skill media-processing","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FPuh1001\u002FDocumentManager\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fmedia-processing\u002FSKILL.md",true,[68,74,78,82,86,90,94,100,104,108,112,116,120,124,128],{"path":69,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":72,"sourceHtmlUrl":73},"references\u002Fffmpeg-encoding.md","REFERENCE","参考文档",9463,"https:\u002F\u002Fgithub.com\u002FPuh1001\u002FDocumentManager\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fmedia-processing\u002Freferences\u002Fffmpeg-encoding.md",{"path":75,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":76,"sourceHtmlUrl":77},"references\u002Fffmpeg-filters.md",11800,"https:\u002F\u002Fgithub.com\u002FPuh1001\u002FDocumentManager\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fmedia-processing\u002Freferences\u002Fffmpeg-filters.md",{"path":79,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":80,"sourceHtmlUrl":81},"references\u002Fffmpeg-streaming.md",9562,"https:\u002F\u002Fgithub.com\u002FPuh1001\u002FDocumentManager\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fmedia-processing\u002Freferences\u002Fffmpeg-streaming.md",{"path":83,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Fformat-compatibility.md",8667,"https:\u002F\u002Fgithub.com\u002FPuh1001\u002FDocumentManager\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fmedia-processing\u002Freferences\u002Fformat-compatibility.md",{"path":87,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002Fimagemagick-batch.md",12189,"https:\u002F\u002Fgithub.com\u002FPuh1001\u002FDocumentManager\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fmedia-processing\u002Freferences\u002Fimagemagick-batch.md",{"path":91,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Fimagemagick-editing.md",13182,"https:\u002F\u002Fgithub.com\u002FPuh1001\u002FDocumentManager\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fmedia-processing\u002Freferences\u002Fimagemagick-editing.md",{"path":95,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":98,"sourceHtmlUrl":99},"scripts\u002Fbatch_resize.py","SCRIPT","脚本",10196,"https:\u002F\u002Fgithub.com\u002FPuh1001\u002FDocumentManager\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fmedia-processing\u002Fscripts\u002Fbatch_resize.py",{"path":101,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":102,"sourceHtmlUrl":103},"scripts\u002Fmedia_convert.py",8439,"https:\u002F\u002Fgithub.com\u002FPuh1001\u002FDocumentManager\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fmedia-processing\u002Fscripts\u002Fmedia_convert.py",{"path":105,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":106,"sourceHtmlUrl":107},"scripts\u002Frequirements.txt",558,"https:\u002F\u002Fgithub.com\u002FPuh1001\u002FDocumentManager\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fmedia-processing\u002Fscripts\u002Frequirements.txt",{"path":109,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":110,"sourceHtmlUrl":111},"scripts\u002Ftests\u002F.coverage",53248,"https:\u002F\u002Fgithub.com\u002FPuh1001\u002FDocumentManager\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fmedia-processing\u002Fscripts\u002Ftests\u002F.coverage",{"path":113,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":114,"sourceHtmlUrl":115},"scripts\u002Ftests\u002Frequirements.txt",32,"https:\u002F\u002Fgithub.com\u002FPuh1001\u002FDocumentManager\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fmedia-processing\u002Fscripts\u002Ftests\u002Frequirements.txt",{"path":117,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":118,"sourceHtmlUrl":119},"scripts\u002Ftests\u002Ftest_batch_resize.py",10952,"https:\u002F\u002Fgithub.com\u002FPuh1001\u002FDocumentManager\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fmedia-processing\u002Fscripts\u002Ftests\u002Ftest_batch_resize.py",{"path":121,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":122,"sourceHtmlUrl":123},"scripts\u002Ftests\u002Ftest_media_convert.py",7836,"https:\u002F\u002Fgithub.com\u002FPuh1001\u002FDocumentManager\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fmedia-processing\u002Fscripts\u002Ftests\u002Ftest_media_convert.py",{"path":125,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":126,"sourceHtmlUrl":127},"scripts\u002Ftests\u002Ftest_video_optimize.py",12131,"https:\u002F\u002Fgithub.com\u002FPuh1001\u002FDocumentManager\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fmedia-processing\u002Fscripts\u002Ftests\u002Ftest_video_optimize.py",{"path":129,"resourceType":96,"resourceTypeDesc":97,"sizeBytes":130,"sourceHtmlUrl":131},"scripts\u002Fvideo_optimize.py",13064,"https:\u002F\u002Fgithub.com\u002FPuh1001\u002FDocumentManager\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fmedia-processing\u002Fscripts\u002Fvideo_optimize.py",[133,159,187,203,216,230],{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":139,"publishedAt":43},"01M6C6KM8ATYVBF1N5APKVNBB7","web-frameworks","Build modern full-stack web applications with Next.js (App Router, Server Components, RSC, PPR, SSR, SSG, ISR), Turborepo (monorepo management, task pipelines, remote caching, parallel execution), and RemixIcon (3100+ SVG icons in outlined\u002Ffilled styles). Use when creating React applications, implementing server-side rendering, setting up monorepos with multiple packages, optimizing build performance and caching strategies, adding icon libraries, managing shared dependencies, or working with TypeScript full-stack projects.","https:\u002F\u002Fgithub.com\u002FPuh1001\u002FDocumentManager\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fweb-frameworks\u002FSKILL.md",[],[140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,31,156,157,158],"web frameworks","web","packages","performance","components","react","libraries","icons","server","execution","applications","Next.js","projects","stack","parallel","monorepo","router","up","parallel execution",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":173,"publishedAt":43},"01M6C6KB8QQMY48245ME59F53S","ui-styling","Create beautiful, accessible user interfaces with shadcn\u002Fui components (built on Radix UI + Tailwind), Tailwind CSS utility-first styling, and canvas-based visual designs. Use when building user interfaces, implementing design systems, creating responsive layouts, adding accessible components (dialogs, dropdowns, forms, tables), customizing themes and colors, implementing dark mode, generating visual designs and posters, or establishing consistent styling patterns across applications.","https:\u002F\u002Fgithub.com\u002FPuh1001\u002FDocumentManager\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fui-styling\u002FSKILL.md",[165,168],{"categoryNo":166,"categoryName":167,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":169,"categoryName":170,"taxonomyType":171,"taxonomyTypeDesc":172},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[174,175,176,150,177,178,179,180,31,181,182,183,184,185,144,186],"styling","ui","ui styling","first","Tailwind","user","radix ui","design systems","shadcn","design","css","canvas","create",{"skillNo":188,"name":189,"nameZh":6,"description":190,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":191,"categories":192,"keywords":193,"publishedAt":43},"01M6C6K7PSNBKAYJ87DPY53TDH","threejs","Build 3D web apps with Three.js (WebGL\u002FWebGPU). Use for 3D scenes, animations, custom shaders, PBR materials, VR\u002FXR experiences, games, data visualizations, product configurators.","https:\u002F\u002Fgithub.com\u002FPuh1001\u002FDocumentManager\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fthreejs\u002FSKILL.md",[],[189,194,195,196,141,197,198,199,200,201,202,31],"shaders","pbr","webgl","webgpu","product","data","3D","visualizations","js",{"skillNo":204,"name":205,"nameZh":6,"description":206,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":207,"categories":208,"keywords":209,"publishedAt":43},"01M6C6JWR09E0AK5RW0NZ2JCFH","sequential-thinking","Use when complex problems require systematic step-by-step reasoning with ability to revise thoughts, branch into alternative approaches, or dynamically adjust scope. Ideal for multi-stage analysis, design planning, problem decomposition, or tasks with initially unclear scope.","https:\u002F\u002Fgithub.com\u002FPuh1001\u002FDocumentManager\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fsequential-thinking\u002FSKILL.md",[],[210,183,211,212,213,214,215,31],"sequential thinking","tasks","planning","reasoning","analysis","branch",{"skillNo":217,"name":218,"nameZh":6,"description":219,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":220,"categories":221,"keywords":225,"publishedAt":43},"01M6C6JTHFE94X3BM9KDM58Q3R","research","Use when you need to research, analyze, and plan technical solutions that are scalable, secure, and maintainable.","https:\u002F\u002Fgithub.com\u002FPuh1001\u002FDocumentManager\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fresearch\u002FSKILL.md",[222],{"categoryNo":223,"categoryName":224,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",[218,226,31,227,228,229],"technical","plan","secure","analyze",{"skillNo":231,"name":212,"nameZh":6,"description":232,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":233,"categories":234,"keywords":235,"publishedAt":43},"01M6C6JHPABQ6JRE0DFQQSQ2YA","Use when you need to plan technical solutions that are scalable, secure, and maintainable.","https:\u002F\u002Fgithub.com\u002FPuh1001\u002FDocumentManager\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fplanning\u002FSKILL.md",[],[212,31,226,227,228]]