Skip to content

Repository files navigation

MediaProc

MediaProc is free and open source for manual, local usage.

In the future, paid plans may be introduced for automation, pipelines, scheduling, and large-scale workflows to support long-term development. Core CLI commands will remain free.

License: MIT Version Node.js

# Install
npm install -g @mediaproc/cli

# Add Image Plugin to use image commands
mediaproc add image

# Process images
mediaproc image resize photo.jpg --width 1920 --height 1080
mediaproc image convert *.jpg --format webp --quality 85

# Add Video Plugin to use image commands
mediaproc add video

# Process videos
mediaproc video compress movie.mp4 --quality high
mediaproc video trim video.mp4 --start 00:01:30 --end 00:03:45

# Add Audio Plugin to use image commands
mediaproc add audio

# Process audio
mediaproc audio convert song.wav --format mp3 --quality high
mediaproc audio normalize podcast.mp3 --target -16

See Plugin Terminology Guide

Why MediaProc?

The Problem: Modern development workflows require multiple tools for media processing:

  • FFmpeg for videos
  • ImageMagick for images
  • SoX for audio
  • Each with different syntax, steep learning curves, and complex workflows

The Solution: MediaProc provides a unified CLI with consistent commands across all media types.

Feature Traditional MediaProc
Tools Needed 5+ separate tools One tool
Installation Complex setup npm install -g @mediaproc/cli
Syntax Different for each Consistent everywhere
Extensibility Limited Plugin architecture

Professional Support

MediaProc is free and open source.

If you need:

  • help integrating MediaProc into your workflow
  • custom pipelines or automation
  • priority fixes or guidance

you can reach out via GitHub Discussions or email me at khanshariq92213@gmail.com.

Announcement

Current (v1.0.0) - Stable Release:

  • ✅ Core CLI with plugin system
  • ✅ Image Plugin (47 commands)
  • ✅ Video Plugin (8 commands)
  • ✅ Audio Plugin (6 commands)
  • ✅ Advanced --explain flag (human, details, json)
  • ✅ Improved validation and reliability
  • ✅ Cleaner core structure
  • ✅ Animation Plugin (using my own orbyt engine , see Orbyt Engine)

Q1 2026:

  • 🚧 Document Plugin
  • 🚧 Comprehensive testing suite
  • 🚧 CI/CD pipeline
  • 🚧 Metadata Plugin

Q2 2026:

  • 📋 Metadata Plugin enhancements
  • 📋 Plugin Marketplace beta

Q3-Q4 2026:

  • 📋 3D Plugin
  • 📋 Stream Plugin
  • 📋 AI Plugin
  • 📋 Workflow automation features

See Upcoming Features for details.

Quick Start

# Install CLI
npm install -g @mediaproc/cli

# Install plugins (or use built-in ones)
mediaproc add image
mediaproc add video
mediaproc add audio

# List available plugins
mediaproc list

# Get help
mediaproc --help
mediaproc image --help

Available Plugins

Built-in Plugins

Included with CLI installation:

Image Plugin (47 commands)

mediaproc image resize photo.jpg --width 1920
mediaproc image convert *.png --format webp
mediaproc image compress image.jpg --quality 85
mediaproc image blur photo.jpg --sigma 10
mediaproc image watermark photo.jpg --watermark "Copyright 2026"

Commands: resize, crop, rotate, flip, convert, compress, optimize, blur, sharpen, grayscale, tint, watermark, thumbnail, and 34 more...

Formats: JPG, PNG, WebP, AVIF, TIFF, GIF, SVG

Full Image Plugin Documentation →

Video Plugin (8 commands)

mediaproc video compress movie.mp4 --quality medium
mediaproc video transcode video.mp4 --format webm --codec vp9
mediaproc video trim video.mp4 --start 10 --end 60
mediaproc video resize 4k-video.mp4 --preset 1080p
mediaproc video merge video1.mp4 video2.mp4 video3.mp4
mediaproc video extract movie.mp4 --type audio --output audio.mp3

Commands: compress, transcode, trim, resize, merge, extract

Formats: MP4, WebM, AVI, MKV, MOV

Full Video Plugin Documentation →

Audio Plugin (6 commands)

mediaproc audio convert song.wav --format mp3 --quality high
mediaproc audio normalize podcast.mp3 --target -16
mediaproc audio trim audio.wav --start 10 --duration 30
mediaproc audio merge track1.mp3 track2.mp3 track3.mp3
mediaproc audio extract video.mp4 --format mp3

Commands: convert, normalize, trim, merge, extract

