Skip to content

getevo/mediax

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MediaX - Full Feature Media Serving Server

MediaX is a powerful, scalable media processing and serving server built with Go. It provides on-the-fly media transformation, multiple storage backend support, and high-performance media delivery for images, videos, audio files, and documents.

Features

  • Multi-format Support: Images (JPG, PNG, GIF, WebP, AVIF), Videos (MP4, WebM, AVI, MOV, MKV, FLV, WMV, M4V, 3GP, OGV), Audio (MP3, WAV, FLAC, AAC, OGG, M4A, WMA, Opus), Documents (PDF, DOCX, XLSX, PPTX, DOC, XLS, PPT, ODT, ODS, ODP, TXT, RTF, CSV, EPUB, XML)
  • On-the-fly Processing: Real-time image resizing, video transcoding, audio conversion, and thumbnail generation
  • Multiple Storage Backends: Local filesystem, AWS S3, and HTTP-based storage
  • Domain-based Configuration: Multi-tenant support with domain-specific settings
  • High Performance: Built on the EVO framework with efficient caching and processing
  • RESTful API: Clean API for media management and processing
  • Docker Support: Easy deployment with Docker containers

Quick Start

# Clone the repository
git clone <repository-url>
cd mediax

# Install dependencies
go mod download

# Run the application
go run main.go

The server will start on http://localhost:8080 by default.

Documentation

Comprehensive documentation is available in the docs/ directory:

📚 Core Documentation

🎯 Usage Guides

🚀 Deployment & Operations

🛠️ Development

Example Usage

Basic Image Processing

# Resize image to 800x600
GET /images/photo.jpg?w=800&h=600

# Convert to WebP with 90% quality
GET /images/photo.jpg?f=webp&q=90

# Generate thumbnail maintaining aspect ratio
GET /images/photo.jpg?w=300&ar=true

Video Processing

# Generate video thumbnail
GET /videos/movie.mp4?f=jpg&t=30

# Convert to WebM format
GET /videos/movie.mp4?f=webm&w=1280&h=720

Audio Processing

# Convert audio format
GET /audio/song.mp3?f=flac&q=100

# Extract album art
GET /audio/song.mp3?f=jpg

# Get metadata
GET /audio/song.mp3?detail=true

Document Processing

# Generate thumbnail from PDF
GET /documents/document.pdf?f=jpg&thumbnail=480p

# Generate thumbnail from Office document
GET /documents/presentation.pptx?f=png&thumbnail=1080p

# Get document metadata
GET /documents/spreadsheet.xlsx?detail=true

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

License

[Add your license information here]

Support

[Add support contact information here]

About

No description, website, or topics provided.

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages