lebaudantoine 2184c5b19b ✨(frontend) let users pick the recording encoding
Add a Recording tab to the settings dialog with two selectors, a
content profile and a resolution, building on the per-recording
encoding API.

The goal is to let an instance default to a cheaper profile and
resolution to save egress CPU, while users who really need a smooth
HD recording can still opt in. Most users only need a recording of
acceptable quality, so the default stays cheap and configuring it is
optional.

Profiles are labelled by content ("Talking heads", "Presentations and
text", ...) rather than by fps or bitrate: users know what they are
about to record, not which encoder settings fit it. Each profile shows
a one-line description of its trade-off, so picking one requires no
technical knowledge.

The panel gets a third row, matching the meeting language row of the
transcript panel. It is a shortcut to the settings, without adding
mental load about how to configure a recording. It reads as a short
statement with a trailing "Change" link, like the informational rows
above it, and stays on a single line in every locale: the statement
truncates if a translation gets too long, the link never wraps.

The selected options are intentionally not shown in the panel.
Several users can access it, and each would see their own local
configuration while the running recording may use another user's
encoding, which would be misleading. The issue is milder in the
settings tab, which is frozen while a recording is starting or in
progress.

The selectors are disabled from the moment a start request is sent
until the recording is saved, for both screen recordings and
transcripts. Settings are sent once, when the recording starts, so
changing them afterwards would have no effect and suggest otherwise.

Choices are persisted in localStorage to keep things simple,
consistent with the meeting language, which is already stored
client-side. They are keyed by user id, so accounts sharing a browser
keep separate choices.

The backend now exposes the available resolutions and profiles, and
their defaults, in the frontend configuration, so the UI follows
whatever the operator configures instead of hardcoding values. Stored
choices are checked against it before being sent: a profile removed by
the operator falls back to the instance default instead of being
rejected by the API. No encoding is sent when per-recording encoding
is disabled, as the backend would reject it. Operator-defined values
without a translation are shown by their raw key.

Alternatives considered:

- Storing the preference in room metadata: it would turn a pre-start,
  personal choice into shared editable state, requiring a write
  endpoint, permission checks and handling of concurrent edits.
- Notifying participants of the chosen encoding: notifications are
  one-off, so users who join or reload after the recording started
  would miss them, and the information is noise for most participants.

Next steps:

This is a deliberately small first iteration, meant to deliver most
of the value and evolve with feedback and usage. Possible next steps:
- persist the preferences in the backend instead of localStorage
- store the encoding chosen for a recording on the room (or on a
  session, if such a model is introduced) and read it from there
  rather than from user settings, so every user sees the same value
2026-10-11 00:33:39 +02:00
2026-10-06 14:07:23 +02:00
2026-10-01 00:13:36 +02:00
2025-03-21 15:25:37 +01:00
2024-10-09 11:14:11 +02:00
2025-03-13 19:48:31 +01:00
2026-08-04 19:04:09 +02:00
2026-10-04 22:58:21 +02:00

meet logo

PRs Welcome GitHub commit activity GitHub closed issues GitHub license DPG Badge

LiveKit - Chat with us - Roadmap - Changelog - Bug reports

La Suite Meet Demonstration

La Suite Meet: Simple Video Conferencing

Powered by LiveKit, La Suite Meet offers Zoom-level performance with high-quality video and audio. No installation required—simply join calls directly from your browser. Check out LiveKit's impressive optimizations in their blog post.

Tip

New here? Start by introducing yourself in our Matrix channel: https://matrix.to/#/#meet-official:matrix.org

We’re happy to discuss ideas, answer questions, and help to deploy LaSuite Meet.

Features

  • Optimized for stability in large meetings (+100 p.)
  • Support for multiple screen sharing streams
  • Non-persistent, secure chat
  • End-to-end encryption (coming soon)
  • Meeting recording
  • Meeting transcription & Summary (currently in beta)
  • Telephony integration
  • Secure participation with robust authentication and access control
  • Customizable frontend style
  • LiveKit advanced features including:
    • speaker detection
    • simulcast
    • end-to-end optimizations
    • selective subscription
    • SVC codecs (VP9, AV1)

La Suite Meet is fully self-hostable and released under the MIT License, ensuring complete control and flexibility. It's simple to get started or request a demo.

We’re continuously adding new features to enhance your experience, with the latest updates coming soon!

🚀 Major roll out to all French public servants

On the 29th of January 2026, Prime Minister Sébastien Lecornu, announced the full deployment of Visio—the French government’s dedicated Meet platform—to all public servants. (Source in English)

Table of Contents

Get started

Docs

We're currently working on both technical and user documentation for La Suite Meet. In the meantime, many of the essential aspects are already well covered by the LiveKit documentation and their self-hosting guide. Stay tuned for more updates!

Self-host

La Suite Meet is easy to install on your own servers

We use Kubernetes for our production instance but also support Docker Compose. The community contributed a couple other methods (Nix, YunoHost etc.) check out the docs to get detailed instructions and examples.

Questions? Open an issue on GitHub or join our Matrix community.

Note

Some advanced features (ex: recording, transcription) lack detailed documentation. We're working hard to provide comprehensive guides soon.

Known instances

We hope to see many more, here is an incomplete list of public La Suite Meet instances. Feel free to make a PR to add ones that are not listed below🙏

Url Org Access
visio.numerique.gouv.fr DINUM French public agents working for the central administration and the extended public sphere. ProConnect is required to login in or sign up
visio.suite.anct.gouv.fr ANCT French public agents working for the territorial administration and the extended public sphere. ProConnect is required to login in or sign up
visio.lasuite.coop lasuite.coop Free and open demo to all. Content and accounts are reset after one month
mosacloud.cloud mosa.cloud Demo instance of mosa.cloud, a dutch company providing services around La Suite apps.
Clever Cloud clever cloud Openvisio is a sovereign video conferencing solution based on LaSuite Meet offered by Clever Cloud.
Email.eu Email.eu Sovereign business workspace.

Contributing

We <3 contributions of all kinds big or small and we’re genuinely glad you’re here. 🌱

Start by saying hi

The best first contribution is simply to come say hi.

Before opening a PR, especially a larger one, or one written with the help of AI, we encourage you to reach out to a maintainer on our Matrix channel (@antoine.lebaud:matrix.org).

Getting in touch early helps us align on goals, avoid duplicated or wasted effort, and build a community that stays active, welcoming, and fun to be part of. There are no silly questions here: whether you’ve shipped hundreds of PRs or you’re just getting started, you’re welcome.

AI contributions

AI-assisted contributions are welcome. But code is never the end goal. What matters most is building relationships, sharing knowledge, and growing a sustainable community over time.

If your contribution has been heavily generated with AI, please be transparent about it. This helps maintainers review it with the right context and respects the time they invest in the project.

Using AI does not transfer ownership of the contribution: you should still fully understand the code, the problem it solves, and the reasoning behind the approach you propose. In short, even if AI helped write it, the why should still be yours.

Contributions beyond code

Not technical? We need you too. Open source is much more than code. Writing documentation, improving onboarding, translating content, answering questions, reporting bugs, or simply helping others feel welcome all make a huge difference.

Ways to contribute

When you’re ready, here are a few ways to get involved:

Thank you for helping build something open, useful, and human. 💙

Community call

We host a community call on the first Friday of every month to share updates, discuss ideas, and connect with contributors.

Whether you’re actively contributing or just curious about the project, you’re welcome to join. More details are shared on the Matrix channel.

Philosophy

We’re relentlessly focused on building the best open-source video conferencing product—La Suite Meet. Growth comes from creating something people truly need, not just from chasing metrics.

Our users come first. We’re committed to making La Suite Meet as accessible and easy to use as proprietary solutions, ensuring it meets the highest standards.

Most of the heavy engineering is handled by the incredible LiveKit team, allowing us to focus on delivering a top-tier product. We follow extreme programming practices, favoring pair programming and quick, iterative releases. Challenge our tech and architecture—simplicity is always our top priority.

Open-source

Gov 🇫🇷 supports open source! This project is available under MIT license.

All features we develop will always remain open-source, and we are committed to contributing back to the LiveKit community whenever feasible. To learn more, don't hesitate to reach out.

Help us!

Come help us make La Suite Meet even better. We're growing fast and would love some help.

Contributors 🧞

Credits

We're using the awesome LiveKit implementation. We're also thankful to the teams behind Django Rest Framework, Vite.js, and React Aria — Thanks for your amazing work! This project is tested with BrowserStack.

License

Code in this repository is published under the MIT license by DINUM (Direction interministériel du numérique). Documentation (in the docs/) directory is released under the Etalab-2.0 license.

S
Description
Open source video conferencing app powered by LiveKit. Built with Django and React.
Readme 98 MiB
Languages
Python 54%
TypeScript 36.8%
JavaScript 5%
Go Template 1.6%
Shell 0.5%
Other 2.1%