Open source ambient lighting implementation for television and music sets based on the video and audio streams analysis. Focused on stability while ensuring performance and quality. Single and multi-threaded video processing optimization for Windows, macOS (x64/arm64: M1, M2) and Linux x64 & ARM (Raspberry Pi and others).
- Really low CPU usage on SoCs like Raspberry Pi
- Lightweight, we don't use bindings to heavy components like Python or Java
- Low latency video processing as color source for LED strip and lamps
- Support for multithreading that makes Raspberry Pi capable of processing HQ video stream
- High portability on various ARM embedded platforms
- Video post-processing filter to eliminate LED flickering
- Modern interface using Bootstrap 5 and SVG icons
- Provides vital informations about your OS condition: CPU & RAM usage, CPU temperature, undervoltage detection, internal components performance including USB grabber and LED devices
- Support for USB grabbers under Linux, Windows 10, macOS
- Pipewire/Portal hardware-accelerated screen capturer for Linux/Wayland
- DirectX screen grabber with pixel and vertex shader processing acceleration for Windows 10/11
- DirectX screen grabber supports native Windows HDR modes like DXGI_FORMAT_R16G16B16A16_FLOAT and multi-monitor ( ๐ HyperHDR v21)
- Dynamic video cache buffers. Now Rpi can process even 1080p120 NV12 stream without any size decimation
- Built-in audio visualization effects using spectrum analysis
- MQTT support for IoT
- Entertainment API v2: per-channel support for Philips Gradient Strip and others
- Automatic LUT calibration detects grabber model specific properties for the best quality of HDR/SDR using MP4 test files ( ๐ HyperHDR v21)
- Optimized multi-instances. You can use for example your TV LED strip and multiple WLED or Philips Hue light sources.
- Built-in latency benchmark for USB grabbers
- support for high-quality P010 video format ( ๐ HyperHDR v21)
- easy LED strip geometry editing process, automatic or manual with mouse and context menu per single LED
- Automatic signal detection with smart learning capability for USB grabbers
- SK6812 RGBW: advanced calibration of the white color channel for HyperSerialEsp8266, HyperSerialESP32, HyperSPI, HyperSerialPico
- Tone mapping for external flatbuffers/protobuf sources
- Built-in LUT table generator and LUT import tool
- Support for 48bits HD108 LED strip
- Support WS281x, APA102, HD107, SK9822 and SK6812 RGBW LED strips using the fastest possible cable solution for generic ESP8266/ESP32/rp2040 external LED drivers: HyperSPI. Alternatively, there is a simple solution using a high-speed connection via a standard USB serial port for ESP8266/ESP32/Pico with data integrity check and white channel calibration: HyperSerialEsp8266 and HyperSerialESP32 and for Raspberry Pi Pico HyperSerialPico. You can also use our WLED fork for ESP8266 and ESP32 using 2Mb baud speed (or higher): HyperSerialWLED
Our advanced video processing can improve the source for the LEDs, making the ambient lighting even more enjoyable and colorful.
You can use it for SDR video streams as well as for HDR and Dolby Vision (LLDV if your hardware supports it). Or instead of using a USB grabber, let your computer screen be the video source with software capture.
Official releases:
https://github.com/awawa-dev/HyperHDR/releases
Official Linux repo:
https://awawa-dev.github.io/
The latest installers for testing can usually be found as artifact archives in the Github Action tab (must be logged in):
https://github.com/awawa-dev/HyperHDR/actions
Example of how to build SK6812 RGBW based ambient lighting system - updated 2023
Building HyperHDR from sources
Make: Magazine #84 (2023)MagPi #117 (2022)
Comparison of several modern ambient lighting systems (2023)
The tutorial on raspberrypi.com
Building a 4K Capable HDMI TV Backlight (2021)
The source is released under MIT-License (see http://opensource.org/licenses/MIT)