A meeting recording, transcription, and summarization system. Record your screen/audio with FFmpeg, transcribe with Whisper, and summarize with OpenAI.
# Install dependencies
pip install -r requirements.txt
# Set up environment variables
cp .env.example .env
nano .env # Add your OpenAI API key# Install FFmpeg with Homebrew
brew install ffmpeg
# Check screen recording permissions
# System Settings > Security & Privacy > Screen Recording- Get your API key from OpenAI Platform
- Add it to your
.envfile:
OPENAI_API_KEY=sk-your-api-key-here
# Help
python main.py --help
# Start screen recording
python main.py record
# Timed recording (60 seconds)
python main.py record --duration 60
# Extract audio from video
python main.py extract video.mp4
# Transcribe audio file
python main.py transcribe audio.wav --language en
# Summarize transcript
python main.py summarize transcript.txt --type comprehensive
# Full pipeline (Video β Audio β Transcript β Summary)
python main.py process video.mp4 --language en --summary-type brief# 1. Screen recording
python screen_recorder.py
# 2. Extract audio
python audio_extractor.py video.mp4
# 3. Transcription
python transcriber.py audio.wav en
# 4. Summarization
python summarizer.py transcript.txt en comprehensivemeet-summarizer/
βββ recordings/ # Video recordings
βββ audio/ # Audio files
βββ transcripts/ # Transcription files
βββ summaries/ # AI summaries
tiny: Fastest, lowest qualitybase: Balanced (default)small: Good qualitymedium: High qualitylarge: Best quality, slowest
comprehensive: Detailed summary (default)brief: Short summary (200 words)action_items: Action items only
en: Englishtr: Turkishde: Germanfr: Frenches: Spanish- and more...
- Uses macOS AVFoundation
- Records both screen and audio
- Duration limit
- Stop with Ctrl+C
- High-quality audio extraction with FFmpeg
- Multiple format support
- Mono audio (optimal for Whisper)
- Uses OpenAI Whisper
- Word-level timestamps
- SRT subtitle output
- Multi-language support
- Smart summaries with GPT-4
- Multiple summary types
- Token usage tracking
- Sentiment analysis
# List audio devices on macOS
python main.py devices
# Check permissions
# System Settings > Security & Privacy > Screen Recording# Use a smaller model
python main.py transcribe audio.wav --model tiny# Check your API key
echo $OPENAI_API_KEY
# Check your usage/quota
# https://platform.openai.com/usage# File counts and sizes
python main.py status- Privacy: Recordings are stored locally only
- API Cost: OpenAI API is a paid service
- Performance: Large files may take time to process
- Disk Space: Video files can be large
MIT License - See LICENSE for details.
- Fork this repo
- Create a feature branch
- Commit your changes
- Open a pull request
For issues, please use GitHub Issues.