# Meeting Recording & Notes

## How It Works

```
Debian laptop                          Linux workstation (Brain)
─────────────                          ──────────────────────────
OBS records meeting → ~/meetings/      Syncthing auto-syncs file
                                       → Whisper transcribes audio
                                       → Frames extracted from video
                                       → Claude analyzes visuals
                                       → Structured notes delivered
```

## Setup — Laptop Side (One-Time)

### 1. Install OBS Studio

```bash
sudo apt install obs-studio
```

### 2. Configure OBS Sources

**New Scene → Add Sources:**

| Source | Type | Settings |
|---|---|---|
| Screen | Screen Capture (PipeWire) | Select your display |
| Audio | Monitor Audio Capture (PipeWire) | Select "Built-in Audio Analog Stereo Monitor" |

> **Important:** Make sure "Monitor Audio" is selected, not just "Mic". The monitor captures everything you hear through speakers/headphones — the meeting audio. Mic is optional if you want your own voice separate.

### 3. Recording Settings

`Settings → Output → Recording:`

| Setting | Value |
|---|---|
| Type | Standard |
| Recording Path | `~/meetings/` |
| Recording Format | `mkv` |
| Video Bitrate | `5000` Kbps (enough for UI detail) |
| Audio Bitrate | `192` Kbps |

> **Why MKV?** If OBS crashes mid-recording, MKV files are recoverable. MP4 gets corrupted. You can remux to MP4 after: `ffmpeg -i recording.mkv -c copy recording.mp4`

### 4. Syncthing Folder

On the laptop, add a new folder:

| Field | Value |
|---|---|
| Folder ID | `meetings` |
| Folder Path | `~/meetings/` |
| Device | Brain (IT3C62R-...) |

This mirrors the `incoming` folder on the workstation. When OBS drops a recording here, it syncs automatically.

## Workflow — Each Meeting

### Before the meeting

1. Open OBS → verify sources are showing screen + audio
2. Hit **Record**
3. Join meeting as normal

### After the meeting

1. Hit **Stop Recording** in OBS
2. OBS saves to `~/meetings/`
3. Syncthing syncs to workstation
4. Tell me: *"Meeting recorded — process it"*
5. I run the pipeline → you get notes on Telegram

### What I Deliver

```
MEETING NOTES — [Date]

TIMELINE
───────────────────────────────────────────
[00:00] Speaker introduces topic
[02:15] Screen share: opens Application X
[04:30] Demo: showing integration flow A → B
...

WHAT WAS SHOWN
───────────────────────────────────────────
• App X: [description of what was demonstrated]
• Integration: [how components connected]
• Issues: [any bugs or problems observed]

DECISIONS
───────────────────────────────────────────
• [Decision 1]
• [Decision 2]

ACTION ITEMS
───────────────────────────────────────────
• [Task] — [Owner] — [Deadline]

OPEN QUESTIONS
───────────────────────────────────────────
• [Question that needs follow-up]
```

## Processing Script

Located at `~/meetings/process_meeting.py` on the workstation.

```bash
source ~/.venvs/meeting-notes/bin/activate
python3 ~/meetings/process_meeting.py /path/to/recording.mkv
```

Outputs:
- Transcript (JSON) with timestamps
- Key frames (JPG) from scene changes
- Draft notes (Markdown)
- Vision prompt for Claude delegation

## Troubleshooting

### OBS not capturing system audio
- Check `Settings → Audio → Desktop Audio` is not set to "Disabled"
- In the Sources panel, verify the Monitor Audio source shows levels moving
- On GNOME, you may need to set "Output Device" in OBS to match your active output

### Syncthing not syncing
- Check Syncthing GUI (`http://127.0.0.1:8384` on either machine)
- Verify both sides show the "Meetings" folder as connected
- Large files sync fine — no size limit on local network

### Video too large
- 1 hour at 5000 Kbps ≈ ~2.25 GB video + ~50 MB audio
- For longer meetings, reduce video bitrate to 2500 Kbps
- Audio is the important part for transcription; video is only for frame extraction
