Switch between grabber configs on the fly (input, crop settings,...)

  • Hello!


    First, thank you very much for this great software project. I am using Hyperion fr a few years already and it is really great!


    A few days I go I updated to Hyperion-NG.
    Now I have some questions, as it seems that there is some functionality missing, which I was using with the old Hyperion.


    My setup consists of a USB grabber which has two different kind of inputs: 1) Composte and 2) S-Video.
    The Composite input is needed for my media boxes and the S-Video input is needed for my TV (using a SCART adapter).
    With the new Hyperion-NG Alpha 7 you have implemented the "Input" setting for USB Grabbers again which is great.


    But now there is one usability problem.
    With the old Hyperion I could switch between different config files (json).
    For example like that:
    --> I have a shortcut for that script on my TV remote


    Code
    sudo killall hyperiond
    sleep 1
    /usr/share/hyperion/bin/hyperiond /etc/hyperion/hyperion.Scart.config.json


    Then when I switch back to one of my media boxes I use:

    Code
    sudo killall hyperiond
    sleep 1
    /usr/share/hyperion/bin/hyperiond /etc/hyperion/hyperion.config.json


    There are different kind of settings for the USB grabber inside this file:
    - input
    - crop settings
    - color calibcication (this is not priority though)


    Can I implement the same behaviour with Hyperion-ng?


    Thank you very much in advance!

  • The problem ist that the settings on the grabber settings page are global settings, independent from instances. So i cannot change it. I would need different grabber settings for different instances. Or an option to change it "on the fly" with the remote.

  • Thanks :)
    I am not really an expert with the command line functions of Hyperion-ng.
    Could you give me an example on how to change the following settings:

    • Input
    • Crop settings
    • Color calibration


    Code
    sudo service hyperion stop
    hyperion-v4l2 ....??
    • Offizieller Beitrag

    Ich habe dich in der Tat vergessen. Sorry.


    Also hier mal ein paar Erklärungen:
    Mit 'hyperion-v4l2' überträgst du das Bild eines externen v4l2 Gerätes zu Hyperion.
    Das Hyperion laufen muss sollte eigentlich klar sein.
    In Hyperion sollte der extrerne v4l2 grabber ausgeschaltet sein. Sonst kann es zu Komplikationen beim Zugriff kommen.


    Die Argumente von 'hyperion-v4l2' kannst du dir jederzeit anzeigen lassen:

    Code
    ./hyperion-v4l2 --help


    Da ich dir jetzt nicht alle Möglichkeiten aufschreiben möchte (wegen Zeitmangel) kannst du dir auch auf GitHub die Argumente anzeigen.
    Hier mal ein Beispiel:


    Code
    ./hyperion-v4l2 --input /dev/video0 --crop-left 20 --crop-right 50


    Ich hoffe du kommst klar. Wenn nicht. Du weißt wo du mich findest. ;)

  • Ich habe endlich Zeit gefunden, mich damit zu beschäftigen und meine Skripte umzuschreiben.
    Vielen Dank nochmals für die Hilfe!


    Im Prinzip funktioniert alles soweit, bis auf die Umstellung des "Inputs" mit hyperion-v4l2:

    Code
    hyperion-v4l2 --device /dev/video0 --input 0


    liefert den selben Output wie:

    Code
    hyperion-v4l2 --device /dev/video0 --input 1


    Im Webinterface funktioniert es dagegen problemlos...
    Je nach Einstellung bekomme ich verschiedene Bilder meines Grabbers angezeigt.
    Kannst du mir hier weiterhelfen?
    Ist die Funktion in hyperion-v4l2 noch nicht implementiert?

  • Sorry fürs aufwärmen alter Kamellen. Ich bin über das Thema gestolpert und wollte kurz meine Lösung da lassen - evtl ist es ja noch offen, oder es geht irgendwem so wie mir.


    Es funktioniert über Umwege immernoch:


    - USB-Aufnahme im Web-Frontend deaktivieren (soll manuell gestartet werden)

    - Flatbuffer muss aktiviert sein

    -> Im pi per crontab -e eintragen:

    Code
    @reboot hyperion-v4l2 -d /dev/video0 -i 0 -v PAL --pixel-format YUYV -w 720 -h 576 -s 4

    bzw. andere parameter.


    So läuft der grabber in eigenem prozess - den kann ich folglich später abschießen und im anderen channel neu-starten:

    Code
    sudo pkill hyperion-v4l2
    hyperion-v4l2 -d /dev/video0 -i 1 -v PAL --pixel-format YUYV -w 720 -h 576 -s 4 &
    disown

    bei mir läuft das ganze über direkt in einer ssh-session, daher benötige ich noch das & + disown (Soll auch nach "redeploy" in node-red weiter laufen). Je nach Anwendungskontext ist das aber optional.


    Am Rande: geht das json "getconfig" / "setconfig" kommando schon seit hyperion.ng nicht mehr oder liegt das an mir? Habe mein System neulich neu eingerichtet und bin der Ansicht, dass meine "alten" scripte davor noch liefen, obwohl ich schon seit einer ganzen Zeit auf ng geupgradet hatte.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!