Skip to content

Releases: EPFL-EMPlus/emplusvault

v1.0.0 - Initial Release

04 Aug 08:52

Choose a tag to compare

EMV v1.0.0 - Initial Release

🎉 Overview

We are excited to announce the first official release of EMV (EPFL Media Vault), a comprehensive media processing and analysis
framework developed at École Polytechnique Fédérale de Lausanne (EPFL). This system is designed to manage large-scale
multimedia archives with advanced features for content analysis, search, and visualization.

✨ Key Features

Media Processing

  • Multi-format Support: Process video, audio, and image files from various sources
  • Automated Ingestion: Batch processing pipelines for RTS, IOC, and MJF archives
  • Clip Extraction: Automatic segmentation of long-form content into meaningful clips

Content Analysis

  • Pose Detection: Advanced pose estimation using YOLO11 models for sports and movement analysis
  • Transcript Generation: Automatic speech-to-text with speaker diarization
  • Named Entity Recognition: Extract people, locations, and organizations from transcripts
  • Visual Feature Extraction: Generate embeddings for similarity search and clustering

Data Management

  • PostgreSQL with pgvector: Efficient storage and retrieval of high-dimensional embeddings
  • S3-Compatible Storage: MinIO integration for media file management
  • RESTful API: FastAPI-based service for programmatic access
  • Row-Level Security: Multi-user support with access control

Search & Retrieval

  • Semantic Search: Find content based on meaning, not just keywords
  • Visual Similarity: Search for similar poses, scenes, or visual patterns
  • Multi-modal Queries: Combine text, visual, and temporal queries

Visualization

  • Interactive Web Interface: Cables.gl-based visualization for exploring media collections
  • Atlas Generation: Create visual summaries of large video collections
  • Projection Mapping: Dimensionality reduction for intuitive data exploration

🛠️ Technical Stack

  • Backend: Python 3.9+, FastAPI, SQLAlchemy
  • Database: PostgreSQL with pgvector extension
  • Storage: MinIO (S3-compatible)
  • ML/AI: PyTorch, Transformers, YOLO, OpenCV
  • Processing: FFmpeg, PyAV
  • Deployment: Docker, Kubernetes support

📦 Installation

Install with Poetry

poetry install
poe force-torch

Set up infrastructure

cd docker
cp .env.example .env
docker compose up -d

Initialize database

cd ..
cp .env.example .env
poe init-db

🚀 Getting Started

  1. Configure environment variables (see .env.example)
  2. Start the API server: poe serve-dev
  3. Access the API documentation at http://localhost:8763/docs
  4. Run processing pipelines: poe run-pipeline --source=rts

📚 Documentation

  • API documentation available at /docs when server is running
  • See README.md for detailed setup and usage instructions
  • Example notebooks in the notebook/ directory

🙏 Acknowledgments

This project was developed as part of the EMPlus project at EPFL for managing and analyzing large multimedia archives. Special
thanks to all contributors and the research teams involved.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

📖 Citation

If you use this software in your research, please cite:

  @software{emv2025,
    title = {EMV - EPFL Media Vault},
    author = {Rattinger, André and Benzi, Kirell and Alliata, Giacomo},
    year = {2025},
    institution = {École Polytechnique Fédérale de Lausanne (EPFL)},
    url = {https://github.com/EPFL-EMPlus/emv}
  }