Releases: EPFL-EMPlus/emplusvault
v1.0.0 - Initial Release
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
- Configure environment variables (see .env.example)
- Start the API server: poe serve-dev
- Access the API documentation at http://localhost:8763/docs
- 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}
}