Un direct reçu une fois, republié vers chaque plateforme
Restreamer est un serveur de streaming vidéo à héberger soi-même. Il reçoit un direct envoyé par OBS ou tiré d'une caméra IP, d'une caméra USB ou d'une caméra Raspberry Pi, puis le republie vers YouTube, Twitch, Facebook ou tout serveur qui accepte RTMP, SRT ou HLS. Le flux se regarde aussi directement sur l'instance, dans un lecteur à intégrer à un site. FFmpeg fait le travail vidéo ; datarhei Core, écrit en Go, pilote les processus FFmpeg derrière une interface web en React. Le README présente le projet comme une alternative gratuite aux hébergeurs vidéo, et le dit conforme au RGPD, sans prestataire tiers ni conservation des données d'audience.
Serveurs RTMP, SRT et HLS livrés dans l'image Docker
- Réception et diffusion dans le même conteneur : serveurs HLS sur HTTP/S, RTMP/S et SRT, qui servent à recevoir un flux comme à le redistribuer.
- Destinations déjà décrites : la documentation recense des services de publication pour YouTube, Facebook, Twitch, Instagram, TikTok, LinkedIn ou PeerTube, des CDN comme Akamai ou CDN77, et des serveurs comme Wowza, Icecast ou Owncast.
- Une image par accélération matérielle :
cuda-latestpour Nvidia,vaapi-latestpour Intel,rpi-latestpour Raspberry Pi (MMAL/OMX). L'imagelatestcouvre AMD64, ARMv7 et ARM64 sans accélération. - Page de diffusion prête à l'emploi : un site de publication avec lecteur VideoJS, gabarit, réglages de design et injection de code HTML, pour montrer un direct sans rien intégrer ailleurs.
- Spectateurs et bande passante plafonnables : l'interface les mesure et peut les limiter. Les ressources système s'exportent en métriques Prometheus, et Let's Encrypt fournit le certificat HTTPS.
- API REST en JSON : documentée à 100 % en Swagger d'après le README. C'est celle de datarhei Core, que l'interface utilise elle aussi.
Un envoi par destination et aucune release depuis 2024
Chaque destination part de la machine qui héberge Restreamer. Un service de publication pousse lui-même le flux vers sa cible : la connexion montante de l'hôte porte un envoi par plateforme servie. Quand l'accès Internet manque de bande passante, la documentation conseille d'installer Restreamer chez un hébergeur cloud. Pour joindre l'instance depuis l'extérieur, il faut une IP publique et des redirections de ports : 80 et 443 vers 8080 et 8181 pour le lecteur, la page de diffusion et Let's Encrypt, plus 1935, 1936 et 6000/udp si RTMP, RTMPS ou SRT doivent être joignables.
La latence dépend de la source choisie pour chaque publication. Par défaut, une publication reprend le flux HLS du canal, avec 10 à 30 secondes de retard au minimum selon la documentation. Reprendre le flux du serveur RTMP ramène ce retard à 1 ou 2 secondes, celui du serveur SRT sous la seconde, à condition d'activer le serveur dans les réglages système puis de l'ouvrir au canal.
Côté serveur, les prérequis officiels se résument à Docker ou Podman. La documentation juge le matériel et le système indifférents tant que Docker tourne, et désigne une Raspberry Pi récente comme meilleure cible ; sa liste de modèles vérifiés s'arrête à la Pi 4 modèle B. Les caméras USB et l'encodage matériel imposent de lancer le conteneur en --privileged, mode que la documentation réserve à ce besoin pour des raisons de sécurité.
La dernière version est la v2.12.0, du 13 septembre 2024. Elle réunit l'interface 1.14.0, Core 16.16.0 et FFmpeg 6.1.1, et c'est encore elle que tirent les commandes docker run du README, toutes sur des étiquettes latest. Aucune release n'a suivi en plus de deux ans. Le travail continue sur les images de développement : un workflow planifié reconstruit chaque jour les étiquettes dev, passées à FFmpeg 8.1.1 en mai 2026.
