0.0.3 • Published 10 months ago
mes-engine v0.0.3
mes-engine
A powerful and flexible video processing framework for Node.js with support for multiple processing engines, adaptive streaming, and intelligent caching.
Features
- 🎥 Multiple video processing engines (FFmpeg, GStreamer)
 - 🔄 Adaptive streaming with quality switching
 - 📦 Chunk-based processing for efficient streaming
 - 💾 Flexible storage providers
 - 🚀 Built-in caching strategies (internal/external)
 - 📡 Event-driven architecture
 - 🔌 Extensible plugin system
 
Quick Start
Installation
npm install mes-engine
# Install required engine
npm install ffmpeg-static  # For FFmpeg engine
# or
npm install gstreamer     # For GStreamer engineBasic Usage
import {
  VideoProcessor,
  FFmpegEngine,
  FileSystemStorage,
  InternalCache
} from 'mes-engine';
// Initialize processor
const processor = new VideoProcessor({
  engine: new FFmpegEngine(),
  storage: new FileSystemStorage(),
  cache: new InternalCache({
    maxSize: 1024 * 1024 * 100, // 100MB
    ttl: 3600,
    preloadNextChunk: true
  })
});
// Process video
const manifest = await processor.processVideo('input.mp4');
// Stream video chunk
const stream = await processor.streamChunk(
  manifest.videoId,
  720, // quality
  0    // chunk number
);Documentation
Full documentation is available in the docs directory.
Key Topics:
Supported Engines
- FFmpegEngine: Full-featured video processing using FFmpeg
 - GStreamerEngine: High-performance processing using GStreamer
 - Custom Engines: Create your own by extending 
VideoEngine 
Contributing
Contributions are welcome! Please see our Contributing Guide for details.
License
MIT © Bumho Nisubire