All Projects → awawa-dev → Hyperhdr

awawa-dev / Hyperhdr

Licence: other
Open source ambilight implementation for the audio and video stream on Windows 10 and Linux (x86 and Raspberry Pi). Primarily for use with the movie content on your TV and the LED strip. Includes support for HDR10 tone mapping correction for video processing and multi-threading for better performance.

Projects that are alternatives of or similar to Hyperhdr

Responsive led control
Responsive Led Control based on McLightning & Grisworld-Led-Controller with FastLED
Stars: ✭ 62 (-12.68%)
Mutual labels:  ws2812b, esp8266
TinyPixelMapper
a Pixelmapping software for the ESP32 and ESP8266 for addressible LED Strips, with a OSC controll interface and FFT
Stars: ✭ 22 (-69.01%)
Mutual labels:  esp8266, ws2812b
sonic-track
Uses a raspberry pi camera or web cam and python opencv to track motion in camera view. Sends motion contour data to sonic-pi via osc interface to produce and control notes/sample. Includes ability to use onscreen menu areas to change synthesizer, octaves Etc.
Stars: ✭ 24 (-66.2%)
Mutual labels:  rpi, sound
Cattlepi
effortlessly boot, configure, update and monitor your raspberry pi ☁️
Stars: ✭ 250 (+252.11%)
Mutual labels:  rpi, raspbian
Enclosure Picroft
Mycroft interface for Raspberry Pi environment
Stars: ✭ 649 (+814.08%)
Mutual labels:  rpi, raspbian
Sound-and-music-reactive-ESP8266-WS2812B
Refined Version of @scottlawsonbc and all schematics + Tutorial 🎵🎵
Stars: ✭ 35 (-50.7%)
Mutual labels:  sound, ws2812b
dirty-leds
Music reactive WS2812b LEDs with an ESP8266
Stars: ✭ 24 (-66.2%)
Mutual labels:  esp8266, ws2812b
Crankshaft
Crankshaft: A turnkey GNU/Linux solution that transforms a Raspberry Pi to an Android Auto head unit.
Stars: ✭ 1,703 (+2298.59%)
Mutual labels:  rpi, raspbian
Diyhue
Philips Hue emulator that is able to control multiple types of lights
Stars: ✭ 586 (+725.35%)
Mutual labels:  esp8266, hue
Esp8266 artnetnode v2
ESP8266 based WiFi ArtNet to DMX, RDM and LED Pixels
Stars: ✭ 400 (+463.38%)
Mutual labels:  ws2812b, esp8266
Make
📖📖📖📖📖 写给软件工程师看的硬件编程指南
Stars: ✭ 170 (+139.44%)
Mutual labels:  rpi, esp8266
Hyperion.ng
The successor to Hyperion aka Hyperion Next Generation
Stars: ✭ 1,008 (+1319.72%)
Mutual labels:  rpi, hue
Linux Audio Adjustments
Audio Tweaks for Debian Based RPi
Stars: ✭ 140 (+97.18%)
Mutual labels:  rpi, sound
PiBeacon
Low-cost iBeacon using Raspberry Pi
Stars: ✭ 41 (-42.25%)
Mutual labels:  rpi, raspbian
Gumcp
Web Control Panel for Raspberry Pi
Stars: ✭ 124 (+74.65%)
Mutual labels:  rpi, raspbian
HyperBian
Hyperion pre installed on Raspberry Pi OS Lite
Stars: ✭ 192 (+170.42%)
Mutual labels:  rpi, raspbian
Homekit Ws2812b Controller
ESP8266 based  Homekit controller for WS2812B lightstrips with WS2812FX support🌈
Stars: ✭ 110 (+54.93%)
Mutual labels:  ws2812b, esp8266
Sonoff wifi switch
Прошивка для ESP8266 (Умный дом)-Firmware for ESP8266 (Smart Home)
Stars: ✭ 156 (+119.72%)
Mutual labels:  ws2812b, esp8266
Super-Simple-RGB-WiFi-Lamp
A project based on the ESP8266 and WS2812b
Stars: ✭ 61 (-14.08%)
Mutual labels:  esp8266, ws2812b
Mclighting
The ESP8266 based multi-client lighting gadget
Stars: ✭ 977 (+1276.06%)
Mutual labels:  ws2812b, esp8266

About

Open source ambilight implementation with the audio visualization effects and video performance tweaks especially for USB grabbers. Support for HDR/BT2020 using LUT tables. Single and multi-threaded optimization (Windows PC and RPi 2/3/4) for SDR/HDR streams captured by USB grabbers. Now even Rpi 3 can handle 1080p60 MJPEG stream. Direct support for the devices under Windows 10 using Media Foundation.

Download packages & sources

https://github.com/awawa-dev/HyperHDR/releases

Default LUT table is already included (in the installers) but you can generate your own or import 3dl Autodesk lut table.
You can use prepared SD card images: manual
Default hostname for SD images is HyperHDR so connect to http://hyperhdr:8090/
SSH and SPI are enabled on default.

Support and contact

https://hyperhdr.blogspot.com/


Guide for building your own ambilight system:

