[Updated 10/08/2018] [v2.6] Multiple Displays + Servers, 4K UHD (DirectX 11) Windows Screen Grabber

  • Will retry with latest version just in case, for Kodi I need to make the HSC addon a bit more configureable and will do that this weekend but current version works like this:

    - Download https://github.com/RickDB/scri…apture/archive/master.zip
    - For manual install unpack to Kodi addon dir:


    Or install via Kodi addon manager.

    - Make sure the addon is enabled within Kodi and that HSC has API enabled as well.
    - Service.py has the API url hardcoded at the moment to 'http://localhost:29445/API' which should work fine in all cases where they both run locally, but can update in that file if needed (config planned)
    - Make sure you have refresh rate switching enabled in Kodi settings ( => Adjust display refresh rate to match video)

    - Play some 24P content and see if HSC toggles off / on correctly, can sometimes take a few tries to make it "stick" to capture

  • Hey Sabaat, I'm taking my best shot at an android grabber right now and have a quick question for you!

    Assuming you are using the protobuf server to send image data to hyperion, what dimensions would you recommend for the image data? I see in your configs you have an 'image scaling factor', but I have no idea what that actually equates to. Right now I'm looking at 427x240, but I'm not sure if that is too large or not.. I'm getting some opengl errors when trying to render it smaller but I'm not sure if that is a fault of my own or not yet.

    Just trying to get an idea of what you guys are currently doing!


  • Image scaling factor just mean by how much to divide the screen resolution. So if the image scaling factor is 32 and screen resolution is 1920x1080, then the image sent to Hyperion has the size 60x33. Ideally you would want to send an image close to 60x60. That should be fine for running the ambient lights.

  • Hey Sabaat,

    I have connected via HDMI an ultrawide monitor ( 2560x1080 ) to my laptop. I have it as an extended monitor setup. The index of this monitor is 1. The laptop display is 0.

    The thing is that the monitor with index 1 resolution is viewed as 4480x1080 by hyperion screen capture. I think that's because of the extended monitor setup of windows because 2560 + 1920 = 4480.

    Can it be possible for the hyperion screen capture to grab the actual resolution of the monitor rather than the extended resolution of them both ?

    Thank you.

    Edit: A temporary fix for this would be setting the external monitor with index 1 as the main display. This though will mess with the width of the other monitor.

  • This seems like a bug in the code; can you please open an issue on GitHub for this. I will investigate this.

    I think DX9 capture should still work fine.

  • This issue is now fixed. Please download and install v2.6. Note that if "Check for Updates" option does not work, you will need to manually download the update from GitHub.

  • Hi Sabaat,

    I set up Hyperion on a Raspberry Pi 3 with WS2812B LEDs connected, and it works fine from HyperCon on my windows machine. I can send colors through the panel and the LEDs change accordingly.
    I then installed your ScreenGrabber and tried to set it up, but it does not work for me. using Windows 10, I think I configured something wrong.
    Which IP do I need to enter? I connect to my Pi over in HyperCon, the SSH Log says localhost:19444 though.
    As well, is it right that I deactivate the internal and the external grabber in the config.json?
    Thanks for your help in advance.


    EDIT: I am able to get a connection now (with, I get a message that the connection is established. As soon as I start a YT video though, I get this error message:

    2018-10-24 13:49:59 [ERROR] [5] HyperionScreenCap.Helper.HyperionTask.StartCapture:0 - HyperionTask[ConfigurationId: 1c49f1]: Exception in screen capture attempt: 1
    System.Exception: Error occured while sending image to server: In die Übertragungsverbindung können keine Daten geschrieben werden: Eine vorhandene Verbindung wurde vom Remotehost geschlossen. ---> System.IO.IOException: In die Übertragungsverbindung können keine Daten geschrieben werden: Eine vorhandene Verbindung wurde vom Remotehost geschlossen. ---> System.Net.Sockets.SocketException: Eine vorhandene Verbindung wurde vom Remotehost geschlossen
    bei System.Net.Sockets.Socket.Send(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
    bei System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
    --- Ende der internen Ausnahmestapelüberwachung ---
    bei System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size)
    bei HyperionScreenCap.ProtoClient.SendRequest(IMessageLite request)
    bei HyperionScreenCap.ProtoClient.SendImageToServer(Byte[] pixeldata, Int32 width, Int32 height)
    bei HyperionScreenCap.Helper.HyperionTask.TransmitNextFrame()
    --- Ende der internen Ausnahmestapelüberwachung ---
    bei HyperionScreenCap.Helper.HyperionTask.TransmitNextFrame()
    bei HyperionScreenCap.Helper.HyperionTask.StartCapture()

    It basically says that there is an error while screen capturing and that no data can be written into the established connection.. any idea what went wrong here?



  • Replied on GitHub

  • Hey so I'm having an issue with the app. I set up LEDs on all 4 sides of my TV, but when I run I try to use the bottom row of leds with the app, the screen capture is way off. It appears to be issue where it only caps one corner, and stretches that across the leds. I'm running at full 4K. I tried the solution detailed here, but it didn't work:


    To fix the issue where only one corner is being captured in your games at full HD, try the following fix:

    • Go to Program Files and locate HyperionScreenCap.exe
    • Right click -> Properties -> Compatibility
    • Set Override high DPI scaling behavior to "Application"

    I found that if I take the bottom row of LEDs out of the config, the capture is extremely accurate. Any suggestions on settings or anything I should change to get it working fully in 4K?


  • Hi there!

    Thanks for your modified version!
    Is there still support?

    I ran into a problem and made a ticket on Github but didn´t get any answer.
    Though I did a workaround for that issue, I´m having a new one (Hyperion crashes/restarts several times when I start capturing).

    Just want to know if I should put that question on Github, too.

  • Hi,

    thank you for this great piece of software. I just got an issue with the updated version of Windows 10 (1809). Seems like something broke the screen resolution change. For example my desktop is set to 1080p, everything is fine. When I start a movie for example with MPC BE @3840 the screen resolution switches, but hyperion capture still stick to 1080p - I can see it as the color/ambilight are there but displaced. Then I need to fiddle around with screencapture (e.g. check on the DX11 box or stop and start the service again and it works). On the way back when ending playback and returning to 1080p if have to do it again. Seems like something is not triggering the resolution change anymore. I am quite keen that this issues has not exisited before.

    Maybe there is just a litte tweak required to accomplish it.



  • I want to get an ambilight system working for my PC, im running dual 24" 1080p monitors. Would this grabber work? And is there a guide anywhere to set it up? Also would i need 2 seperate pis for each monitor or would 1 be enough? And what about the led layout?


  • Hey, just wanted to say that this works great on my ultrawide monitor, color reproduction is great and low delay. I have one question, is there a reason why when Start Capture is enabled, Gsync does not work anymore? The second that I once again Disable Capture, gsync function as usual. Any insight would be great.

  • Hey, just wanted to say that this works great on my ultrawide monitor, color reproduction is great and low delay. I have one question, is there a reason why when Start Capture is enabled, Gsync does not work anymore? The second that I once again Disable Capture, gsync function as usual. Any insight would be great.

    not sure why that happens. unfortunately I don't have a Gsync monitor

  • Hello,

    I have a nodeMCU Lolin v3 and a RPi 2. I managed to get the nodemcu working with my PC as a unique source with SynLight.

    Why should I use Hyperion Screen Capture in this case ? Is it useful for me ?

    If I understand, Hyperion Screen Capture is like Adrilight/Ambibox or similar software which can work only with an arduino or a nodemcu. But here With Hyperion Screen Capture I have to use a Raspberry + arduino, the pc will send the source to the RPi with Hyperion then the RPi will send the data to turn on the led ?

    Or maybe I am totally wrong and maybe you can explain me how it work please ?

    Thank you

  • Hi,

    Seeing that there are no response on the Github, Trying here.
    I'm noticing that Netflix will not trigger anything in the capture. I'm guesstimating that there are some sort of content protection in place, but need confirmation of whether something can be done about it.

    Anyone tried netflix with this capture soft ?
    App is what I use and LEDs are just black.


  • Hi Shujaa,

    not sure in which way you watch Netflix. Depending on how you watch, Netflix has different methods of stopping you from taking screenshots or copying the content of the screen. The Windows 10 Netflix app for example wont work with Sabaats Software. Same with Microsoft Edge. However if I watch Netflix with Chrome it works for me. If you still want to benefit from the Windows 10 Netflix app (Surround Sound) you might be able to accomplish something if you run the Netflix app in a VM, put it in full screen and set the focus to another Window.

  • Hello, how solve this issues please ?
    I use PI zero on Raspbian with arduino nano...
    I can control the leds but can't grab windows...

    raspberrypi hyperiond[3705]: [libprotobuf ERROR /home/sascha/hyperion/dependencies/external/protobuf/src/google/protobuf/message_lite.cc:123] Can't parse message of type "proto.HyperionRequest" because it is missing required fields: command

  • I got my Raspberry Pi B+ model and APA102 lights working with a USB screen grabber, but have no idea how to set up HyperCon for the Windows screen grabber. Nor can I figure out how to set up the screen grabber itself.

    Are there any instructions? I can't figure out what any of the settings refer to, I don't know what ports I'm meant to be using, I've tried all the logical guesses but it's not working. Could really use a noob guide to help set it up.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!