Instance synchronization
Synchronization between different HyperHDR devices¶
There are cases when we want HyperHDR to work with instances on other devices. For example, one instance of HyperHDR on Raspberry Pi working with a USB grabber and LEDs is sometimes also intended to display colors based on a Windows PC screen (no grabber and no LEDs attached, only built-in DirectX software capture as a video source for RPi instance).
Connect a HyperHDR instance on Windows (a remote video/colors source) to another HyperHDR instance on RPi (HyperHDR actually acts similar to WLED here as a LED driver) using the UDP raw sender/receiver mechanism.
This makes synchronization even faster because we do not send entire images over the network (when flatbuffers or protobuffers are used), only the colors of the RGB LEDs, and therefore much smaller packets.
Both instances must have the same number of LEDs and the same geometry.
An example path for our configuration:
- you need to export/backup the HyperHDR configuration from RPi (interface: General tab)
- import the configuration backup on Windows (interface: General tab)
- on Windows change the light source to 'udpraw' (interface: 'LED hardware' tab) and set the target IP to the Raspberry Pi address
- on Windows disable USB grabber and enable DirectX grabber (interface: Video capturing tab)
- on Windows disable 'Smoothing' (interface: Image Processing tab) Otherwise, it will be processed twice: once on Windows and once on RPi
- on Windows disable 'Image processing' settings that may have affect LED colors. For example for the red/green/blue gamma settings, change 1.5 to neutral 1 (interface: Image Processing tab). Otherwise, they will be processed twice: once on Windows and once on RPi
- on Raspberry Pi, you need to enable the UDP server (interface: Advanced->Network Services tab, screenshot above)