Step 1: Addressable led strip
Step 2: Power supply
Step 3: USB grabber
Step 4: Additional stuff
Step 5: Device for hosting HyperHDR...Windows PC or Raspberry Pi?
Step 6: Installing HyperHDR ambilight software

Build-log from my SK6812 RGBW system and one thing about calibration

Main features of this fork:

  • Really low CPU usage on SoCs like Raspberry Pi using v4l2 grabbers
  • Support for multithreading that makes Rpi 2/3/4 capable of processing HQ video stream (Rpi Zero should also benefit from the optimization alone)
  • HDR/BT2020 color & gamma correction
  • Support for USB grabbers under Windows 10
  • Built-in audio visualization effects
  • Optimized multi-instances. You can use for example your TV LED strip and multiple WLED or Philips Hue light sources.
  • Support for WS8212b/WS8213 RGB & SK6812RGBW ultrafast USB serial port AWA protocol for ESP8266 at 2000000 baud with data integrity check and white channel calibration: HyperSerialEsp8266. WLED fork is also available: HyperSerialWLED

Changelog:

  • Overall performance without tone mapping for USB grabbers improved x10 (MJPEG) and x3 (YUV) over Hyperion NG 2.0.0.8A thanks to optimization & using of multi-threading
  • Direct support for USB grabbers under Windows 10 using Microsoft Media Foundation (really fast & of course multi-threaded)
  • Audio visualization effects (Windows and Linux). Just setup your audio grabber in the effects tabs and run audio effects in the remote tab.
  • Support for WS8212b/WS8213 RGB & SK6812 RGBW ultrafast USB serial port AWA protocol for ESP8266 at 2 000 000 baud with data integrity check: HyperSerialEsp8266
  • Fork of WLED with the support for USB serial port AWA protocol at 2 000 000 baud: HyperSerialWLED
  • Support for I420, NV12 and XRGB encoding
  • Overall ('Quarter of frame' in the USB grabber section) and per an instance ('Sparse processing' in the processing tab) options to control quality/performance balance.
  • Hardware brightness, contrast, saturation, hue control for USB grabbers (both Windows and Linux)
  • Philips Hue driver (inc. Entertainment API) partially rewritten and working. Customized new options for powering on/off the lamps.
  • New option to choose video encoding format (for multi format grabbers for ex. Ezcap 269, MS2109 clones)
  • Add configurable Signal Threshold Counter option for signal detection
  • LUT table tone mapping, mainly for HDR correction and fast color space transformation (YUV).
  • New advanced LED mean color algorithm in image->LED mapping
  • New weighted advanced LED mean color algorithm in image->LED mapping
  • Improved backlight algorithm to minimize leds flickering on the dark scenes (smoothing is still recommended)
  • Add old style color calibration (HSL) using luminance, saturation et.
  • Build for newer Raspbian Buster. It's a complete migration from older Raspbian Stretch.
  • Option for hyperhdr-remote, JSON API and web GUI remote to turn on/off HDR tone mapping
  • Option for luminescence & saturation for hyperhdr-remote
  • Ready to write SD images of HyperHDR
  • Fix for SK9822 leds on SPI (aka fake APA102)
  • Windows and DEB & RPM installers contain default LUT table

FAQ:

You don't need to use HDR source for usage of HyperHDR. You can just benefit from significant higher performance for captured video stream from USB grabber over Hyperion NG, capability of using multithreading to avoid bottleneck resources, support for modern USB grabbers under Windows 10, improved image to led colors averaging new algorihtms, music capabilities and few tweaks that minimize blinking at the dark scenes and hardware support to tune up brightness, contrast, saturation and hue for a grabber.

Try to play with grabber's hardware brightness and contrast as experimentents proved they can change even with some selected resolutions and FPS. And there are some different default values for brightness and contrast for Linux and Windows. Nothing is constant if you don't force specific value. For Ezcap 269 grabber I set brightness to 139 and preferable resolution is 1280x720 YUV.

With HyperHDR you can see a jump of CPU usage in case of MJPEG encoding grabber to over 200-300% for 1080p format for Rpi 2/3/4. It's OK as MJPEG decoding is quite challenging. What is more important each core will be loaded at 50-60% only as you will go for full frame rate (1080p 30 or 60fps). With a single thread in Hyperion NG CPU usage will be around 100%, but it means that the framerate will be greatly reduced and components will be fight for resources.

Use linux 'top' command with per core view (press 1) or preferable 'htop'. On Rpi 2/3/4 max limit is 400% (4 cores per 100%). The problem will occure when one of the core's usage is close to the 100% limit, not when overall usage is for example between 200-300% where each core if far from the individual limit.

Check the performance statistics that are updated every minute in System->Log page.

Use YUV(YUY2) / XRGB(RGB32) encoding format if it's possible. It provides better quality and lower CPU usage.



Before and after HyperHDR LUT correction on HDR/BT2020 video that was broken by the USB grabber.
Without it your ambilight colors will be washed-out:

alt text alt text alt text alt text



Direct support for USB grabbers under Windows 10:



USB grabber configuration:



Ultrafast USB serial port AWA protocol for ESP8266 at 2 000 000 baud:

License

The source is released under MIT-License (see http://opensource.org/licenses/MIT).
GitHub license

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].