HDMI Input Plugin for DreamOS

  • Hi !


    Nachdem es mich jetzt doch erwischt hat und mir die HDMI Ausgänge am TV ausgegangen sind (sic!) habe ich mir erlaubt ein HDMI Input Plugin fürs DreamOS zu machen.


    Im Prinzip funktioniert das so wie auf den alten Boxen wo man Videorecorder/Scart auswählen konnte und dann das was am 2. SCART angeschlossen war einfach durchgeschliffen wurde.


    FAQs:


    Ja das Plugin sorgt auch dafür das der Ton durchgeschliffen wird.


    Ja es schaltet auch auf 720p um, egal, was man normal eingestellt hat.


    Ja es funktioniert in jedem aktuellen DreamOS Image.


    Nein, sonst mache es NICHTS.


    Mit Exit kommt man wieder raus.


    Mit Power kann man eine Art Idle Modus machen.


    Und man kann jetzt auch aufdrehen das man den HDMI Input als Kanal in der Kanalliste hat - falls man was von dort Aufnehmen will


    Auf Menu gibt es ein paar wenige Einstellungen.


    Ich habe es mit meinem Raspi getestet - der weis nämlich gar nicht was HDCP ist :P


    PS: Bedankt Euch auch bei emanuel, der sowas als erster gebaut hat, aber mit gefällt das im Hauptmenu halt einfach besser statt auf irgendwelchen QuickButtons.


    LG
    gutemine

  • Cool! Und in so kurzer Zeit direkt ne v0.2? :D
    Ich werde morgen mal nen HDMI-Kabel ziehen und das genauer testen.


    Was mir schonmal aufgefallen ist, ist die postrm. Die muss eine Abfrage auf Updates enthalten, sonst werden die Dateien nach einem Paketupdate auch gelöscht. Ist bei dkpg halt so :/  cepheus hat da im IHAD ne Lösung gepostet.


    Auf jeden Fall super, dass du das mit Audio rausgefunden hast :) Eigentlich hätte das beim Studium des /proc/stb/ jedem auffallen müssen :D Audio werde ich morgen ausführlich testen! Hast du zufällig schon AC3 oder DTS mal angelegt?


    Da ich nie eine Box mit Scart In hatte, weiß ich nicht, ob ich mich mit dem Menüpunkt anfreunden kann. Daher fände ich eine zusätzliche Anzeige im Extensions-Menü ganz nett. Den Hauptmenü-Eintrag blende ich mir dann mit MenuSort selber aus.

  • Ich habe nur schnell den Code noch ein bisschen aufgeräumt.


    Das mit dem Extension menu ... von mir aus, ich mache halt eine 0.3


    Ich lösche in der postrm nur die *.pyo, das sollte nicht stören, weil die werden im Memory geladen und nach Update halt ggf neu von der plugin.py compiliert.


    Und bezüglich Audio werdet Ihr selber rausfinden müssen ob wirklich alles sauber durchgeschliffen wird.

    Einmal Rupert und Zurück

    Dieser Beitrag wurde bereits 2 Mal editiert, zuletzt von gutemine ()

  • Input wird aber korrekt auf Eingang übersetzt :D


    EDIT: aber ich habe es jetzt so gemacht das es auch in der Beschreibung übersetzt wird. Und auf Power kann man jetzt in der 0.4 auch so eine Art Idle Mode machen.


    LG
    gutemine

  • hab leider kein Gerät zum testen...
    aber wenn ich HDMI Input akiviere, schaltet mein TV auf 720p/60Hz um geh ich wieder raus bleibt es dabei


    erst wenn ich die Box neu starte wird wieder, so wie im AV Setings menü eingestellt, auf 1080p/50Hz umgestellt. Ist das jetzt nur weil "nichts dranhängt" ?

  • Doch, etwas ist mir noch eingefallen, soll ich auch ein ipk machen damit die Jungs vom Open* nicht mehr behaupten können der HDMI wäre nicht benutzebar weil Ihnen DMM keine Infos gibt :P


    arki - bei mir mach er das nicht mit den 60Hz, könnte man aber auch einbauen dass es beim Verlassen wieder zurück gesetzt wird, muss mal schauen, das ist auch nur ein weiteres /proc


    Ich habe halt multi eingestellt da funktioniert es wie es sollte.

    Einmal Rupert und Zurück

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von gutemine ()

  • mit den 60Hz ist mir auch ein rätzel. gibt ein leichtes zittern im Bild.


    und das es wieder auf den eingestellten Modi zurückschaltet wäre wünschenwert :rolleyes: und das mit dem *ipk ist deine Entscheidung :D

  • dann verhält sich dein TV aber anders als meiner, weil bei mir entsteht kein 60hz wenn ich ohne das am HDMI-In was abgeschlossen ist das Plugin benutze. Wobei bei mir der TV auch nicht zittert wenn ich 60MHz einstelle und auf HDMI-In Umschalte.


    Aber probier bitte mal die 0.5, da setze ich sicherheitshalber auch den videmode_60hz und den videomode_50hz

  • such mal in der plugin.py nach 720p und ersetze das durch 720p50 oder 720p24 dann sollte auch das HDMI-In nicht mehr auf 60Hz umschalten, aber wirklich testen kann man das nur mit was angestecktem.


    Hauptsache es stellt jetzt nachher wieder richtig zurück :rolleyes:


    EDIT: ipk falls es wirklich ernsthaft wer im Open* Image testen will ist jetzt auch auf der ersten Seite.

    Einmal Rupert und Zurück

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von gutemine ()

  • hmm TV - ist ein Panasonic UHD
    Hab mal ein paar AV bzw HDMI Einstellungen durchgetestet. Ändert sich nichts.


    Bei CEC zicken die Panasionics ja auch gerne rum. Warum soll es bei HDMI in anderst sein :whistling: und ja ich denke, wirklich testet sollte man das, wenn was angeschlossen ist. Da sollten sich dann aber mal andere melden.

  • Na ja im Moment funktioniert es für mich völlig ausreichend, aber jeder hat halt andere Bedürfnisse.


    Technisch war das Plugin ja keine wirkliche Herausforderung - was willst du auch von einer Seite code die eigentlich nur ins /proc schreibt gross verlangen ?


    Ich habe nur länger gebraucht die ganzen keys abzufangen, das man eben auch merkt das man keinen normalen Kanal guckt und dann versucht zu zappen, oder ähnliches.


    Wenn mal wer Lust hat könnte er ein KODI-remote Plugin machen, weil das zurückschicken der Dreambox remote Befehle über HDMI-CEC so wie vom TV damit man nur eine FB braucht geht natürlich in dieser Kombination nicht.


    Dafür aber was zu bauen das übers WebIF des Raspy dieser trotzdem bedienbar wäre sollte aber wiklich nicht schwer sein.


    Es wäre sicher eleganter und sinnvoller Kodi so ins enigma2 einzubinden, als das ganze Kodi auf Mipsel zu portieren, an dem sich die Mitbewerber versuchen.


    http://kodi.wiki/view/Archive:Web_Server_HTTP_API


    Viel bräuchte man eh nicht - OK/rauf/runter/rechts/links/exit würde für den Anfang wohl ausreichen.


    LG
    gutemine

  • darf es ein paar pixel mehr sein ^^


    Code
    1. <screen position="0,0" size="1280,729" title="HDMI Input" flags="wfNoBorder" zPosition="10" transparent="1" >
    2. </screen>


    das soll doch bestimmt sitze="...,720" sein

  • Ich lösche in der postrm nur die *.pyo, das sollte nicht stören, weil die werden im Memory geladen und nach Update halt ggf neu von der plugin.py compiliert.


    Und die Zeile da?

    Code
    1. rmdir /usr/lib/enigma2/python/Plugins/Extensions/HdmiIn > /dev/null 2>&1


    Interessanterweise passiert aber tatsächlich nichts beim Update. Bei anderen .deb Paketen war das aber genau so ?( 
    Ist vielleicht auch nur ausnutzen der Tatsache, dass rmdir ja keine leeren Verzeichnisse löscht (ohne -f). Dann ist die Zeile aber doch immer nutzlos??
    Wie gesagt: cepheus hat da ein ordentliches postrm Script. Nimm das doch einfach ;)


    So aber genug zum .deb... Mal was zum Plugin :)


    Danke fürs einbauen des Extension-Menüs! Ich werde mal sehen, was ich praktischer finde.
    Die Umschaltung 1080p50 > 720p60 und zurück klappt mit der 0.5 hier problemlos (LG WebOS 2014).


    Dolby Passthrough endet in einem total verheckselten Ton. Grausam anzuhören :( Vielleicht kann man da im Proc noch was anderes setzen? DTS Passthrough kann ich gerade nicht testen, weil mein Tablet (NVidia Shield K1 Tablet) kein DTS Passthrough unterstützt (nur DTS Downmix :huh: )... Mein PC (NVidia Grafikkarte) kann das ebenso wenig...


    Noch ein Forschungsgebiet wäre für mich AutoResolution :D Wenn ich auf dem PC mit Kodi meine 1080p24 mkv abspiele, wird normalerweise auch auf 24 Hz umgeschaltet. Meinst du, dass man dieses Signal am HDMI-In mitlesen kann? Allerdings bekomme ich auch ein komisches Bild (unterer Rand in der Mitte, läuft dann unten über und überall Interlacing Streifen), wenn ich am PC 24p starte. Auch ein 720p24 ins proc zu schreiben hilft nicht ?(

  • das mit den 729 ist wirklich ein Tippfehler, wird in der nächsten Version gefixed sein, tut aber nicht wirklich weh weil sowieso transparent und ohne Border geskinned ist.


    Bezüglich das postrm - früher hätte ich rm -r auf das Plugin directory was bei Upgrades bei *.deb natürlich fatal ist .
    So wie es jetzt ist stört das rmdir nicht, weil es wenn das director nicht leer ist (weil es keine deinstallation ist sondern nur upgrade) einfach nichts macht und der Fehler durch die redirection aufs nulldevice und dem expliziten return von 0 als status des scripts nicht weh tut.


    Bezüglich passtrough - könnt Ihr nicht selber mit dem /proc experimentieren und ich baue es dann nur ein ?


    Bei der Auflösung ist halt momentan nur 720p unterstützt, die Dreambox funktioniert da wie ein Monitor der dem device am HDMI-IN halt meldet das es nur das kann.


    Mein Raspi stellt sich deswegen auch auf 60Hz - warum auch immer, und es wird auch bei 1920x1280p nur 60 oder 24Hz zur Auswahl angeboten, bei 1280x720p ist es überhaupt nur 60Hz.


    Und ich kann zwar auf 1920x1280p umstellen, es wird aber trotzdem als 720p von der Dreambox wieder rausgeschickt, womit das Bild auch nicht besser ist.


    Bei Audio kann ich im Kodi von 2 Knälen auf 5.1 umstellen, aber wenn ich Pass Trough aufdrehe geht es gar nicht mehr - weder Bild noch Ton.


    Wenn der Ton hakt oder das Bild pixel hilft meistens kurz mit Exit rauf und dann wieder rein damit sich das synchronisiert.


    Ich hoffe das hilft Euch beim Testen ...


    Und letztendlich ist der Plugin auch nur der Beweis das und wie es geht.


    LG
    gutemine

    Einmal Rupert und Zurück

    Dieser Beitrag wurde bereits 2 Mal editiert, zuletzt von gutemine ()

  • Ich habe noch eine 0.6 gemacht wo der Tippfehler beim Skin gefixed ist und beim Verlassen kein explizides aux/encode mehr gemacht wird.


    Das ipk sollte im Open* jetzt auch funktionieren, aber ich habs nur ganz kurz ausprobiert.


    LG
    gutemine

  • Ich habe noch eine 0.7 gemacht wo es auf Menu ein paar Einstellungen gibt. Damit kann man z.B. ausprobieren ob 720p/720p24/720p60 unmschalten was bringt.


    Und das EDID Deaktiveren sollte eigentlich unterdrücken das die box am HDMI sagt was sie kann:


    https://de.wikipedia.org/wiki/…splay_Identification_Data


    Aber scheinbar testet eh keiner wirklich was ... womit das wahrscheinlich erstmal so bleiben wird wie es ist.

    Einmal Rupert und Zurück

    Dieser Beitrag wurde bereits 2 Mal editiert, zuletzt von gutemine ()

  • kann man die Quelle HDMI-In auch in die Kanalliste einbinden?
    Ich muss mal schauen, was ich anschließen könnte.

    Viele Grüße
    Jürgen


    "Kaum macht man es richtig, .... schon geht es!"

  • Wozu, wie das geht ist doch längst allgemein bekannt (Transcoding/rts Streamproxy) und hat gar nichts mit der Funktionsweise von dem Plugin zu tun.


    Wobei mal wer probieren könnte, ob beides gleichzeitig geht ...


    Aber wie schon gesagt scheinbar testet das eh keiner.

  • ich muss mir erst einen Splitter bestellen, um die Funktion überhaupt testen zu können.
    Den Streamingserver hatte ich noch nie installiert und dass man dies in die Kanalliste einbinden kann, hatte ich gelesen.


    Nur meine Frage war, ob es auch mit deinem Plugin geht, also ohne Streamingserver.

    Viele Grüße
    Jürgen


    "Kaum macht man es richtig, .... schon geht es!"

  • Nein, aber das ist auch nicht die Idee von dem Plugin, das ist einfach so wie zu SCART Zeiten zum Durchschleifen.


    Ist nur komisch das DMM das nicht als eine fertige routine im C++ Teil anbietet, sind eh nur blöde writes ins /proc das wären nur eine halbe Seite C++ code und dann könnten man es in eine routine im python wrappen und direkt über die menu.xml benutzen.


    Aber was solls so gehts auch und man kann menr Einstellungen dazu basteln.

  • Wozu, wie das geht ist doch längst allgemein bekannt (Transcoding/rts Streamproxy) und hat gar nichts mit der Funktionsweise von dem Plugin zu tun.


    Wobei mal wer probieren könnte, ob beides gleichzeitig geht ...


    Aber wie schon gesagt scheinbar testet das eh keiner.


    Doch :P Habe ich schon damals mit dem Quickbutton getestet. Wird merkwürdig und man muss rebooten, damit wieder irgendwas geht.

  • Ein Danke ist immer drin :thumbsup:


    Mich würde interessieren, ob der Ton über den HDMI in auch auf den Toslink Ausgang bereit steht?! Mein guter (alter) Denon kennt kein HDMI ;)

  • Wie wäre es mit ausprobieren ?


    Ich bin nicht fürs Testen zuständig :rolleyes:


    Wobei wenn du eh einen AV Receiver hast würde ich das dann eher direkt vom device abgreifen das am HDMI-IN angeschlossen ist - ausser dir gehen auch am AV Receiver die Anschlüsse aus :D

  • In der 0.9 kann man jetzt die Einstellungen des Plugins auch im Einstellungs Menu einblenden und nicht nur auf Menu wenn man im Plugin ist. Und es gibt jetzt auch eine Einstellung dafür das die Box im Idle Modus auf Power das HDMI-IN durchschleifen soll statt den TV abzudrehen.

    Einmal Rupert und Zurück

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von gutemine ()

  • Sollten wir evt. die blaue led in einem der vielen verfügbaren Muster blinken lassen während das HDMI Input aktiv ist ?


    Code
    1. echo 128 > /proc/stb/fp/led_set_pattern


    Das ist 2x kurz dann lang aus, ... wäre doch z.B. hübsch ?


    EDIT: in der 0.10 gibt es das jetzt als Einstellung, wer es nicht mag drehts halt auf 0

    Einmal Rupert und Zurück

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von gutemine ()

  • wäre sinnvoll, da beide Dinge nicht zusammen laufen.
    Man könnte sich auch eine rückfrage vorstellen, ob der Streaming Server gestartet werden soll, wird aber mit Sicherheit aufwendiger sein.

    Viele Grüße
    Jürgen


    "Kaum macht man es richtig, .... schon geht es!"

  • Ich habe das mit dem Disabeln des Streamproxys als Option in einer 0.11 eingebaut wenn der Streamproxy auch auf HDMI-IN steht. Sonst taucht die Einstellung aber gar nicht auf, weil ja gar nicht nötig.


    Wobei die Frage ist ob man nicht ganz ohne die Einstellung auskommen könnte, weil wenn man das disabeln des Streamproxy auf Nein stellt geht es ja trotzdem nicht, also ist es eigentlich doch sinnvoller das Feature sowieso immer auf an zu haben ?


    LG
    gutemine

    Einmal Rupert und Zurück

    Dieser Beitrag wurde bereits 2 Mal editiert, zuletzt von gutemine ()

  • Im About Screen rufst
    du ein Icon von dbackup auf und wenn das Plugin nicht installiert ist, bekommt man einen GS.

    Viele Grüße
    Jürgen


    "Kaum macht man es richtig, .... schon geht es!"

  • kann ich dir am Abend posten ;)

    Viele Grüße
    Jürgen


    "Kaum macht man es richtig, .... schon geht es!"