I saw hyperion restart not working on rpi. This is due to not released resources of videocore device, albeit code for freeing is executed. I will look into it.
Posts by redPanther
-
-
-
hmm not tried with real dispmanx yet. I tested with grabbers: x11, aml, fb and the 'simulated' dispmanx. On raspi hw acceleration is used for croping the image. Perhaps there is a issue, because all other code around work well with 3D. A while ago I made some mock functions so I can compile and use the raspi dispmanx functions on linux. Of course the send only a test image, but this behaves as it should.
I tested 3d(sbs) on x11 and it looks like this:
-
I use ubuntu for c2, because I have to compile an do lot's of developer stuff. Libreelec is not made for that. I also have no spare sd card to test with libreelec. I downloaded the latest c2 kernel from hardkernel's github repo and changed some stuff:
amvideo capture: module
cma memory: 16
zone order: 13
+ this patch: [MEDIA=gist]bkrepo/07402953f5125daf5938d8e372fa2287[/MEDIA]
(+ patches regarding ge2d: https://forum.odroid.com/viewtopic.php?f=136&t=20901#p199945 (it's optional)I had no leds attached. At first I only watched the live view in webui, then forwarded to my desktop hyperion installation with attached arduino mega with some ws2812 + 4 pwm/analog stripes.
The config on my c2 was the default config. (+forwarder set).
I noticed, that usage of amvideocap/ge2d capture interface is extremly expensive. The cpu usage in fb mode is around 5-7% and it rises up to 18-20% when accelerated stuff should be captured (ge2d direct usage performs a bit better).
-
Please try with latest version. Make sure you made all the kernel stuff to activate amvideocap device. I use latest kernel from official hardkernel repo.
On my c2 it runs now smoothly.
-
people who use hyperion.ng please update!
https://github.com/hyperion-pr…195a7e206fe577dbaa4024841
@seblagaffe for ge2d you need to recompile your (linux) kernel and add patches from crashoverride, see link posted on github
Edit: kodi 3d switch is automatic, because we ask kodi whats going on. Other media players aren't supported.
But you can switch 3d mode via hyperion-remote -V <mode>
Very soon it is switchable via webui (pr pending)
BTW the new ge2d interface is linux only, so it will not work on android. -
You can extend the audio effects with a hyperion json client written in python. Then you get sound2light
-
Ambilight is no effect. The hyperion config file is for hyperiond.
-
Then i have absolutly no clue what you want. From your initial posting I thought you want to customize an existing effect, but with your given answers this asdumtion make no sense ....
-
-
Therefore I have to see your effect json file, to determine whats wrang
-
There is a misunderstanding. I mean the effect json file you created, not your hyperion config.
You have to place your custom made json effect file into "/storage/hyperion/effects" or "/usr/share/hyperion/effects". If you want to put it elsewhere, then you have to add your path to "effects" in hyperion config
-
can you post your json file?
-
put hyperion stuff in a script:
#!/bin/sh
hyperiond my.cfg &
sleep 3
hyperion-v4l2 your_args &Call it from rc.local
If you need sudo (perhaps not neccessary) exec the script with sudo, not the hyperion bins.BTW exec hyperiond and a standalone grabber on same system makes no sense in most cases. Use v4l grabber from inside hyperion.
-
und cec via python:
https://github.com/trainman419/python-cecdamit brauchst keine kommandozeilen tools und irgendwelches command output parsing mehr ....
-
übrigends man kann auch mit hyperion kommunizieren ohne hyperion-remote
also ganz einfach über stink normale sockets und strings im json format.hier ein beispiel um die serverinfo zu holen:
Python
Display More#!/usr/bin/python2 import socket, sys HOST = 'localhost' PORT = 19444 conn = None for res in socket.getaddrinfo(HOST, PORT, socket.AF_UNSPEC, socket.SOCK_STREAM): af, socktype, proto, canonname, sa = res try: conn = socket.socket(af, socktype, proto) except socket.error as msg: conn = None continue try: conn.connect(sa) except socket.error as msg: conn.close() conn = None continue break if conn is None: print 'could not open socket' sys.exit(1) conn.sendall('{"command": "serverinfo"}\n') data = "" while 1: data += conn.recv(1024) if data.find("\n") >= 0 : break print (data) conn.close()
statt localhost geht natürlich auch die IP des pi. Damit muss das script welches hyperion bedient, nicht auf dem selben rechner sein wie der hyperiond ....
den kommando string bekommst du mit:
hyperion-remote --print <hier deine kommando argumente>
also z.b. für serverinfo:
hyperion-remote --print -l -
Wobei die analoge no signal detection nur zum tragen kommt, wenn v4l vor dem screen grabber is.
Probier doch mal anders herum. V4l auf 800 und framegrabber auf 1000. Dann die rgb signal thresholds setzen. Z.b. bei blauem no signal bild die werte 0.1 0.1 0.9
Dann wird immer auf extern umgeschaltet wenn ein signal anliegt. Also z.b. der bd player angeschaltet wird.
Kleine vorwarnung, das ist jetzt wirklich analoge no signal detection das funzt leider nich bei jedem. Abhängig von hardware emv störungen und genauigkeit der werte in der konfig -
this feature doesn't work with current hyperion. It is implemented in currently not released next big version currently called "hyperion.ng". You have to wait until we make a release ...
-
Add --print to see whats sending and receiving. Its simple json strings over tcp sockets.
For more help use - as usual - --help -
Just copy hyperion binaries to your triggering pi. Call there hyperion-remote -a ip_from_hyperion_pi:19444 -e Goal -d 40000