URL:     https://linuxfr.org/users/florian13/journaux/capter-l-audio-d-une-visio-dans-le-navigateur-sous-linux-sans-bot-dans-la-reunion
Title:   Capter l’audio d’une visio dans le navigateur sous Linux, sans bot dans la réunion
Authors: Florian13
Date:    2026-09-15T22:05:39+02:00
License: CC By-SA
Tags:    audio, navigateur_web, websocket, intelligence_artificielle et slop
Score:   -19


Salut 'Nal,

Je me suis pris les pieds dans `getDisplayMedia()` sous Linux. Ça m'a pris plus de temps que d'appeler un LLM, donc autant l'écrire ici.

L'idée, c'est un assistant de réunion qui affiche des suggestions pendant l'appel, plutôt qu'un résumé une fois que tout le monde a raccroché. Pas de bot dans la visio. Le navigateur capte l'audio que l'utilisateur choisit de partager, ce qui évite le participant fantôme que tout le monde voit, et que pas mal de boîtes bloquent.

Sous Windows, partager l'écran entier peut emporter l'audio système, donc le son de Teams desktop ou de Zoom. Sous Linux, cette case n'existe pas. macOS non plus, sauf à installer un pilote du genre BlackHole. J'avais écrit l'inverse sur un billet produit, avant d'aller vérifier.

La popup Chromium propose trois surfaces. Pour la vidéo, peu importe. Pour l'audio, ça change tout.

| Surface | Audio |
|---|---|
| Onglet Chromium | oui, tous les OS desktop (case souvent déjà cochée) |
| Écran entier | Windows et ChromeOS seulement, et encore, il faut cocher |
| Fenêtre | jamais |

Le chemin que je peux documenter sous Linux, c'est une visio dans un onglet Chromium (Meet, Teams web, Zoom web). On partage cet onglet, on a le son. Le `.deb` de Teams ou de Zoom, le navigateur n'a aucun moyen d'aller chercher leur flux. Je ne promets donc pas la capture d'une appli de bureau.

On peut toujours monter un null-sink PulseAudio ou PipeWire et rerouter le son. Des gens le font, et sous Linux c'est même plus propre qu'un BlackHole sur Mac. Ce n'est pas ce que le produit fait, et je ne vais pas coller un tutoriel `pavucontrol` dans la doc.

Firefox ne sort pas d'audio d'onglet comparable. Safari non plus. Il reste Chromium, paquet distro ou Chrome. Ça m'agace de l'écrire sur LinuxFr. Je n'ai pas de plan B.

Le classique, c'est de partager la fenêtre de l'appli de visio. La prévisualisation a l'air bonne, le `MediaStream` arrive, et il n'y a juste pas de piste. Le navigateur ne le signale pas. Je me suis fait avoir.

Dans le code on envoie `systemAudio: "include"`, comme le recommande la doc Chrome, parce que la valeur par défaut pourrait changer :

```js
navigator.mediaDevices.getDisplayMedia({
  video: true,
  audio: { systemAudio: "include" },
});
```

Sous Linux, ça ne crée aucune capacité que le navigateur n'a pas déjà.

Une fois qu'on a une piste, la suite est plus banale. `AudioWorklet`, PCM16 mono 16 kHz, petits morceaux sur une WebSocket, reconnaissance en streaming. On ne déclenche les suggestions que sur des transcripts finalisés, et le système a le droit de se taire. Pour la qualité je regarde la latence et les pouces, pas le texte des conversations. Le timing m'a plus occupé que le modèle. Ça fera un autre journal si ça intéresse.

~~Censuré par la modération~~

Si quelqu'un a une piste sérieuse pour l'audio d'onglet dans Firefox, je suis preneur.

