0.0.3 • Published 6 months ago

mes-engine v0.0.3

Weekly downloads
-
License
MIT
Repository
-
Last release
6 months ago

mes-engine

A powerful and flexible video processing framework for Node.js with support for multiple processing engines, adaptive streaming, and intelligent caching.

npm version License: MIT

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 engine

Basic 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

0.0.3

6 months ago

0.0.2

6 months ago

0.0.1

6 months ago