All apps · 0 apps
hyperhdr
Docker app from ccmpbll's Repository
Overview
Readme
View on GitHub
About
HyperHDR is an open-source ambient lighting system for TVs and music setups. It performs real-time analysis of video and audio streams to create immersive LED lighting. Designed with a strong focus on stability, high performance, and high-fidelity video decoding and mapping, HyperHDR delivers precise and vibrant LED visuals. Optimized for both single- and multi-threaded video processing, it runs seamlessly on Windows, macOS (x64 & arm64), and Linux (x64 & ARM, including Raspberry Pi).
Main Features of HyperHDR
At the heart of HyperHDR lies the Infinite Color Engine ( :new: HyperHDR v22), our own in-house rendering pipeline designed for maximum precision and visual fidelity. By leveraging floating-point processing, it produces smoother gradients, eliminates rounding artifacts, and ensures stable, consistent color transformations. While many other solutions rely on basic 24-bit color operations that introduce precision loss and visible banding, the Infinite Color Engine achieves uncompromised accuracy and professional-grade results. With deep-color support for Philips Hue, LIFX and HD108 devices, HyperHDR provides richer, more vibrant illumination than ever before.
The Infinite Color Engine has also paved the way for our bespoke, internally developed RGB-to-RGBW conversion, featuring energy-preserving extraction, temperature-aware mapping, and temporal dithering with motion-adaptive diffusion and hysteresis to eliminate flickering.
Key advantages of the Infinite Color Engine ( :new: HyperHDR v22):
- Floating-Point Precision: All color computations use high-precision floating-point arithmetic, eliminating cumulative rounding errors for more accurate results
- Linear sRGB Accuracy: Core color transformations are processed in linear sRGB space, ensuring physically correct and consistent light reproduction
- Deep-Color Support: Compatible devices, including Philips Hue lamps, LIFX and HD108 LEDs, can take advantage of rendering beyond standard 24-bit RGB color depth
- Advanced Color Smoothing Algorithms: Inertial-physics, exponential, and perceptually-uniform YUV/RGB interpolators for more fluid and natural color transitions
- High-precision RGB-to-RGBW conversion: Energy-aware power balancing, white point temperature calibration, temporal dithering and anti-flicker hysteresis
Additional features:
- Ultra-low CPU usage on SoCs like Raspberry Pi or Intel N100
- Lightweight design with no heavy dependencies (e.g. no Python or Java)
- Low-latency video processing for LED strips and lamps
- Optimized multithreading, enabling Raspberry Pi to process high-quality video streams
- High portability across ARM-based embedded platforms
- System diagnostics: live CPU/RAM usage, CPU temperature, undervoltage detection, USB grabber and LED performance
- USB grabber support on Linux, Windows 10/11, and macOS for P010/NV12/YUYV/MJPEG/UYVY/I420/RGB
- Hardware-accelerated capture: PipeWire/Portal (Linux/Wayland), DirectX (Windows 10/11)
- HDR-ready DirectX screen grabbing: Supports DXGI_FORMAT_R16G16B16A16_FLOAT and multiple monitors
- Optimized video processing: Our pipeline smoothly handles 1080p P010/NV12/YUYV even on Rpi4
- Built-in audio visualization powered by spectrum analysis
- MQTT support for IoT integration
- Home Assistant and zigbee2mqtt integration
- Automatic tone mapping for SDR/HDR content
- Automatic LUT calibration for optimal HDR/SDR grabber quality using MP4 test files
- Latency benchmarking for USB grabbers
- P010 support on Windows & Linux (our patched Raspberry Pi OS image - P010 is not supported in mainline OS)
- Intuitive LED strip editor, with automatic or manual geometry editing via mouse and context menus
- Smart signal detection with adaptive learning for USB grabbers
- External tone mapping support for flatbuffers/protobuf sources
- Wide LED strip compatibility including WS281x, APA102, HD107, SK9822, SK6812 and our ultra-fast LED controllers:
- HyperSPI for ESP8266/ESP32/RP2040
- HyperSerialEsp8266, HyperSerialESP32, HyperSerialPico USB serial port 2Mb+ speed connection
- :new: Hyperk: our optimized wireless LED controller for ESP8266/ESP32 (incl. S2/S3/C2/C3/C5/C6) and Raspberry Pi Pico W (RP2040/RP2350) family
HyperHDR’s advanced video pipeline significantly enhances LED output, creating a smoother, more immersive ambient lighting experience. It works with SDR, HDR, and Dolby Vision (Low Latency Dolby Vision / LLDV only, if supported by your hardware). Instead of relying on USB grabbers, you can also use software screen capture directly from your PC.
Downloads
Official releases:
https://github.com/awawa-dev/HyperHDR/releases
Windows installers are code-signed by SignPath Foundation. See our Code Signing Policy.
Official Linux repository:
https://awawa-dev.github.io/
Latest test builds (GitHub Actions):
View latest builds on master branch
Login required → select the latest build from the master branch → download setups from the ZIP artifacts.
Documentation
👉 Explore Our Wiki 👈
Community
How to Compile HyperHDR from Source
In the Press
Make: Magazine #84 (2023)MagPi #117 (2022)
Comparison of modern ambient lighting systems (2023)
Tutorial on raspberrypi.com
Building a 4K HDMI TV Backlight (2021)
License
Install Hyperhdr on Unraid in a few clicks.
Find Hyperhdr in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Categories
Download Statistics
Related apps
Explore more like this
Explore allDetails
ccmpbll/hyperhdr:latestRuntime arguments
- Web UI
http://[IP]:[PORT:8090]- Network
host- Shell
sh- Privileged
- false
Template configuration
HTTP web interface
- Target
- 8090
- Default
- 8090
- Value
- 8090
Flatbuffers server port for high-speed LED data input
- Target
- 19400
- Default
- 19400
- Value
- 19400
Path to store HyperHDR configuration
- Target
- /config
- Default
- /mnt/user/appdata/hyperhdr
- Value
- /mnt/user/appdata/hyperhdr
- Target
- TZ
- Default
- America/New_York
- Value
- America/New_York
USB capture card device path. Remove if not using a capture card.
- Target
- /dev/video0
- Default
- /dev/video0
- Value
- /dev/video0