
Soixante conteneurs sur un seul serveur
Une machine bare-metal exécute des dizaines à des centaines de conteneurs Hoody. La dédupplication KSM et BTRFS rend le coût marginal quasi nul.
C'est un atelier gratuit du samedi. Deux cents personnes se sont inscrites. Vous ne voulez pas d'un Zoom à 200 sièges, ni d'un compte Twitch, ni d'un calendrier avec trois fuseaux horaires. Vous diffusez votre écran vers un chemin pipe avec ?n=200, vous collez l'URL destinataire sur la page de l'événement, et laissez deux cents onglets de navigateur faire le reste.
ONE PIPE URL · 200 RECEIVERS · ZERO BUFFERING
ffmpeg encode votre affichage X11 en webm. curl envoie en PUT ce flux vers /api/v1/pipe/workshop?n=200. Le pipe attend que deux cents destinataires se connectent au même chemin. Chacun est un onglet de navigateur normal sur l'URL destinataire avec ?video ajouté — Hoody sert un lecteur MSE intégré. Aucune plateforme ne se trouve au milieu, les octets ne touchent jamais un disque, et l'URL s'auto-supprime quand vous arrêtez l'encodeur.
ffmpeg -f x11grab -i :0 -c:v libvpx -f webm lit l'affichage et écrit du webm sur stdout. Webcam, slides, terminal — tout ce qui est sur :0.
curl -T - envoie en PUT stdin vers /api/v1/pipe/workshop?n=200. Le pipe maintient l'expéditeur ouvert jusqu'à ce que deux cents destinataires se connectent sur le chemin correspondant.
Déposez l'URL destinataire avec ?video sur la page de l'événement ou en DM. Pas d'application, pas d'inscription, pas d'invitation calendrier — juste un lien sur lequel le participant clique.
Le pipe renvoie une page HTML avec un élément vidéo MSE intégré. Deux cents onglets de navigateur regardent le même flux en direct à la vitesse du destinataire le plus lent.
?n=200 plafonne l'audience. Le pipe accepte jusqu'à 256 destinataires et transmet le Content-Type de l'expéditeur pour qu'un lecteur MSE en navigateur puisse décoder le flux. Un n incompatible renvoie 400. Quand vous faites ctrl-C sur l'encodeur, l'URL s'auto-supprime — il n'y a rien à effacer.
Un atelier de 200 participants signifie normalement louer un palier, un mur de comptes, et un enregistrement dont vous ne vouliez pas. L'URL pipe est ce qu'il reste après avoir retiré tout cela — un seul egress depuis votre laptop, zéro compte, zéro artefact à nettoyer ensuite.
Les octets quittent votre laptop une fois. Le pipe les répartit. Votre uplink ne se multiplie pas par la taille de l'audience — le spectateur le plus lent fixe le rythme, pas votre bande passante.
Pas de palier de sièges Zoom, pas de pseudo Twitch, pas de chaîne YouTube. Le présentateur a Hoody. Les deux cents participants ont un navigateur. C'est toute la liste.
Le pipe est purement streaming — les octets passent à travers, rien n'est écrit. Quand vous arrêtez l'encodeur, l'URL est morte. Pas de politique de rétention, pas de ticket RGPD, pas de boîte de dialogue de consentement FTC sur la propriété de l'enregistrement.
n plafonne à 256 par chemin pipe. Pour des audiences plus grandes, répartissez sur plusieurs chemins pipe depuis le même encodeur, ou faites précéder l'URL pipe d'un CDN qui agrège.
Le même mécanisme pipe-et-?video se lit de trois façons différentes selon le type de salle que vous remplissez. Tous se résument au même one-liner.
Vous ne vouliez pas upgrader Zoom pour un samedi après-midi. Diffusez l'écran, collez l'URL sur la page de l'événement, et arrêtez de payer pour de la capacité que vous utilisez quatre fois par an.
Rien n'est enregistré sur un serveur quelque part. Le pipe diffuse ; rien n'est stocké. Vos étudiants n'ont pas besoin d'un pseudo Twitch, d'un Discord, ou d'un compte Google pour regarder — il leur faut une URL.
Un lien de meetup est reposté, intégré, mirroré. Quiconque a l'URL peut l'ouvrir ; quand vous faites ctrl-C, l'URL disparaît pour tout le monde. L'audience grandit sans que la plateforme grandisse avec elle.
Un atelier, une URL et 200 sièges silencieux. Pas de plateforme, pas de connexions.
L'arsenal d'outils de diffusion que tout organisateur d'événement accumule — chacun suppose un palier, un compte, ou un enregistrement que vous n'avez pas demandé. L'URL pipe ne suppose aucun d'entre eux.
La prochaine fois que deux cents personnes s'inscrivent, envoyez-leur une URL — pas une invitation à une réunion.