Hyperion.NG, Amlogic improvements

@Portisch Is this gonna cause any conflicts with the Hyperion.ng Control addon? That works great for me right now. I have LED’s off when no video/live tv is playing and also when I pause the video (this is exactly how I want it).

No, just set it to true and hyperion works like normal.

Great! Thanks!

sometimes on seeking within a live TV record (skipping commercials) LEDs freeze on last state.
I will try your test version for the next few days and will report if its better with this version.

It still happens. It is only happening on SD channels (mpeg2)
It feels like it’s on every second skip. But sometimes it’s on the third or fourth. If it’s frozen Pause / play does not fix it. After a forward or rewind skip it works again.
If you need a sample just ping me

1 Like

Because of this post I don’t think I will apply the led-off patch:

This would need much more coding for the implementation. So best would be to request a port of this option to Hyperion.ng by the developer.

Does it also happen with a record? Or only live TV? Deactivate the addon in the settings and start it on a SSH terminal with parameter “-d” for debug. Maybe we will see some information.

Yes also on recordings. Just skip forward or backward 1-4 times and you should see LEDs stop to work. Here is a sample file: https://ufile.io/e4qrlh47
I was not able to start hyperion from command line. Could you help me with that?
I did:
hyperiond -d *path to config file which cant rembember*
but it fails

hyperiond --rootPath /storage/.kodi/userdata/addon_data/service.hyperion.ng hyperion.config.json -d
1 Like
CoreN2:~ # hyperiond --rootPath /storage/.kodi/userdata/addon_data/service.hyperion.ng hyperion.config.json -d
[hyperiond DAEMON] <DEBUG> <PythonInit.cpp:20:PythonInit()> Initializing Python interpreter
[hyperiond SettingsManager] <INFO> Selected configuration file: /storage/.kodi/userdata/addon_data/service.hyperion.ng/config/hyperion.config.json
[hyperiond SettingsManager] <DEBUG> <SettingsManager.cpp:129:SettingsManager()> Settings database initialized
[hyperiond EFFECTFILES] <INFO> 36 effects loaded from directory :/effects/
[hyperiond EFFECTFILES] <INFO> 19 effect schemas loaded from directory :/effects/schema/
[hyperiond EFFECTFILES] <INFO> 0 effects loaded from directory /storage/.kodi/userdata/addon_data/service.hyperion.ng/custom-effects
[hyperiond SettingsManager] <INFO> Selected configuration file: /storage/.kodi/userdata/addon_data/service.hyperion.ng/config/hyperion.config.json
[hyperiond SettingsManager] <DEBUG> <SettingsManager.cpp:73:SettingsManager()> Settings database initialized
[hyperiond BLACKBORDER] <DEBUG> <BlackBorderProcessor.cpp:65:handleSettingsUpdate()> Set mode to: default
[hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateChanged()> Blackborder detector: enabled
[hyperiond FLATBUFCONNECTION] <INFO> Connecting to Hyperion:
[hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateChanged()> LED device: enabled
[hyperiond LEDDEVICE] <DEBUG> <LedDeviceAdalight.cpp:53:init()> Adalight header for 188 leds: Ada 0x00 0xbb 0xee
[hyperiond LEDDEVICE] <INFO> LedDevice 'adalight' configured.
[hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateChanged()> Smoothing: enabled
[hyperiond LEDDEVICE] <INFO> Opening UART: /dev/ttyACM0
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:153:registerInput()> Register new input 'System/GRABBER' with priority 250 as inactive
[hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateChanged()> Framegrabber: enabled
[hyperiond BOBLIGHT] <DEBUG> <BoblightServer.cpp:24:BoblightServer()> Instance created
[hyperiond DAEMON] <INFO> Hyperion initialized
[hyperiond DAEMON] <INFO> set screen capture device to 'amlogic'
[hyperiond AMLOGICGRABBER] <DEBUG> <Grabber.cpp:33:setVideoMode()> Set videomode to 0
[hyperiond FRAMEBUFFERGRABBER] <DEBUG> <Grabber.cpp:33:setVideoMode()> Set videomode to 0
[hyperiond FRAMEBUFFERGRABBER] <INFO> Display opened with resolution: 1920x1080@32bit
[hyperiond AMLOGICGRABBER] <DEBUG> <AmlogicGrabber.cpp:32:AmlogicGrabber()> constructed(160 x 160), grabber device: /dev/amvideocap0
[hyperiond AMLOGICGRABBER] <INFO> Cropping image: width=160 height=160; crop: left=0 right=0 top=2 bottom=0
[hyperiond DAEMON] <INFO> AMLOGIC grabber created
[hyperiond LEDDEVICE] <DEBUG> <ProviderRs232.cpp:182:tryOpen()> Setting baud rate to 500000
[hyperiond LEDDEVICE] <DEBUG> <ProviderRs232.cpp:198:tryOpen()> Device blocked for 1500 ms
[hyperiond JSONSERVER] <DEBUG> <JsonServer.cpp:23:JsonServer()> Created instance
[hyperiond JSONSERVER] <INFO> Started on port 19444
[hyperiond AMLOGICGRABBER] <INFO> VPU mode
[hyperiond AMLOGICGRABBER] <ERROR> Read of device failed: 61 - No data available
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:231:setInputImage()> Priority 250 is now active
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:330:setCurrentTime()> Set visible priority to 250
[hyperiond WEBSERVER] <DEBUG> <WebServer.cpp:96:handleSettingsUpdate()> Set document root to: :/webconfig
[hyperiond WEBSERVER] <INFO> Started on port 8090 name 'Hyperion Webserver'
[hyperiond LEDDEVICE] <DEBUG> <LedDeviceAdalight.cpp:80:receivedData()> >>received 4 bytes data
[hyperiond LEDDEVICE] <DEBUG> <ProviderRs232.cpp:216:writeBytes()> 34 frames dropped

Here is the hyperion output. But all this output is generated on starting hyperion while mpeg2 record is running. when skipping and LED´s freeze there is no output generated.

DMAX SD? Geht hier bei meiner H96Pro+ mit 3.14 ohne Probleme. Schau normal die HD Version. Werde es noch mit dem N2 demnächst probieren.

Did you found a solution for that? I’ve the same problem with recorded files but on the N2 and with HD material…

@Portisch, I’ve been trying to use the Hyperion.NG addon and am running into some problems.

  • The live video functionality doesn’t work. Nothing is shown. Leds do light up however (on live preview), but it’s hard to see if I’m cropping too much/little
  • Color calibration isn’t working, doesn’t connect to kodi, however I can calibrate manually so no big problem
  • RED / BLUE is swapped on the grabber (found when doing manual color calibration and looking at the LEDS on the live preview. It looks like someone already fixed this before, but is broken again with the newest release of coreelec. This is a link to the fix back then: https://hyperion-project.org/threads/coreelec-hyperion-ng.3286/#post-13727

Is there a guide somewhere I can follow to try and compile my own Kodi addon so I can try and contribute? I would like to help out, but didn’t manage to find a guide for CoreElec specifically. I did find some LibreElec guides (which I guess are similar) and have a feeling I have to edit https://github.com/CoreELEC/CoreELEC/blob/coreelec-9.2/packages/addons/service/hyperion.ng/package.mk with a later github commit, but from there on I’m a bit lost :stuck_out_tongue:

Thanks for your contributions, it’s a very cool project!

Forgot to mention, I’m running CoreElec 9.2.1 on an amlogic S912 box using the internal amlogic grabber and forwarding to my ESPixelStick (ESP8266)

Currently I doing a update of Hyperion.NG. There is a pull request pending what I wait for getting merged. If this is done it will be a big jump from now as a lot of changes will be included. Like the json config file isn’t used anymore, it’s now a hyperion.db database file.

To compile it by yourself: clone CoreELEC repo and run:
PROJECT=Amlogic-ng ARCH=arm ./scripts/create_addon hyperion.ng

To start it in debug mode:
disable the installed addon in Kodi and enter this in SSH connection:
hyperiond --rootPath /storage/.kodi/userdata/addon_data/service.hyperion.ng hyperion.config.json -d

For the future when the config file got changed to database it will be:
hyperiond --userdata /storage/.kodi/userdata/addon_data/service.hyperion.ng -d

1 Like

Thanks so much!

I couldn’t find your pull request on the CoreElec repo, so I cloned your fork and it’s currently compiling.
As soon as I get around to testing I will let you know. If everything goes well, mind if I post a compiled version on the topic I linked to help out the people struggling with the same issues?

Running into an issue on the compile, seems like it can’t fetch the amlogic source

Cannot get linux sources : https://github.com/CoreELEC/linux-amlogic/archive/cf89c0adf65988364a85831394ba88f372b79578.tar.gz
Try later!
FAILURE: scripts/build linux:host has failed!
[19/87] [FAIL] build   linux:host

I think you have to pull on your local CoreELEC clone. I can’t find any cf89c0adf65988364a85831394ba88f372b79578 in linux history.

Also maybe it’s needed to compile other depencies by:
PROJECT=Amlogic-ng ARCH=arm make
This build CE image, then try again building the addon.

Think I found my mistake… (After fetching the right branch from your repo :smiley:)

Initially tried to compile on a rock64, when that failed I tried the RPI3 (which gave me a nice msg about not being able to build on raspbian). Currently it’s compiling on a x64 chip, now on linux:host step, since it’s not crashing instantly I think it’s working.

Managed to compile your repository and test it on my box but the problems I needed to fix remained

  • Live video feed doesn’t work (not a problem as long as the LED view works)
  • Reds and blues were still swapped on the grabber

But with your help I forked your repository and made the change as mentioned in topic I linked, changed the code and pointed the coreelec package.mk for the addon to my new repository, compiled it and now it the grabber has the correct colors :smiley:

I noticed that they changed the code a bit since last time someone looked at it and it might be that something isn’t enabled on my system.

This is the line of code I had to change from BGR32…

But if ENABLE_AMLOGIC would’ve been true it would’ve done that automagically, so seems like a bug or something in my config?

Anyway, here’s a link to the compiled addon in case anyone needs it: https://github.com/MunkeyBalls/hyperion.ng/releases/download/0.1/service.hyperion.ng-9.2.102_RGBfix.zip

I updated the Hyperion.NG Addon at CoreELEC. I am not sure if it get updated in the Repo as Nightlies are switched off right now. So here the link to the new version if someone want to load it:

Be aware that the Hyperion.NG configuration file changed from hyperion.config.json to hyperion.db. I found no way to convert the json config into the database config, so you have to setup a new config by the Hyperion.NG web interface.

@MunkeyBalls I am not sure about the change. It looks like a “old” bug from hyperion (before hyperion.ng). But I guess a lot of users are switching the colors on the LED hardware like me. So I am afraid breaking a running system.