À propos du projet

Castor est un utilitaire en ligne de commande basé sur Go qui transforme toute page web contenant une vidéo intégrée en un flux diffusable sur votre téléviseur. Contrairement à la duplication d'écran, il extrait le flux média réel, le transcode pour correspondre aux capacités de votre affichage et l'envoie en temps réel, préservant ainsi la qualité au lieu de compresser une capture d'écran. Il fonctionne en lançant une instance Chrome sans interface graphique, en surveillant le trafic réseau via le protocole Chrome DevTools, puis en exécutant un pipeline d'actions automatisé : cliquer sur la page, naviguer dans la plus grande iframe, puis cliquer à nouveau en secours pour déclencher la lecture. Cette approche fonctionne sur les pages qui autorisent la lecture automatisée, mais peut ne pas réussir partout. Les protocoles de diffusion pris en charge incluent DLNA/UPnP (largement compatible avec les téléviseurs Samsung, LG, Sony, Panasonic, Philips, Hisense, TCL, VIZIO, Sharp, ainsi que des lecteurs comme Kodi, VLC et Plex), Chromecast (expérimental) et Roku (via une chaîne installée manuellement utilisant le protocole de contrôle externe de Roku). L'outil fournit à la fois une interface de commande directe et un navigateur TUI interactif (`castor cast`). Pour ce dernier, une clé API TMDB permet de rechercher des titres, qui sont ensuite résolus par rapport aux sources configurées par l'utilisateur. Les modèles de source permettent aux utilisateurs de connecter tout service vidéo intégrable qu'ils sont autorisés à utiliser. Les fonctionnalités supplémentaires incluent des sous-titres transcrits automatiquement et gravés dans la vidéo à l'aide de Whisper, une limitation de résolution via `max_height` et un mode de livraison configurable (relais ou récupération par l'appareil). Le transcodage matériel via VA-API sur Intel est pris en charge lors de l'exécution dans Docker avec passthrough GPU. L'installation est disponible via Homebrew sur macOS, sous forme d'image Docker préconstruite (`ghcr.io/stupside/castor`), ou compilée depuis les sources avec Go 1.26+. Les dépendances requises sont Chrome/Chromium, ffmpeg 7.1+ et ffprobe 7.1+. Le projet est sous licence MIT et décline explicitement toute gestion des DRM ou distribution de contenu protégé par le droit d'auteur : il diffuse uniquement ce vers quoi l'utilisateur le pointe.