Skip to content

CGCL-codes/MeetingMemo

Repository files navigation

MeetingMemo

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.

Features

  • 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

Architecture

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

Prerequisites

  • Python 3.10+
  • Node.js 16+ (for frontend)
  • FFmpeg
  • CUDA-capable GPU (for VLM inference)
  • Redis (for Celery task queue)

Quick Start

1. Backend

# 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 8002

2. Frontend

The frontend source code is located in the frontend/ directory (Vue 3 + TailwindCSS).

3. Environment Variables

See .env.example for a list of required environment variables.

Tech Stack

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

License

This project is released under the Apache License 2.0.

Contact

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]).

About

LLM-based Multi-View Intelligent Meeting Agent

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors