Hyperion on x86/x64
#1
Since around build 7. september 2017 there was problem with Hyperion ambilight. In latest commits there was fix for https://github.com/hyperion-project/hyperion/issues/770
I was struggling to get Hyperion to work. The problem is that when using Hyperion with arduino and adalight the yperion works but there is still a problem.
After many testing hours I have narrowed it doen to the  Hyperion kodi addon located at https://github.com/hyperion-project/hyperion.kodi
Grabbing works but it blinks every few seconds. I am 100% sure that there is a problem in this addon.

To use this addon you may not use hyperion-x11 since this one grabs also menus and does not detect black borders. I have commented out in hyperion.start hyperion-x11. 

Can someone who knows the coding take a look into that addon if there is something that could caouse thhose blinks.
One another thing I have noted is that blinking is even more frequent if you use any kind of interlacing in Livetv and even more if you are in livetv and not full screen.

As a note kodi grabbing has to be disabled in .json hyperion configuration file.
In my git https://github.com/iLLiac4/script.service.hyperion there is previous versin which also works with 18 but shows the same behaviour as official one. I have a feeling that older one does not blinks so much but I am loosing a feeling since I was spending so much time troubleshooting it.


I hope someone can jump into the problem and try to troubleshoot further since kodir is getting near 18 final and it would be nice to have it working.

Thx in advanced for any tips in addon code fix
.
Reply
#2
I have exactly the same problem. Using latest Hyperion (not hyperion.ng) on a Raspberry Pi 1 and LibreElec latest build from milhouse on a nuc gemini lake. With kodi 17 there was no problem with blinking leds. In my opinion, disabling black border detection of hyperion, makes it a little bit better (Less led blinking)

The addon uses the RenderCapture method and send this data to hyperion. Maybe something changed in the RenderCapture method. Code: https://github.com/hyperion-project/hype...b/state.py
python:

# create the capture object
self.__capture = xbmc.RenderCapture()
self.__capture.capture(self.__settings.capture_width, self.__settings.capture_height)

....

self.__data = self.__capture.getImage()

....

self.__hyperion.sendImage(self.__capture.getWidth(), self.__capture.getHeight(), str(self.__data), self.__settings.priority, -1)
Reply
#3
Yes I am sure that there is something in the state.py that must be changed. In le 17 it works great with this addon.

In config you have to have disable framebuffer and also kodi checker. This way in version 17 works great and captures video only. In libreelec after nighty build 0908 millhouse started to blinked.
Reply
#4
This one was still working:
https://forum.kodi.tv/showthread.php?tid...2&page=114

After this 0907 till max 0910 it has stopped and started to blink. If it helps....

Is it possible that this has something to do?
https://github.com/xbmc/xbmc/pull/12776
Reply
#5
Does #909 work for you? This commit was build with #910. So #909 should work and #910 shouldn't work. Will test this as soon as im at home.
Reply
#6
I do not know but the problem is that there are no more of those builds available to download.
I had 0907 and it has worked the one that stopped was 0908, 0909 or 0910.
Reply
#7
Damn. Btw just looked at the hyperion git (https://github.com/hyperion-project/hype...its/master). The Kodi v18 fix is commited only 26 days ago. My hyperion installation is much older and was updated through the offical update script which pulls the version from https://sourceforge.net/projects/hyperio...s/release/. So my installation does not use the fix.

As soon as im at home i will try to update my hyperion installation to the current master.

Edit: Ah i see. this fix is only for the videochecker part, which i dont use. So this fix will not help.
Reply
#8
Yes this fix does not help. https://github.com/hyperion-project/hyperion/pull/795

Maybee you could try compile the hyperion.ng https://github.com/hyperion-project/hyperion.ng
or. this one https://github.com/brindosch/hyperion.ngBeta
For the latest there is also new addon https://github.com/hyperion-project/hype...issues/474
But I have no option for manual compile atm since I am on libreelec.
Reply
#9
FYI: I've been using the hyperion addon, installed from the LibreELEC repository, on RPi3B+ for quite a while and didn't have any issues with that. This addon includes the kodi 18 fix since early June.

I'm not using the Hyperion Kodi addon (https://github.com/hyperion-project/hyperion.kodi) though, I didn't even know it existed until now.

Using the "official" builds of the hyperion addon (from their sourceforge site) was never recommended (or supported) on LibreELEC, the way they are built have a high risk to be incompatible with the libraries on LibreELEC.

So if you're running LibreELEC I'd suggest removing the Hyperion Kodi addon and installing just the Hyperion addon from the LibreELEC repository.

so long,

Hias
Reply
#10
Thanks for your suggestion.

I'm running hyperion on a seperate raspberry pi 1 with raspbian installed. This raspberry pi is only used to connect my leds to it. I've used the offical installer script from the hyperion wiki (https://hyperion-project.org/wiki/Instal...mmand-line). Libreelec runs on a gemini lake nuc and is only using the hyperion.kodi addon to send the current image to the raspberry pi over lan. Hyperion itself is not installed with libreelec together. So i need the hyperion.kodi addon to send the image to my hyperion pi :/

But maybe that would be a solution for illiac4, because he is using a arduino.
Reply
#11
@HiassofT Your setup is different. Lets not talk about RPi here because if you are using RPi with installed libreelec, hyperion and lights on the same setup you use dispmax which takes care of grabbing video. In your case everything is working and with latest fix also bug introduced is fixed. And yes on rpi you do not need addon to grab video, menu, pictures,.... But as I have already said this is not the same so lets forget about rpi as all in one setup.

When you are using for example libreelec on x86/x64 setup and are running hyperion on the same setup or. you are just grabbing video information and are sending it to localy hyperiond or. remote hyperiond deamon the grabbing of video has to be done with addon (https://github.com/hyperion-project/hyperion.kodi) this addon grabs te video info and sends it to hyperion deamon that can be local or . remote like  hasenbolle has. So I am sure that the problem lies in hyperion.kodi addon.
So in short when using hyperion on x86 setup you have to use addon because dispmax is rpi specific.
And as a note I know about hyperion libreelec addon and I am using it and laso the latest one but the problem is not hyperion.

I know that there is another sollution to use hyperion-x11 which is started by default with libreelec hyperion addon and in my opinion it should be disabled because it does not work good since it grabs the whole screen and ignores blackborder detection, has problem with subtitles,.... To disable this component you have to comment out in /storage/.kodi/addons/service.hyperion/bin/hyperion.start

# if [ -f "/usr/bin/Xorg" ]; then
#  exec hyperion-x11 &
# fi

If you do not do that and have hyperion-x11 and hyperion.kodi addon the lights start to blink like strobo.

Also as a note when using hyperin.kodi addon you have to have disabled those lines in config file:

    ///  The configuration for the frame-grabber, contains the following items:
    ///   * width        : The width of the grabbed frames [pixels]
    ///   * height       : The height of the grabbed frames [pixels]
    ///   * frequency_Hz : The frequency of the frame grab [Hz]
    //"framegrabber" :
    //{
    //   "width" : 64,
    //    "height" : 64,
    //    "frequency_Hz" : 10.0
    //},

    // KODI CHECK CONFIG 
    //"xbmcVideoChecker" : 
    //{
    //    "xbmcAddress" : "127.0.0.1",
    //    "xbmcTcpPort" : 9090,
    //    "grabVideo" : true,
    //    "grabPictures" : true,
    //    "grabAudio" : true,
    //    "grabMenu" : false,
    //    "grabPause" : false,
    //    "grabScreensaver" : false,
    //    "enable3DDetection" : true
    //},

So lets not talk here about raspberry pi as AIO setup. This is x86 and addon specific which has worked great before 0909.
Reply
#12
My point mainly was to check via the recommended way, i.e. using hyperion daemon to do grabbing (via x11, dispmanx on rpi or v4l) - like most others do. The kodi addon looks rather unmaintained to me and I also think this is part of the problem.

so long,

Hias
Reply
#13
@illiac4 how is your setup? I thought about to use an arduino instead of an rpi and use hyperion deamon directly on the nuc.
Reply
#14
I have libreelec on htpc d2550 wih nvidia 610, asrock 5005, celeron 1037, with hyperion addon, arduino nano; here you can find some samples i have put together https://github.com/iLLiac4/Adalight_Hyperion and also there https://github.com/hyperion-project/hype...re/arduino with ws2801 leds. So it is AIO setup. I have three and all have the same problem with blinks in le 9
Version 8.2.5 of librelelc works great with official hyperion addon and grabber addon.
Reply
#15
Because you need to use the x11 grabbing on x86 platfrom (which is not that good as you say), you prefer to use the hyperion.kodi script, right?

Yesterday i've debugged a hyperion.kodi script fork (https://github.com/m-wichmann/hyperion.kodi) a while. This fork is plain and simple, but has the same problem as to original hyperion.kodi script. 

For me it looks like getImage returns everytime a filled bytearray and sends that to hyperion (In my example the returned bytearray had always 12288 bytes, which should be normal). What i don't know right now is, if the returned bytearray is a valid image or if the hyperion deamon has problems with the returned image.
Reply

Logout Mark Read Team Forum Stats Members Help
Hyperion on x86/x640