# Meeting Processor Extract screen content from meeting recordings and merge with Whisper transcripts for better Claude summarization. ## Overview This tool enhances meeting transcripts by combining: - **Audio transcription** (from Whisper) - **Screen content** (OCR from screen shares) The result is a rich, timestamped transcript that provides full context for AI summarization. ## Installation ### 1. System Dependencies **Tesseract OCR** (recommended): ```bash # Ubuntu/Debian sudo apt-get install tesseract-ocr # macOS brew install tesseract # Arch Linux sudo pacman -S tesseract ``` **FFmpeg** (for scene detection): ```bash # Ubuntu/Debian sudo apt-get install ffmpeg # macOS brew install ffmpeg ``` ### 2. Python Dependencies ```bash pip install -r requirements.txt ``` ### 3. Whisper (for audio transcription) ```bash pip install openai-whisper ``` ### 4. Optional: Install Alternative OCR Engines ```bash # EasyOCR (better for rotated/handwritten text) pip install easyocr # PaddleOCR (better for code/terminal screens) pip install paddleocr ``` ## Quick Start ### Recommended: Run Everything in One Command ```bash python process_meeting.py samples/meeting.mkv --run-whisper ``` This will: 1. Run Whisper transcription (audio → text) 2. Extract frames every 5 seconds 3. Run OCR to extract screen text 4. Merge audio + screen content 5. Save everything to `output/` folder ### Alternative: Use Existing Whisper Transcript If you already have a Whisper transcript: ```bash python process_meeting.py samples/meeting.mkv --transcript output/meeting.json ``` ### Screen Content Only (No Audio) ```bash python process_meeting.py samples/meeting.mkv ``` ## Usage Examples ### Run with different Whisper models ```bash # Tiny model (fastest, less accurate) python process_meeting.py samples/meeting.mkv --run-whisper --whisper-model tiny # Small model (balanced) python process_meeting.py samples/meeting.mkv --run-whisper --whisper-model small # Large model (slowest, most accurate) python process_meeting.py samples/meeting.mkv --run-whisper --whisper-model large ``` ### Extract frames at different intervals ```bash # Every 10 seconds (with Whisper) python process_meeting.py samples/meeting.mkv --run-whisper --interval 10 # Every 3 seconds (more detailed) python process_meeting.py samples/meeting.mkv --run-whisper --interval 3 ``` ### Use scene detection (smarter, fewer frames) ```bash python process_meeting.py samples/meeting.mkv --run-whisper --scene-detection ``` ### Use different OCR engines ```bash # EasyOCR (good for varied layouts) python process_meeting.py samples/meeting.mkv --run-whisper --ocr-engine easyocr # PaddleOCR (good for code/terminal) python process_meeting.py samples/meeting.mkv --run-whisper --ocr-engine paddleocr ``` ### Extract frames only (no merging) ```bash python process_meeting.py samples/meeting.mkv --extract-only ``` ### Custom output location ```bash python process_meeting.py samples/meeting.mkv --run-whisper --output-dir my_outputs/ ``` ### Enable verbose logging ```bash # Show detailed debug information python process_meeting.py samples/meeting.mkv --run-whisper --verbose ``` ## Output Files All output files are saved to the `output/` directory by default: - **`output/