Olivasal

Recording meetings

Cloud recording vs. local "save to my device" — how each works, what they produce, and how to retrieve them.

Olivasal ships with two parallel recording modes, each producing the same three-file output: video, audio-only, and a chat transcript.

Cloud recording (host only)

Server-side recording driven by the media SFU’s egress. The composite video runs through ffmpeg post-meeting and produces:

  • recording.mp4 — full meeting at 720p / 1080p
  • audio.m4a — AAC stream-copied from the MP4 (no re-encode)
  • chat.txt — flat plain-text transcript of every chat message

Files live at /var/lib/olivasal/recordings/<roomId>/<sessionId>/ on the server. The host downloads them from the meeting detail page.

Trigger: the host clicks Record → Cloud during the meeting, or sets autoRecord: true on the room.

Local recording (any participant)

Browser-side recording. Uses getDisplayMedia to capture the meeting tab plus a parallel MediaRecorder mixing every audio track via Web Audio. Chat transcript is exported by the client.

All three files arrive as a single ZIP download:

olivasal-<room>-<timestamp>.zip
├── olivasal-<room>-video-<ts>.webm
├── olivasal-<room>-audio-<ts>.webm
└── olivasal-<room>-chat-<ts>.txt

Trigger: any participant clicks Record → Locally. Other participants see a ”🟡 N recording locally” pill — broadcast over the data channel.

Choosing between them

  • Cloud — best for compliance / shared archives. Files live on your infra.
  • Local — best for personal copies. Nothing touches the server; the participant’s browser owns the bytes.

Both can run at the same time.