Tushar2005Bhadane/video-agent
0
🎬 AI Video Assistant
An intelligent meeting analysis tool that transcribes, summarizes, and lets you chat with your video content using RAG (Retrieval-Augmented Generation).
✨ Features
- 🔊 Audio Processing — Supports YouTube URLs and local video/audio files
- 📠Transcription — Whisper (English) + Sarvam AI Saaras v3 (Hinglish)
- 📋 Summarization — AI-powered meeting summaries
- ✅ Action Items — Automatically extracts action items
- 🔑 Key Decisions — Identifies important decisions made
- ⓠOpen Questions — Highlights unresolved questions
- 💬 RAG Chat — Chat with your meeting transcript using natural language
ðŸ› ï¸ Tech Stack
🚀 Getting Started (Local)
Prerequisites
- Python 3.10+
- ffmpeg installed on your system
Installation
# Clone the repo
git clone https://github.com/Tushar6405/video-agent.git
cd video-agent
# Create virtual environment
python -m venv .venv
.venv\Scripts\activate # Windows
source .venv/bin/activate # Mac/Linux
# Install dependencies
pip install -r requirements.txtEnvironment Variables
Create a .env file in the root directory:
MISTRAL_API_KEY=your_mistral_api_key_here
SARVAM_API_KEY=your_sarvam_api_key_hereGet your Sarvam API key at dashboard.sarvam.ai.
Run the app
streamlit run app.pyThen open http://localhost:8501 in your browser.
â˜ï¸ Deploy on Streamlit Cloud
- Push your code to GitHub (make sure
app.pyandrequirements.txtare in the root).
- Go to [share.streamlit.io](https://share.streamlit.io) and sign in with your GitHub account.
- Click "New app" and fill in:
- Repository:
Tushar6405/video-agent - Branch:
main - Main file path:
app.py
- Add your secret keys:
- In the Streamlit Cloud dashboard, go to Settings → Secrets
- Add the following:
MISTRAL_API_KEY = "your_mistral_api_key_here"
SARVAM_API_KEY = "your_sarvam_api_key_here"- Add system packages — Streamlit Cloud uses your
packages.txtto install system-level dependencies. Make surepackages.txtcontains:
ffmpeg- Click "Deploy" — your app will be live at:
https://your-app-name.streamlit.appâš ï¸ Note on Whisper: Streamlit Cloud's free tier has limited RAM (~1GB). Use a smaller Whisper model (tinyorbase) for English transcription to avoid memory errors. Hinglish uses Sarvam AI's cloud API so no RAM impact there.
🌠Transcription Details
Sarvam's Saaras v2.5 is purpose-built for Indian languages and handles mid-sentence switching between Hindi and English (code-mixing) without any drops or accuracy loss.
📠Project Structure
video-agent/
├── app.py # Main Streamlit UI
├── main.py # CLI entry point
├── requirements.txt # Python dependencies
├── packages.txt # System dependencies (ffmpeg)
├── readme.md
├── .gitignore
├── core/
│ ├── transcriber.py # Whisper (English) + Sarvam (Hinglish)
│ ├── summarizer.py # LLM summarization
│ ├── extractor.py # Action items, decisions, questions
│ ├── rag_engine.py # RAG pipeline
│ └── vector_store.py # ChromaDB vector store
├── utils/
│ └── audio_processor.py # Audio download & chunking
└── downloades/ # Temporary audio files (gitignored)💡 Usage
- Paste a YouTube URL or local file path in the sidebar
- Select your language (English or Hinglish)
- Click Analyse
- View transcript, summary, action items, decisions and questions
- Chat with your meeting using the RAG chatbot
âš™ï¸ CLI Usage
python main.py📄 License
MIT License
🙠Acknowledgements
- OpenAI Whisper
- Sarvam AI — Saaras v2.5 for Hinglish transcription
- LangChain
- Mistral AI
- Streamlit