Formats: MP3, AAC, WAV, FLAC, OGG, Opus

Full Audio Plugin Documentation →

Automation/Pipeline Plugin (3 commands)

mediaproc pipeline explain test-resize.yaml
mediaproc pipeline run test-resize.yaml
mediaproc pipeline validate test-resize.yaml

Commands: run, validate, explain

Formats: YAML, JSON

Full Video Plugin Documentation →

Coming Soon

  • Document - PDF,DOCX,MARKDOWN,PPTX,LATEX,etc processing (Q2 2026)
  • Animation - GIF/Lottie optimization (Q2 2026)
  • 3D - 3D model processing (Q3 2026)
  • Stream - HLS/DASH streaming (Q3 2026)
  • AI - AI-powered features (Q3 2026)

Plugin Management

# List installed plugins
mediaproc list

# Install plugins
mediaproc add <plugin-name>

# Remove plugins
mediaproc remove <plugin-name>

# Update plugins
mediaproc update              # Update all
mediaproc update <plugin>     # Update specific

# Browse available plugins
mediaproc plugins

Examples

Image Processing

# Resize for web
mediaproc image resize photo.jpg --width 1920 --height 1080 --fit cover

# Batch convert to WebP
mediaproc image convert *.jpg --format webp --quality 85

# Create thumbnails
mediaproc image thumbnail photo.jpg --size 256 --output thumb.jpg

# Add watermark
mediaproc image watermark photo.jpg --watermark "© 2026" --position southeast

# Optimize for web
mediaproc image optimize image.jpg --quality 80

Video Processing

# Compress video
mediaproc video compress movie.mp4 --quality medium --output compressed.mp4

# Convert to WebM
mediaproc video transcode video.mp4 --format webm --codec vp9

# Cut segment
mediaproc video trim long-video.mp4 --start 00:10:00 --end 00:15:00

# Scale down
mediaproc video resize 4k-video.mp4 --preset 1080p

# Extract audio
mediaproc video extract movie.mp4 --type audio --output soundtrack.mp3

Audio Processing

# Convert to MP3
mediaproc audio convert song.wav --format mp3 --quality 320k

# Normalize volume
mediaproc audio normalize podcast.mp3 --target -16 --output normalized.mp3

# Merge tracks
mediaproc audio merge intro.mp3 main.mp3 outro.mp3 --output complete.mp3

# Extract from video
mediaproc audio extract video.mp4 --format flac

Automation Processing

# V

CLI Commands

Plugin Management

  • mediaproc add <plugin> - Install plugin
  • mediaproc remove <plugin> - Uninstall plugin
  • mediaproc list - List installed plugins
  • mediaproc plugins - Browse available plugins
  • mediaproc update [plugin] - Update plugin(s)

Help & Info

  • mediaproc --help - Show help
  • mediaproc <plugin> --help - Plugin-specific help
  • mediaproc --version - Show version

Requirements

  • Node.js >= 22.0.0

  • FFmpeg (for video/audio plugins)

    # macOS
    brew install ffmpeg
    
    # Ubuntu/Debian
    sudo apt install ffmpeg
    
    # Windows
    choco install ffmpeg

Development

Project Structure

mediaproc/
├── cli/               # Core CLI source
├── core/              # Core package of MediaProc
├── plugins/           # Official plugins
│   ├── 3d/            # 3d processing
│   ├── ai/            # AI processing
│   └── animation/     # Animation processing
│   └── audio/         # Audio processing
│   └── document/      # Document processing
│   └── image/         # Image processing
│   └── metadata/      # Metadata processing
│   └── pipeline/      # Pipeline processing
│   └── stream/        # Stream processing
│   └── video/         # Video processing
└──  docs/              # Documentation

Build & Test

# Install dependencies
pnpm install

# Build CLI
pnpm build

# Run locally
node dist/cli.js

Creating Plugins

See Plugin Integration Guide for complete documentation on creating your own plugins.

Documentation

Getting Started

Plugin Development

Architecture & Design

Project Guidelines

📚 Full Documentation Website: https://docs-mediaproc.vercel.app

Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

Ways to contribute:

  • 🐛 Report bugs
  • 💡 Suggest features
  • 📝 Improve documentation
  • 🔧 Submit pull requests
  • 🎨 Create plugins

Community

License

MIT © 0xshariq

See LICENSE for details.


Built with ❤️ by @0xshariq

Give us a ⭐️ if you find this project useful!

About

Universal media processing CLI with an extensible plugin architecture. One tool to process all your media - images, videos, audio, documents, and more.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages