Soixante conteneurs sur un seul serveur
Une seule machine bare-metal fait tourner des dizaines à des centaines de conteneurs Hoody. La déduplication KSM et BTRFS rend le coût marginal quasi nul.
vous pair-debug à minuit et le hotspot de l'autre côté ne survivra pas à un Zoom. Vous avez tous les deux un shell. ffmpeg capture le micro, curl le PUT vers un path pipe, l'autre terminal fait curl et joue les octets. Pas de SDK, pas de signaling, pas de meeting.
$ ffmpeg -f alsa -i default \
-c:a libopus -f ogg - \
| curl -T - https://pipe.containers.hoody.com/api/v1/pipe/voice$ curl https://pipe.containers.hoody.com/api/v1/pipe/voice
| mpv --no-video -pas de signaling, pas de SDK, pas de Zoom
ffmpeg encode votre micro en opus et écrit sur stdout. curl PUT ce stdin vers /api/v1/pipe/voice. Quiconque GET le même path reçoit les octets à mesure que le sender les produit. Le pipe garde le receiver jusqu'à cinq minutes en attente du sender, transmet le Content-Type, et ne stocke rien.
ffmpeg -f alsa -i default -c:a libopus -f ogg - lit votre micro, encode en opus, écrit sur stdout.
curl -T - PUT stdin vers /api/v1/pipe/voice. Le pipe attend jusqu'à cinq minutes un receiver sur le même path.
Son terminal lance curl https://.../api/v1/pipe/voice. Le pipe associe sender et receiver, et le stream démarre.
Son curl pipe vers aplay ou mpv. L'audio joue à mesure qu'il arrive, octet par octet. ctrl-C met fin à l'appel.
Le pipe transmet le Content-Type, supporte jusqu'à cinq minutes d'attente avant qu'un partenaire se connecte, et utilise HTTPS — rien de plus exotique que le protocole que votre shell parle déjà.
Pas d'annulation d'écho, pas de jitter buffer, pas de DSP fancy. C'est le genre de canal vocal qu'un SRE utilise pour pair-debug : épuré, faible overhead, fiable. Chaque couche qu'une plateforme de meeting ajoute est une couche que le tandem pipe n'a tout simplement pas.
La même mécanique micro-sur-HTTP se lit de trois manières selon qui est à l'autre bout du pipe.
vous êtes trois commandes profond dans un incident prod. Lancer Zoom prendrait plus de temps que le fix. ffmpeg | curl chez vous, curl | mpv chez l'autre — vous parlez pendant que vous taillez les logs.
Un partage de connexion étouffe sur un appel vidéo. Un stream opus à 32 kbps sur HTTP, non. L'autre côté ouvre une URL et écoute — il n'a même pas besoin d'un micro pour participer.
Rien n'est stocké sur un serveur. Pas d'appli tierce des deux côtés. Le pipe ne fait que streamer — les octets passent et disparaissent à l'instant où ctrl-C tombe.
L'audio, c'est juste des octets. Les octets, c'est juste un pipe.
L'arsenal d'outils vocaux que chaque tandem d'ingés accumule. Chacun suppose un meeting, un compte, ou un serveur de signaling maison. L'URL pipe ne suppose rien de tout ça.
La prochaine fois que quelqu'un dit « on fait un quick call ? », ouvrez un pipe à la place.