Cassini is a recording backend for Nextcloud Talk that puts you in control of your meeting data. It installs as a Nextcloud app, shows up as a new app icon inside your Nextcloud suite, and takes over the Record button your people already have. Meetings are where decisions get made, and they are easily lost unless someone writes them down afterwards.

When you press Record

Cassini works with any Nextcloud Talk room, group calls and 1:1 calls. Just press Record and Cassini is listening.

  1. Cassini joins the call as an internal client of the signalling server, not as a participant, so nobody sees an extra person in the room.
  2. Each participant arrives as their own audio stream, carrying the name Talk sent with it.
  3. When recording stops, enabled transcription processes the audio locally with sherpa-onnx and NVIDIA Parakeet models. Install and enable a speech model in Publish pipeline to produce transcripts.
  4. The meeting is published into Nextcloud Files as an audio .opus or transcription-only .json file, with a summary if configured and a transcript is available.

What you get

  • Transcripts and synced audio playback with speaker IDs.
  • Configurable recording access: everyone with a Nextcloud account by default, or room-based permissions for private recordings when participant access is enabled. Public-room recordings remain visible to all signed-in accounts.
  • One portable meeting file per meeting that can be opened without Cassini.
  • Search and tags across meetings.
  • In-app AI providers for per-meeting summaries and cross-meeting insights.
  • A CLI and an agent skill, to build workflows with an external harness.

Limitations

  • No live transcription or captions. Transcription starts after recording stops. The operator schedules processing around live recordings to protect capture.
  • No published video playback. Camera capture is optional. Published meetings contain audio or transcription-only data; captured video stays on the server.

What leaves your server

Recording and transcription run on your own hardware. No audio and no transcript leaves the host for those steps.

If you configure a language model, transcript text goes to it in two cases: automatically, to summarise each meeting, and on request, when someone asks a question about meetings they have access to.

There is no telemetry.

Where next