Sobre o projeto
O HyperHDR é um sistema de iluminação ambiente (iluminação de fundo) de código aberto para TVs, monitores e configurações de música. Ele realiza análise em tempo real de fluxos de vídeo e áudio e mapeia os resultados para fitas LED e lâmpadas, produzindo iluminação que acompanha o conteúdo na tela.
Plataformas e arquitetura
- Funciona em Windows, macOS (x64 e arm64) e Linux (x64 e ARM, incluindo Raspberry Pi).
- Escrito principalmente em C++20 com CMake; a interface do macOS usa Objective-C++, e a interface web usa JavaScript/HTML com Bootstrap 5.
- Projetado para ser leve, sem dependências pesadas de runtime como Python ou Java, e otimizado para baixo uso de CPU em SoCs como Raspberry Pi ou Intel N100.
Pipeline de cores
- O "Infinite Color Engine" realiza cálculos de cor em ponto flutuante e espaço sRGB linear, com o objetivo de reduzir artefatos de arredondamento e banding em comparação com pipelines de inteiros de 24 bits.
- Suporta saída de cor profunda para dispositivos compatíveis, como Philips Hue, LIFX e LEDs HD108.
- Inclui conversão RGB para RGBW com balanceamento de energia ciente do consumo, calibração de temperatura do ponto branco, dithering temporal e histerese anti-flicker.
- Oferece várias abordagens de suavização, incluindo interpoladores de física inercial, exponenciais e perceptualmente uniformes YUV/RGB.
Captura e processamento de vídeo
- Suporte a capturadora USB no Linux, Windows 10/11 e macOS para formatos P010, NV12, YUYV, MJPEG, UYVY, I420 e RGB.
- Captura com aceleração de hardware via PipeWire/Portal no Linux/Wayland e DirectX no Windows 10/11.
- Captura de tela DirectX pronta para HDR com DXGI_FORMAT_R16G16B16A16_FLOAT e suporte a múltiplos monitores.
- Lida com conteúdo SDR, HDR e Low Latency Dolby Vision (LLDV) onde o hardware suporta.
- Tone mapping automático para conteúdo SDR/HDR, além de calibração automática de LUT usando arquivos de teste MP4 e benchmarking de latência para capturadoras USB.
- A captura de tela por software de um PC está disponível como alternativa às capturadoras USB.
Áudio e integração
- Visualização de áudio integrada baseada em análise de espectro para iluminação reativa ao som.
- Suporte a MQTT para integração IoT, além de integração com Home Assistant e zigbee2mqtt.
- API JSON e descoberta mDNS/Zeroconf.
Saída de LED e ferramentas
- Suporta tipos comuns de LED, incluindo WS281x, APA102, HD107, SK9822 e SK6812.
- Projetos complementares fornecem controladores rápidos: HyperSPI para ESP8266/ESP32/RP2040, HyperSerialEsp8266/ESP32/Pico via serial USB, e Hyperk, um controlador sem fio para variantes de ESP8266/ESP32 e Raspberry Pi Pico W (RP2040/RP2350).
- Inclui um editor de fita LED com edição de geometria automática ou manual via mouse e menus de contexto.
- O diagnóstico do sistema mostra uso de CPU/RAM em tempo real, temperatura da CPU, detecção de subtensão e desempenho da capturadora USB e dos LEDs.
Distribuição e documentação
- As versões oficiais são publicadas no GitHub; os instaladores do Windows são assinados digitalmente pela SignPath Foundation.
- Um repositório oficial do Linux está disponível, juntamente com uma build de desenvolvimento diária.
- A documentação fica na wiki do projeto, e o suporte da comunidade é fornecido através do GitHub Discussions.
- Lançado sob a Licença MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.