À propos du projet

HyperHDR est un système open-source d'éclairage ambiant (bias lighting) pour téléviseurs, moniteurs et configurations musicales. Il effectue une analyse en temps réel des flux vidéo et audio et mappe les résultats sur des bandes LED et des lampes, produisant un éclairage qui suit le contenu à l'écran. Plateformes et architecture - Fonctionne sur Windows, macOS (x64 et arm64) et Linux (x64 et ARM, y compris Raspberry Pi). - Écrit principalement en C++20 avec CMake ; l'interface macOS utilise Objective-C++, et l'interface web utilise JavaScript/HTML avec Bootstrap 5. - Conçu pour être léger, sans dépendances d'exécution lourdes comme Python ou Java, et optimisé pour une faible utilisation CPU sur des SoC comme Raspberry Pi ou Intel N100. Pipeline couleur - Le "Infinite Color Engine" effectue les calculs de couleur en espace sRGB linéaire et virgule flottante, visant à réduire les artefacts d'arrondi et le banding par rapport aux pipelines entiers 24 bits. - Prend en charge la sortie couleur profonde pour les appareils compatibles tels que Philips Hue, LIFX et HD108 LEDs. - Inclut une conversion RGB vers RGBW avec équilibrage de puissance énergétique, calibration de température de point blanc, tramage temporel et hystérésis anti-scintillement. - Offre plusieurs approches de lissage, y compris des interpolateurs à physique inertielle, exponentielle et YUV/RGB perceptuellement uniformes. Capture et gestion vidéo - Support de grabbers USB sur Linux, Windows 10/11 et macOS pour les formats P010, NV12, YUYV, MJPEG, UYVY, I420 et RGB. - Capture accélérée matériellement via PipeWire/Portal sur Linux/Wayland et DirectX sur Windows 10/11. - Capture d'écran DirectX prête pour HDR avec DXGI_FORMAT_R16G16B16A16_FLOAT et support multi-moniteurs. - Gère le contenu SDR, HDR et Dolby Vision à faible latence (LLDV) là où le matériel le permet. - Mappage de tons automatique pour le contenu SDR/HDR, plus calibration automatique de LUT utilisant des fichiers de test MP4 et benchmarking de latence pour les grabbers USB. - La capture d'écran logicielle depuis un PC est disponible comme alternative aux grabbers USB. Audio et intégration - Visualisation audio intégrée basée sur l'analyse spectrale pour un éclairage réactif au son. - Support MQTT pour l'intégration IoT, plus intégration Home Assistant et zigbee2mqtt. - API JSON et découverte mDNS/Zeroconf. Sortie LED et outils - Supporte les types de LED courants, y compris WS281x, APA102, HD107, SK9822 et SK6812. - Des projets compagnons fournissent des contrôleurs rapides : HyperSPI pour ESP8266/ESP32/RP2040, HyperSerialEsp8266/ESP32/Pico via USB série, et Hyperk, un contrôleur sans fil pour les variantes ESP8266/ESP32 et Raspberry Pi Pico W (RP2040/RP2350). - Inclut un éditeur de bandes LED avec édition géométrique automatique ou manuelle via souris et menus contextuels. - Les diagnostics système montrent l'utilisation CPU/RAM en direct, la température CPU, la détection de sous-tension, et les performances des grabbers USB et des LED. Distribution et documentation - Les versions officielles sont publiées sur GitHub ; les installateurs Windows sont signés par SignPath Foundation. - Un dépôt Linux officiel est disponible, ainsi qu'une build de développement quotidienne. - La documentation se trouve dans le wiki du projet, et le support communautaire est fourni via GitHub Discussions. - Publié sous licence MIT.