MeetingMemo is a multi-camera meeting recording and intelligent analysis system. It supports multi-angle video ingestion, real-time ASR transcription, AI-powered scene analysis, meeting summarization, and multi-round conversational retrieval.
- Multi-Camera Video Ingestion: Record and manage meeting videos from multiple camera angles
- Real-time ASR: Speaker diarization and speech-to-text transcription via FunASR
- AI Video Analysis: Scene understanding and key event extraction using VLM
- Meeting Summarization: Automatic generation of structured meeting summaries
- Intelligent Retrieval: Multi-round conversational Q&A based on RAG (ReAct agent + vector search)
- Live Monitoring: Real-time video stream monitoring and analysis
- Meeting Playback: Browse, search, and replay historical meeting records
MeetingMemo/
├── api/ # FastAPI backend (routes, websockets)
├── common/ # Configuration, logging, exceptions
├── core/ # Core workflows (LangGraph)
│ ├── workflows/ # Ingestion, realtime analysis, retrieval graph
│ ├── tools/ # RAG retrieval tools
│ └── prompts.py # Prompt templates
├── frontend/ # Vue 3 + TailwindCSS web UI
├── media_engine/ # Video processing (extract, HLS, recording, sync)
├── models/ # SQLAlchemy ORM (SQLite + ChromaDB)
├── offline_asr_service/ # Offline ASR service (FunASR + vLLM)
├── services/ # External service clients (VLM, embedding, reranker, ASR)
├── workers/ # Celery async task workers
├── MediaMTX/ # Media server configuration (RTSP)
├── scripts/ # Deployment scripts
└── requirements.txt
- Python 3.10+
- Node.js 16+ (for frontend)
- FFmpeg
- CUDA-capable GPU (for VLM inference)
- Redis (for Celery task queue)
# Create conda environment
conda create -n meeting_memo python=3.11 -y
conda activate meeting_memo
# Install dependencies
pip install -r requirements.txt
# Configure environment variables
cp .env.example .env
# Edit .env with your settings (VLM API, Embedding, Reranker, etc.)
# Start API service
python3 -m uvicorn api.main:app --host 0.0.0.0 --port 8002The frontend source code is located in the frontend/ directory (Vue 3 + TailwindCSS).
See .env.example for a list of required environment variables.
| Component | Technology |
|---|---|
| Backend | FastAPI, LangGraph, LangChain |
| Frontend | Vue 3, TailwindCSS, Vite |
| Database | SQLite, ChromaDB |
| ASR | FunASR (Cam++ diarization) |
| VLM | vLLM (OpenAI-compatible API) |
| Task Queue | Celery + Redis |
| Media | MediaMTX (RTSP), PyAV, FFmpeg |
This project is released under the Apache License 2.0.
MeetingMemo is developed at SCTS & CGCL Lab (http://grid.hust.edu.cn/) by Sun Xuju and Zhu Junwu, supervised by Shao Zhiyuan. For any questions, please contact Sun Xuju ([email protected]), Zhu Junwu ([email protected]) and Shao Zhiyuan ([email protected]).