awawa-dev / HyperHDR

Highly optimized open source ambient lighting implementation based on modern digital video and audio stream analysis for Windows, macOS and Linux (x86 and Raspberry Pi / ARM).
http://www.hyperhdr.eu/
MIT License
1.03k stars 109 forks source link

Corruption in MacOS system screen grabber using ultrawide resolutions #881

Closed joshuata closed 2 months ago

joshuata commented 2 months ago

Bug report, debug log and your config file (FULL LOGS ARE MANDATORY)

When using the system screen grabber under MacOS the captured data is misaligned, i.e. it is putting 3/4 of a pixel row of the screen on each row of the captured image. This is due to using an ultrawide monitor with an aspect ratio of 21:9 (3440x1440) rather than the expected 16:9. If I force the resolution to a standard aspect ratio (2560x1440) the output is perfectly aligned like I would expect.

I have attached a screenshot below

shot212414

2024-06-06T21:24:57.195Z [CORE] TTY is not attached to the log output
2024-06-06T21:24:57.195Z [MAIN] Database path: '/Users/joshuata/.hyperhdr/db/hyperhdr.db', readonlyMode = disabled
2024-06-06T21:24:57.195Z [MAIN] Starting HyperHdr - 20.0.0.0, (HEAD detached at v20.0.0.0) (awawa-dev-9e960c9/52f12b4-1711236142), built: Mar 23 2024:23:28:09
2024-06-06T21:24:57.195Z [MAIN] Set user data path to '/Users/joshuata/.hyperhdr'
2024-06-06T21:24:57.195Z [INSTANCE_CFG] Loading instance configuration
2024-06-06T21:24:57.197Z [DB] Database opened: /Users/joshuata/.hyperhdr/db/hyperhdr.db
2024-06-06T21:24:57.201Z [INSTANCE_CFG] Settings database initialized
2024-06-06T21:24:57.202Z [SOUND_GRABBER] Sound device is disabled
2024-06-06T21:24:57.282Z [JSONSERVER] (JsonServer.cpp:26) Created new instance
2024-06-06T21:24:57.283Z [JSONSERVER] Started on port 19444
2024-06-06T21:24:57.283Z [SSDP] (SSDPHandler.cpp:31) SSDPHandler is initialized
2024-06-06T21:24:57.283Z [MAIN] start systray
2024-06-06T21:24:57.281Z [macOS AVF:auto] (GrabberWrapper.cpp:55) Starting the grabber wrapper
2024-06-06T21:24:57.281Z [MACOS_SYSTEM:AUTO] Found display: Display id: 2
2024-06-06T21:24:57.281Z [MACOS_SYSTEM:AUTO] Restarting video grabber is now blocked due to reloading of the configuration
2024-06-06T21:24:57.281Z [MACOS_SYSTEM:AUTO] (Grabber.cpp:159) Set new width: 512, height: 512 for capture
2024-06-06T21:24:57.281Z [MACOS_SYSTEM:AUTO] (Grabber.cpp:335) setWidthHeight preparing to restarting video grabber 0
2024-06-06T21:24:57.281Z [MACOS_SYSTEM:AUTO] Delayed restart of the grabber due to change of the capturing resolution
2024-06-06T21:24:57.281Z [MACOS_SYSTEM:AUTO] Delayed restart of the grabber due to change of the framerate
2024-06-06T21:24:57.281Z [SIGNAL_OLD] (DetectionManual.cpp:84) Signal detection area set to: 0.250000,0.250000 x 0.750000,0.750000
2024-06-06T21:24:57.281Z [SIGNAL_OLD] (DetectionManual.cpp:74) Signal threshold set to: {0, 0, 0} and frames: 50
2024-06-06T21:24:57.281Z [MACOS_SYSTEM:AUTO] (Grabber.cpp:380) setDeviceVideoStandard preparing to restart video grabber. Old: '' new: 'auto'
2024-06-06T21:24:57.281Z [MACOS_SYSTEM:AUTO] Delayed restart of the grabber due to change of selected device
2024-06-06T21:24:57.281Z [HYPERHDR0] Starting the instance
2024-06-06T21:24:57.281Z [INSTANCE_CFG0] Loading instance configuration
2024-06-06T21:24:57.282Z [DB] Database opened: /Users/joshuata/.hyperhdr/db/hyperhdr.db
2024-06-06T21:24:57.283Z [MACOS AVF:AUTO] HyperHDR has the camera's permission
2024-06-06T21:24:57.283Z [MACOS AVF:AUTO] (AVFGrabber.mm:409) Searching for devices...
2024-06-06T21:24:57.283Z [MACOS AVF:AUTO] (AVFGrabber.mm:459) Elgato Virtual Camera (C8DB174F-4D65-437F-8134-A6582FA617F0) 1920 x 1080 @ 30 fps BGRA (unsupported)
2024-06-06T21:24:57.283Z [MACOS AVF:AUTO] (AVFGrabber.mm:459) Elgato Virtual Camera (C8DB174F-4D65-437F-8134-A6582FA617F0) 1280 x 720 @ 30 fps BGRA (unsupported)
2024-06-06T21:24:57.283Z [MACOS AVF:AUTO] (AVFGrabber.mm:459) OBS Virtual Camera (7626645E-4425-469E-9D8B-97E0FA59AC75) 1920 x 1080 @ 60 fps BGRA (unsupported)
2024-06-06T21:24:57.283Z [MACOS AVF:AUTO] Restarting video grabber is now blocked due to reloading of the configuration
2024-06-06T21:24:57.283Z [MACOS AVF:AUTO] Cropping image: width=0 height=0; crop: left=0 right=0 top=0 bottom=0 
2024-06-06T21:24:57.283Z [macOS AVF:auto] (GrabberWrapper.cpp:126) CEC keycode. Start: 0, stop: 0
2024-06-06T21:24:57.283Z [MACOS AVF:AUTO] (Grabber.cpp:273) setBrightnessContrastSaturationHue nothing changed
2024-06-06T21:24:57.283Z [MACOS AVF:AUTO] (AVFGrabber.mm:195) setHdrToneMappingMode to: Disabled
2024-06-06T21:24:57.283Z [MACOS AVF:AUTO] (Grabber.cpp:182) setFpsSoftwareDecimation to: 1
2024-06-06T21:24:57.283Z [SIGNAL_OLD] (DetectionManual.cpp:84) Signal detection area set to: 0.250000,0.250000 x 0.750000,0.750000
2024-06-06T21:24:57.283Z [SIGNAL_OLD] (DetectionManual.cpp:74) Signal threshold set to: {12, 12, 12} and frames: 200
2024-06-06T21:24:57.283Z [SIGNAL_AUTO] (DetectionAutomatic.cpp:376) Automatic signal detection -> errorTolerance: 9, modelTolerance: 90, sleepTime: 5000, wakeTime: 1000
2024-06-06T21:24:57.283Z [MACOS AVF:AUTO] (Grabber.cpp:380) setDeviceVideoStandard preparing to restart video grabber. Old: '' new: 'auto'
2024-06-06T21:24:57.283Z [MACOS AVF:AUTO] Delayed restart of the grabber due to change of selected device
2024-06-06T21:24:57.283Z [MACOS AVF:AUTO] (Grabber.cpp:200) Force encoding to: NO_CHANGE (old: NO_CHANGE)
2024-06-06T21:24:57.283Z [MACOS AVF:AUTO] setQFrameDecimation is now: disabled
2024-06-06T21:24:57.286Z [INSTANCE_CFG0] Settings database initialized
2024-06-06T21:24:57.286Z [COMPONENTCTRL0] (ComponentController.cpp:31) ComponentController is initialized. Components are ENABLED
2024-06-06T21:24:57.286Z [MUXER0] (Muxer.cpp:55) Muxer initialized
2024-06-06T21:24:57.286Z [BLACKBORDER] Set mode to: default
2024-06-06T21:24:57.286Z [IMAGETOLED_MNG0] (ImageToLedManager.cpp:192) Set LED mapping type to advanced
2024-06-06T21:24:57.286Z [IMAGETOLED_MNG0] (ImageToLedManager.cpp:176) setSparseProcessing to 0
2024-06-06T21:24:57.286Z [IMAGETOLED_MNG0] (ImageToLedManager.cpp:103) ImageToLedManager initialized
2024-06-06T21:24:57.286Z [COLORSPACE_CALIBRATION0] classicMode: no, gammas:[1.50, 1.50, 1.50], saturation: 1.00, luminance: 1.00, backLight: [enabled, threshold: 1, colored: yes]
2024-06-06T21:24:57.286Z [LED_CALIBRATION0] (LedCalibration.cpp:101) Calibration config '0' for LED segment: [0, 136]
2024-06-06T21:24:57.286Z [HYPERHDR0] Led strip RGB order is: rgb
2024-06-06T21:24:57.286Z [SMOOTHING0] High resolution clock is steady (good)
2024-06-06T21:24:57.286Z [SMOOTHING0] Creating config (0) => type: Alternative, dirMode: false, pause: false, settlingTime: 150ms, interval: 20ms (50Hz), antiFlickTres: 32, antiFlickStep: 2, antiFlickTime: 250
2024-06-06T21:24:57.286Z [SMOOTHING0] Clearing queued colors before: disabling. Smoothing configuration changed: restarting timer.
2024-06-06T21:24:57.286Z [SMOOTHING0] Smoothing queue is cleared
2024-06-06T21:24:57.286Z [SMOOTHING0] Selecting config (0) => type: Alternative, directMode: false, pause: false, settlingTime: 150ms, interval: 20ms (50Hz), antiFlickTres: 32, antiFlickStep: 2, antiFlickTime: 250
2024-06-06T21:24:57.286Z [SMOOTHING0] Selecting config (0) => type: Alternative, directMode: false, pause: false, settlingTime: 150ms, interval: 20ms (50Hz), antiFlickTres: 32, antiFlickStep: 2, antiFlickTime: 250
2024-06-06T21:24:57.286Z [LEDDEVICE0_UDPRAW] Start LedDevice 'udpraw'.
2024-06-06T21:24:57.286Z [LEDDEVICE0_UDPRAW] (LedDevice.cpp:337) deviceConfig: [{"colorOrder":"rgb","currentLedCount":137,"host":"192.168.1.110","port":5568,"refreshTime":20,"smoothingRefreshTime":0,"type":"udpraw"}]
2024-06-06T21:24:57.286Z [LEDDEVICE0_UDPRAW] (LedDevice.cpp:423) Refresh rate = 50.00 Hz
2024-06-06T21:24:57.286Z [LEDDEVICE0_UDPRAW] (LedDevice.cpp:373) Device is not ready to start a timer
2024-06-06T21:24:57.286Z [LEDDEVICE0_UDPRAW] (LedDevice.cpp:433) Refresh interval updated to 20ms
2024-06-06T21:24:57.286Z [LEDDEVICE0_UDPRAW] (ProviderUdp.cpp:64) Successfully parsed 192.168.1.110 as an IP-address.
2024-06-06T21:24:57.286Z [LEDDEVICE0_UDPRAW] (ProviderUdp.cpp:94) UDP socket will write to 192.168.1.110:5568
2024-06-06T21:24:57.286Z [LEDDEVICE0_UDPRAW] (LedDevice.cpp:247) Enable the device
2024-06-06T21:24:57.304Z [HYPER_MANAGER] HyperHDR instance 'First LED instance' has been started
2024-06-06T21:24:57.286Z [HYPERHDR0] The instance is running
2024-06-06T21:24:57.286Z [MUXER0] Register new input 'System/SYSTEMGRABBER' with priority 245 as inactive
2024-06-06T21:24:57.286Z [COMPONENTCTRL0] System capture device: enabled
2024-06-06T21:24:57.286Z [LEDDEVICE0_UDPRAW] (LedDevice.cpp:64) Switch on
2024-06-06T21:24:57.286Z [LEDDEVICE0_UDPRAW] (LedDevice.cpp:140) Power On
2024-06-06T21:24:57.286Z [LEDDEVICE0_UDPRAW] (LedDevice.cpp:367) Starting timer with interval = 20ms
2024-06-06T21:24:57.286Z [COMPONENTCTRL0] LED device: enabled
2024-06-06T21:24:57.286Z [MACOS_SYSTEM:AUTO] (macOsGrabber.mm:111) init
2024-06-06T21:24:57.286Z [EFFECTENGINE0] Run effect "Rainbow swirl fast" on channel 0
2024-06-06T21:24:57.286Z [MACOS_SYSTEM:AUTO] (macOsGrabber.mm:130) Forcing auto discovery device
2024-06-06T21:24:57.286Z [MACOS_SYSTEM:AUTO] (macOsGrabber.mm:135) Auto discovery set to Display id: 2
2024-06-06T21:24:57.286Z [MACOS_SYSTEM:AUTO] *************************************************************************************************
2024-06-06T21:24:57.286Z [EFFECTENGINE0] (EffectEngine.cpp:92) Start the effect: name [Rainbow swirl fast]
2024-06-06T21:24:57.286Z [MACOS_SYSTEM:AUTO] Starting macOS grabber. Selected: 'Display id: 2' max width: 512 (512) @ 20 fps
2024-06-06T21:24:57.286Z [MUXER0] Register new input 'System/EFFECT' with priority 0 as inactive
2024-06-06T21:24:57.286Z [MACOS_SYSTEM:AUTO] *************************************************************************************************
2024-06-06T21:24:57.286Z [MACOS_SYSTEM:AUTO] Started
2024-06-06T21:24:57.286Z [HYPERHDR0] Boot effect: animation set to 'Rainbow swirl fast' [started]
2024-06-06T21:24:57.286Z [EFFECT0(Rainbo...)] Begin playing the effect with priority: 0
2024-06-06T21:24:57.287Z [MUXER0] Priority 0 is now active
2024-06-06T21:24:57.287Z [MUXER0] Set visible priority to 0
2024-06-06T21:24:57.287Z [HYPERHDR0] New priority[0], previous [255]
2024-06-06T21:24:57.287Z [HYPERHDR0] New source available -> switch LED-Device on
2024-06-06T21:24:57.287Z [SMOOTHING0] Clearing queued colors before: enabling
2024-06-06T21:24:57.287Z [SMOOTHING0] Smoothing queue is cleared
2024-06-06T21:24:57.287Z [COLORSPACE_CALIBRATION0] (ColorSpaceCalibration.cpp:225) setBackLightEnabled: 0
2024-06-06T21:24:57.287Z [LEDDEVICE0_UDPRAW] (LedDevice.cpp:247) Enable the device
2024-06-06T21:24:57.287Z [IMAGETOLED_MNG0] Total index number is: 1000 (memory: 1000). User sparse processing is: disabled, image size: 80 x 45, area number: 137
2024-06-06T21:24:57.304Z [FLATBUFSERVER] Started on port 19400
2024-06-06T21:24:57.304Z [WEBSERVER] Initialize Webserver
2024-06-06T21:24:57.304Z [WEBSERVER] Apply Webserver settings
2024-06-06T21:24:57.304Z [WEBSERVER] Set document root to: :/www
2024-06-06T21:24:57.304Z [FLATBUFSERVER] Started local domain socket server: 'hyperhdr-domain'
2024-06-06T21:24:57.304Z [WEBSERVER] Started: 'HyperHDR WebServer (HTTP)' on port: 8090
2024-06-06T21:24:57.304Z [SSDP] (SSDPHandler.cpp:93) The local address is empty
2024-06-06T21:24:57.304Z [WEBSERVER] Initialize Webserver
2024-06-06T21:24:57.304Z [WEBSERVER] Apply Webserver settings
2024-06-06T21:24:57.304Z [WEBSERVER] Set document root to: :/www
2024-06-06T21:24:57.304Z [WEBSERVER] No valid SSL certificate has been found (':/hyperhdrcrt.pem'). Did you install OpenSSL?
2024-06-06T21:24:57.304Z [WEBSERVER] The provided SSL key is invalid or not supported use RSA encrypt and PEM format (':/hyperhdrkey.pem')
2024-06-06T21:24:57.304Z [WEBSERVER] Started: 'HyperHDR WebServer (HTTPS)' on port: 8092
2024-06-06T21:24:57.304Z [SSDP] (SSDPHandler.cpp:42) SSDPHandler is initializing
2024-06-06T21:24:57.304Z [SSDP] (SSDPHandler.cpp:183) The local address is: 192.168.1.116
2024-06-06T21:24:57.304Z [SSDP] (SSDPServer.cpp:95) Initialize the SSDP server
2024-06-06T21:24:57.304Z [WEBSERVER] (StaticFileServing.cpp:68) SSDP description is set up
2024-06-06T21:24:57.304Z [SSDP] Starting the SSDP server
2024-06-06T21:24:57.311Z [NETFORWARDER] Forwarder has changed state to disabled
2024-06-06T21:24:57.346Z [MUXER0] Priority 245 is now active
2024-06-06T21:24:58.809Z [SERVICE_mDNS] Starting the network discovery thread
2024-06-06T21:24:58.813Z [NET_DISCOVERY] Found HyperHDR at 192.168.1.110:8090 (hyperbian.home.joshasplund.com.local)
2024-06-06T21:25:00.291Z [EFFECT0(Rainbo...)] The effect quits with priority: 0
2024-06-06T21:25:00.292Z [MUXER0] Removed source priority 0
2024-06-06T21:25:00.292Z [MUXER0] Set visible priority to 245
2024-06-06T21:25:00.292Z [HYPERHDR0] New priority[245], previous [0]
2024-06-06T21:25:00.292Z [COLORSPACE_CALIBRATION0] (ColorSpaceCalibration.cpp:225) setBackLightEnabled: 1
2024-06-06T21:25:00.292Z [EFFECTENGINE0] Effect 'Rainbow swirl fast' has finished.
2024-06-06T21:25:00.293Z [EFFECT0(Rainbo...)] Effect named: 'Rainbow swirl fast' is deleted
2024-06-06T21:25:00.310Z [IMAGETOLED_MNG0] Total index number is: 25962 (memory: 25962). User sparse processing is: disabled, image size: 491 x 205, area number: 137
2024-06-06T21:25:03.506Z [WEBSOCKET] (WebSocketClient.cpp:39) New connection from ::1
2024-06-06T21:25:20.198Z [WEBSOCKET] (WebSocketClient.cpp:188) send close: 1000 
2024-06-06T21:26:26.039Z [WEBSOCKET] (WebSocketClient.cpp:39) New connection from ::1
2024-06-06T21:26:35.753Z [WEBSOCKET] (HyperAPI.cpp:957) log streaming activated for client ::1
2024-06-06T21:26:57.109Z [PERFORMANCE] [INSTANCE0: FPS = 20.00, processed = 1200], [LED0: FPS = 69.96, send = 4197, processed = 1200, dropped = 0]
{
    "instances": [
        {
            "enabled": 1,
            "friendly_name": "First LED instance",
            "instance": 0
        }
    ],
    "settings": [
        {
            "config": "{\"color\":[255,138,0],\"effect\":\"Rainbow swirl fast\",\"enable\":false,\"type\":\"effect\"}",
            "hyperhdr_instance": 0,
            "type": "backgroundEffect"
        },
        {
            "config": "{\"blurRemoveCnt\":1,\"borderFrameCnt\":50,\"enable\":false,\"maxInconsistentCnt\":10,\"mode\":\"default\",\"threshold\":5,\"unknownFrameCnt\":600}",
            "hyperhdr_instance": 0,
            "type": "blackborderdetector"
        },
        {
            "config": "{\"enable\":false,\"port\":19333,\"priority\":128}",
            "hyperhdr_instance": 0,
            "type": "boblightServer"
        },
        {
            "config": "{\"channelAdjustment\":[{\"backlightColored\":true,\"backlightThreshold\":1,\"blue\":[0,0,255],\"brightness\":100,\"brightnessCompensation\":0,\"classic_config\":false,\"cyan\":[0,255,255],\"gammaBlue\":1.5,\"gammaGreen\":1.5,\"gammaRed\":1.5,\"green\":[0,255,0],\"id\":\"default\",\"leds\":\"*\",\"luminanceGain\":1,\"magenta\":[255,0,255],\"red\":[255,0,0],\"saturationGain\":1,\"temperatureBlue\":255,\"temperatureGreen\":255,\"temperatureRed\":255,\"white\":[255,255,255],\"yellow\":[255,255,0]}],\"imageToLedMappingType\":\"advanced\",\"sparse_processing\":false}",
            "hyperhdr_instance": 0,
            "type": "color"
        },
        {
            "config": "{\"colorOrder\":\"rgb\",\"host\":\"192.168.1.110\",\"port\":5568,\"refreshTime\":20,\"type\":\"udpraw\"}",
            "hyperhdr_instance": 0,
            "type": "device"
        },
        {
            "config": "{\"disable\":[\"\"],\"paths\":[\"$ROOT/custom-effects\"]}",
            "hyperhdr_instance": 0,
            "type": "effects"
        },
        {
            "config": "{\"enable\":true,\"hdrToneMapping\":false,\"hdrToneMappingMode\":1,\"port\":19400,\"timeout\":5}",
            "type": "flatbufServer"
        },
        {
            "config": "{\"color\":[255,0,0],\"duration_ms\":3000,\"effect\":\"Rainbow swirl fast\",\"enable\":true,\"type\":\"effect\"}",
            "hyperhdr_instance": 0,
            "type": "foregroundEffect"
        },
        {
            "config": "{\"enable\":false,\"flat\":[\"127.0.0.1:19401\"],\"json\":[\"127.0.0.1:19446\"]}",
            "type": "forwarder"
        },
        {
            "config": "{\"disableLedsStartup\":false,\"disableOnLocked\":false,\"name\":\"My HyperHDR Config\",\"showOptHelp\":true,\"version\":2}",
            "type": "general"
        },
        {
            "config": "{\"port\":19444}",
            "type": "jsonServer"
        },
        {
            "config": "{\"classic\":{\"bottom\":47,\"edgegap\":0,\"glength\":0,\"gpos\":0,\"groupX\":0,\"groupY\":0,\"hdepth\":8,\"left\":21,\"overlap\":0,\"pblh\":0,\"pblv\":100,\"pbrh\":100,\"pbrv\":100,\"position\":106,\"ptlh\":0,\"ptlv\":0,\"ptrh\":100,\"ptrv\":0,\"reverse\":false,\"right\":21,\"top\":48,\"vdepth\":5},\"matrix\":{\"cabling\":\"snake\",\"ledshoriz\":1,\"ledsvert\":1,\"start\":\"top-left\"}}",
            "hyperhdr_instance": 0,
            "type": "ledConfig"
        },
        {
            "config": "[{\"group\":0,\"hmax\":0.2128,\"hmin\":0.1915,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.1915,\"hmin\":0.1702,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.1702,\"hmin\":0.1489,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.1489,\"hmin\":0.1277,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.1277,\"hmin\":0.1064,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.1064,\"hmin\":0.0851,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.0851,\"hmin\":0.0638,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.0638,\"hmin\":0.0426,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.0426,\"hmin\":0.0213,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.0213,\"hmin\":0,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.05,\"hmin\":0,\"vmax\":1,\"vmin\":0.9524},{\"group\":0,\"hmax\":0.05,\"hmin\":0,\"vmax\":0.9524,\"vmin\":0.9048},{\"group\":0,\"hmax\":0.05,\"hmin\":0,\"vmax\":0.9048,\"vmin\":0.8571},{\"group\":0,\"hmax\":0.05,\"hmin\":0,\"vmax\":0.8571,\"vmin\":0.8095},{\"group\":0,\"hmax\":0.05,\"hmin\":0,\"vmax\":0.8095,\"vmin\":0.7619},{\"group\":0,\"hmax\":0.05,\"hmin\":0,\"vmax\":0.7619,\"vmin\":0.7143},{\"group\":0,\"hmax\":0.05,\"hmin\":0,\"vmax\":0.7143,\"vmin\":0.6667},{\"group\":0,\"hmax\":0.05,\"hmin\":0,\"vmax\":0.6667,\"vmin\":0.619},{\"group\":0,\"hmax\":0.05,\"hmin\":0,\"vmax\":0.619,\"vmin\":0.5714},{\"group\":0,\"hmax\":0.05,\"hmin\":0,\"vmax\":0.5714,\"vmin\":0.5238},{\"group\":0,\"hmax\":0.05,\"hmin\":0,\"vmax\":0.5238,\"vmin\":0.4762},{\"group\":0,\"hmax\":0.05,\"hmin\":0,\"vmax\":0.4762,\"vmin\":0.4286},{\"group\":0,\"hmax\":0.05,\"hmin\":0,\"vmax\":0.4286,\"vmin\":0.381},{\"group\":0,\"hmax\":0.05,\"hmin\":0,\"vmax\":0.381,\"vmin\":0.3333},{\"group\":0,\"hmax\":0.05,\"hmin\":0,\"vmax\":0.3333,\"vmin\":0.2857},{\"group\":0,\"hmax\":0.05,\"hmin\":0,\"vmax\":0.2857,\"vmin\":0.2381},{\"group\":0,\"hmax\":0.05,\"hmin\":0,\"vmax\":0.2381,\"vmin\":0.1905},{\"group\":0,\"hmax\":0.05,\"hmin\":0,\"vmax\":0.1905,\"vmin\":0.1429},{\"group\":0,\"hmax\":0.05,\"hmin\":0,\"vmax\":0.1429,\"vmin\":0.0952},{\"group\":0,\"hmax\":0.05,\"hmin\":0,\"vmax\":0.0952,\"vmin\":0.0476},{\"group\":0,\"hmax\":0.05,\"hmin\":0,\"vmax\":0.0476,\"vmin\":0},{\"group\":0,\"hmax\":0.0208,\"hmin\":0,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.0417,\"hmin\":0.0208,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.0625,\"hmin\":0.0417,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.0833,\"hmin\":0.0625,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.1042,\"hmin\":0.0833,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.125,\"hmin\":0.1042,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.1458,\"hmin\":0.125,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.1667,\"hmin\":0.1458,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.1875,\"hmin\":0.1667,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.2083,\"hmin\":0.1875,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.2292,\"hmin\":0.2083,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.25,\"hmin\":0.2292,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.2708,\"hmin\":0.25,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.2917,\"hmin\":0.2708,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.3125,\"hmin\":0.2917,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.3333,\"hmin\":0.3125,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.3542,\"hmin\":0.3333,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.375,\"hmin\":0.3542,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.3958,\"hmin\":0.375,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.4167,\"hmin\":0.3958,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.4375,\"hmin\":0.4167,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.4583,\"hmin\":0.4375,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.4792,\"hmin\":0.4583,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.5,\"hmin\":0.4792,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.5208,\"hmin\":0.5,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.5417,\"hmin\":0.5208,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.5625,\"hmin\":0.5417,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.5833,\"hmin\":0.5625,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.6042,\"hmin\":0.5833,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.625,\"hmin\":0.6042,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.6458,\"hmin\":0.625,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.6667,\"hmin\":0.6458,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.6875,\"hmin\":0.6667,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.7083,\"hmin\":0.6875,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.7292,\"hmin\":0.7083,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.75,\"hmin\":0.7292,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.7708,\"hmin\":0.75,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.7917,\"hmin\":0.7708,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.8125,\"hmin\":0.7917,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.8333,\"hmin\":0.8125,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.8542,\"hmin\":0.8333,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.875,\"hmin\":0.8542,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.8958,\"hmin\":0.875,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.9167,\"hmin\":0.8958,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.9375,\"hmin\":0.9167,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.9583,\"hmin\":0.9375,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":0.9792,\"hmin\":0.9583,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":1,\"hmin\":0.9792,\"vmax\":0.08,\"vmin\":0},{\"group\":0,\"hmax\":1,\"hmin\":0.95,\"vmax\":0.0476,\"vmin\":0},{\"group\":0,\"hmax\":1,\"hmin\":0.95,\"vmax\":0.0952,\"vmin\":0.0476},{\"group\":0,\"hmax\":1,\"hmin\":0.95,\"vmax\":0.1429,\"vmin\":0.0952},{\"group\":0,\"hmax\":1,\"hmin\":0.95,\"vmax\":0.1905,\"vmin\":0.1429},{\"group\":0,\"hmax\":1,\"hmin\":0.95,\"vmax\":0.2381,\"vmin\":0.1905},{\"group\":0,\"hmax\":1,\"hmin\":0.95,\"vmax\":0.2857,\"vmin\":0.2381},{\"group\":0,\"hmax\":1,\"hmin\":0.95,\"vmax\":0.3333,\"vmin\":0.2857},{\"group\":0,\"hmax\":1,\"hmin\":0.95,\"vmax\":0.381,\"vmin\":0.3333},{\"group\":0,\"hmax\":1,\"hmin\":0.95,\"vmax\":0.4286,\"vmin\":0.381},{\"group\":0,\"hmax\":1,\"hmin\":0.95,\"vmax\":0.4762,\"vmin\":0.4286},{\"group\":0,\"hmax\":1,\"hmin\":0.95,\"vmax\":0.5238,\"vmin\":0.4762},{\"group\":0,\"hmax\":1,\"hmin\":0.95,\"vmax\":0.5714,\"vmin\":0.5238},{\"group\":0,\"hmax\":1,\"hmin\":0.95,\"vmax\":0.619,\"vmin\":0.5714},{\"group\":0,\"hmax\":1,\"hmin\":0.95,\"vmax\":0.6667,\"vmin\":0.619},{\"group\":0,\"hmax\":1,\"hmin\":0.95,\"vmax\":0.7143,\"vmin\":0.6667},{\"group\":0,\"hmax\":1,\"hmin\":0.95,\"vmax\":0.7619,\"vmin\":0.7143},{\"group\":0,\"hmax\":1,\"hmin\":0.95,\"vmax\":0.8095,\"vmin\":0.7619},{\"group\":0,\"hmax\":1,\"hmin\":0.95,\"vmax\":0.8571,\"vmin\":0.8095},{\"group\":0,\"hmax\":1,\"hmin\":0.95,\"vmax\":0.9048,\"vmin\":0.8571},{\"group\":0,\"hmax\":1,\"hmin\":0.95,\"vmax\":0.9524,\"vmin\":0.9048},{\"group\":0,\"hmax\":1,\"hmin\":0.95,\"vmax\":1,\"vmin\":0.9524},{\"group\":0,\"hmax\":1,\"hmin\":0.9787,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.9787,\"hmin\":0.9574,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.9574,\"hmin\":0.9362,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.9362,\"hmin\":0.9149,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.9149,\"hmin\":0.8936,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.8936,\"hmin\":0.8723,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.8723,\"hmin\":0.8511,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.8511,\"hmin\":0.8298,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.8298,\"hmin\":0.8085,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.8085,\"hmin\":0.7872,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.7872,\"hmin\":0.766,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.766,\"hmin\":0.7447,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.7447,\"hmin\":0.7234,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.7234,\"hmin\":0.7021,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.7021,\"hmin\":0.6809,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.6809,\"hmin\":0.6596,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.6596,\"hmin\":0.6383,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.6383,\"hmin\":0.617,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.617,\"hmin\":0.5957,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.5957,\"hmin\":0.5745,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.5745,\"hmin\":0.5532,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.5532,\"hmin\":0.5319,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.5319,\"hmin\":0.5106,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.5106,\"hmin\":0.4894,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.4894,\"hmin\":0.4681,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.4681,\"hmin\":0.4468,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.4468,\"hmin\":0.4255,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.4255,\"hmin\":0.4043,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.4043,\"hmin\":0.383,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.383,\"hmin\":0.3617,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.3617,\"hmin\":0.3404,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.3404,\"hmin\":0.3191,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.3191,\"hmin\":0.2979,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.2979,\"hmin\":0.2766,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.2766,\"hmin\":0.2553,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.2553,\"hmin\":0.234,\"vmax\":1,\"vmin\":0.92},{\"group\":0,\"hmax\":0.234,\"hmin\":0.2128,\"vmax\":1,\"vmin\":0.92}]",
            "hyperhdr_instance": 0,
            "type": "leds"
        },
        {
            "config": "{\"level\":\"debug\"}",
            "type": "logger"
        },
        {
            "config": "{\"custom_topic\":\"\",\"enable\":false,\"host\":\"\",\"ignore_ssl_errors\":true,\"is_ssl\":false,\"maxRetry\":0,\"password\":\"\",\"port\":1883,\"username\":\"\"}",
            "type": "mqtt"
        },
        {
            "config": "{\"apiAuth\":true,\"internetAccessAPI\":false,\"ipWhitelist\":[],\"localAdminAuth\":true,\"localApiAuth\":false,\"restirctedInternetAccessAPI\":false}",
            "type": "network"
        },
        {
            "config": "{\"enable\":false,\"port\":19445,\"timeout\":5}",
            "type": "protoServer"
        },
        {
            "config": "{\"enable\":false,\"port\":5568,\"priority\":109}",
            "hyperhdr_instance": 0,
            "type": "rawUdpServer"
        },
        {
            "config": "{\"continuousOutput\":false,\"enable\":false,\"lowLightAntiFlickeringTimeout\":250,\"lowLightAntiFlickeringTreshold\":32,\"lowLightAntiFlickeringValue\":2,\"time_ms\":150,\"type\":\"alternative\",\"updateFrequency\":50}",
            "hyperhdr_instance": 0,
            "type": "smoothing"
        },
        {
            "config": "{\"device\":\"default\",\"enable\":false}",
            "type": "soundEffect"
        },
        {
            "config": "{\"cecControl\":false,\"systemInstanceEnable\":true,\"systemInstancePriority\":245}",
            "hyperhdr_instance": 0,
            "type": "systemControl"
        },
        {
            "config": "{\"cropBottom\":0,\"cropLeft\":0,\"cropRight\":0,\"cropTop\":0,\"device\":\"auto\",\"fps\":20,\"hardware\":true,\"hdrToneMapping\":false,\"monitor_nits\":200,\"signalDetection\":false,\"videoMode\":512}",
            "type": "systemGrabber"
        },
        {
            "config": "{\"cecControl\":false,\"videoInstanceEnable\":false,\"videoInstancePriority\":240}",
            "hyperhdr_instance": 0,
            "type": "videoControl"
        },
        {
            "config": "{\"height\":0,\"quality\":0,\"signature\":\"\",\"width\":0}",
            "type": "videoDetection"
        },
        {
            "config": "{\"autoResume\":false,\"autoSignalDetection\":false,\"blueSignalThreshold\":5,\"cecHdrStart\":0,\"cecHdrStop\":0,\"cropBottom\":0,\"cropLeft\":0,\"cropRight\":0,\"cropTop\":0,\"device\":\"auto\",\"errorTolerance\":9,\"fps\":0,\"fpsSoftwareDecimation\":1,\"greenSignalThreshold\":5,\"hardware_brightness\":0,\"hardware_contrast\":0,\"hardware_hue\":0,\"hardware_saturation\":0,\"hdrToneMapping\":false,\"hdrToneMappingMode\":1,\"input\":-1,\"led_off_pause\":false,\"modelTolerance\":90,\"noSignalCounterThreshold\":200,\"qFrame\":false,\"redSignalThreshold\":5,\"sDHOffsetMax\":0.75,\"sDHOffsetMin\":0.25,\"sDVOffsetMax\":0.75,\"sDVOffsetMin\":0.25,\"saveResources\":false,\"signalDetection\":false,\"sleepTime\":5000,\"videoEncoding\":\"auto\",\"videoMode\":\"auto\",\"wakeTime\":1000}",
            "type": "videoGrabber"
        },
        {
            "config": "{\"crtPath\":\"\",\"document_root\":\"\",\"keyPassPhrase\":\"\",\"keyPath\":\"\",\"port\":8090,\"sslPort\":8092}",
            "type": "webConfig"
        }
    ],
    "version": "HyperHDR_export_format_v20"
}

Steps to reproduce

Start HyperHdr with the software screen capture enabled and the default resolution+aspect ratio on my display.

Open the LED visualization panel and press the Live video button.

What is expected?

A clear image of the desktop capture

What is actually happening?

The captured image is corrupt, which leads the LED effects to not match the screen, e.g. a change on the left side of the screen will strobe the lights on all sides.

System

HyperHDR Server: 
- Build:           (HEAD detached at v20.0.0.0) (awawa-dev-9e960c9/52f12b4-1711236142)
- Build time:      Mar 23 2024 23:27:56
- Git Remote:      https://github.com/awawa-dev/HyperHDR
- Version:         20.0.0.0
- UI Lang:         auto (BrowserLang: en-US)
- Avail Capt:      macOS (AVF)
- Database:        read/write

HyperHDR Server OS: 
- Distribution:   macOS 14.4
- Architecture:   arm64
- Kernel:         darwin (23.4.0 (WS: 64))
- Qt Version:     6.6.1
- Browser:        Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36
joshuata commented 2 months ago

Disregard this. I did not see another open issue, but I just saw the pull request that should fix the issue #838