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.
C'est un workshop gratuit du samedi. Deux cents personnes inscrites. vous ne voulez ni une formule Zoom 200 sièges, ni un compte Twitch, ni un calendrier qui jongle avec trois fuseaux. vous streamez votre écran vers un seul path pipe avec ?n=200, vous collez l'URL receiver dans la page de l'événement, et vous laissez deux cents onglets de navigateur faire le reste.
UNE URL PIPE · 200 RECEIVERS · ZÉRO BUFFERING
ffmpeg encode votre display X11 en webm. curl PUT ce stream dans /api/v1/pipe/workshop?n=200. Le pipe attend que deux cents receivers se connectent au même path. Chacun est un onglet de navigateur normal sur l'URL receiver avec ?video ajouté — Hoody sert un player MSE embarqué. Aucune plateforme au milieu, les octets ne touchent jamais un disque, et l'URL s'évince elle-même quand vous arrêtez l'encodeur.
ffmpeg -f x11grab -i :0 -c:v libvpx -f webm lit le display et écrit du webm sur stdout. Webcam, slides, terminal — peu importe ce qu'il y a sur :0.
curl -T - PUT stdin vers /api/v1/pipe/workshop?n=200. Le pipe garde le sender ouvert jusqu'à ce que deux cents receivers se connectent sur le path correspondant.
Déposez l'URL receiver avec ?video dans la page d'événement ou en DM. Pas d'appli, pas de signup, pas d'invitation calendrier — juste un lien que le participant clique.
Le pipe retourne une page HTML avec un élément vidéo MSE embarqué. Deux cents onglets regardent le même stream live à la vitesse du receiver le plus lent.
?n=200 plafonne l'audience. Le pipe accepte jusqu'à 256 receivers et transmet le Content-Type du sender pour qu'un player MSE in-browser puisse décoder le stream. Un n incohérent retourne 400. Quand vous faites ctrl-C sur l'encodeur, l'URL s'évince — il n'y a rien à supprimer.
Un workshop à 200 personnes signifie d'habitude la location d'un tier, un mur de comptes, et un enregistrement dont vous ne vouliez pas. L'URL pipe est ce qui reste après tout ça — un egress sortant de votre laptop, zéro compte, zéro artefact à nettoyer ensuite.
Les octets quittent votre laptop une seule fois. Le pipe les diffuse. votre uplink ne se multiplie pas par la taille de l'audience — le viewer le plus lent fixe le rythme, pas votre bande passante.
Pas de tier Zoom 200 sièges, pas de handle Twitch, pas de chaîne YouTube. Le présentateur a Hoody. Les deux cents participants ont un navigateur. Toute la liste.
Le pipe ne fait que streamer — les octets passent, 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 sur la propriété de l'enregistrement.
n est plafonné à 256 par path pipe. Pour des audiences plus grandes, fan-out sur plusieurs paths pipe depuis le même encodeur, ou place un CDN devant l'URL pipe pour agréger.
La même mécanique pipe-et-?video se lit de trois façons selon le type de salle que vous remplissez. Tout converge vers le même one-liner.
vous ne vouliez pas upgrade Zoom pour un samedi après-midi. Streamez l'écran, collez l'URL sur la page d'événement, et arrêtez de payer une capacité que vous utilisez quatre fois par an.
Rien n'est enregistré sur un serveur quelque part. Le pipe stream ; rien n'est stocké. vos étudiants n'ont pas besoin d'un handle Twitch, d'un Discord, ou d'un compte Google pour regarder — ils ont besoin d'une URL.
Un lien meetup est repartagé, embarqué, miroité. Quiconque a l'URL peut l'ouvrir ; quand vous faites ctrl-C, l'URL disparaît pour tout le monde. L'audience scale sans que la plateforme scale avec elle.
Un workshop, une URL, et 200 sièges silencieux. Pas de plateforme, pas de logins.
L'arsenal d'outils de broadcast que chaque organisateur d'événement accumule — chacun suppose un tier, un compte, ou un enregistrement que vous n'avez pas demandé. L'URL pipe ne suppose rien de tout ça.
La prochaine fois que deux cents personnes s'inscrivent, envoie-leur une URL — pas une invitation meeting.