HDMI Input Plugin for DreamOS

  • das wäre doch etwas.


    Ich z.B. habe den Streamingserver nicht installiert und habe daher nach einer anderen Möglichkeit gefragt.

  • Dann hätte er aber die Funktion vom HDMI Input Plugin auch schon vor langem analog zum SCART Durchschleifen einbauen können und ich mir eine Menge Arbeit sparen :face_with_rolling_eyes:


    Aber ich bin eh schon dabei, weil das ist wirklich nicht viel code :pinch:


    Manchmal möchte ich auch nur einfach meine Ruhe ...

  • Bin fast fertig, muss nur mehr rausfinden wie man den Kanal dynamisch dazu und weg machen kann.


    Das muss doch irgendwie mit der eDVBDB gehen ohne enigma2 restartt ?


    Code
    print "[HDMI-In] reload Favorites"
                	db = eDVBDB.getInstance()                                   	
                	db.reloadBouquets()


    Funktioniert aber nicht :upside_down_face:


    Und Jogi meint den code fürs recording ins enigma2 einzubetten statt den streamproxy zu missbrauchen.

  • Hab ich ja vorhin gesagt fest einbauen. Aber im Moment gibt da keine andere Lösung außer man baut sich selbst etwas was ja irgendwie unnötig ist oder?


    PS: wegen Reload schau mal ins Webif, aber eigentlich sollte das so passen. :smiling_face:
    Du hast ein eigenes Bouquet erstellt und das auch in die bouquets.tv eingetragen ja?

    Einmal editiert, zuletzt von dhwz ()

  • Ich war faul und habe den Channel nur in die normalen Favorites als letzter angehängt, dann muss man nur auf Kanal 1 stehen und nach oben drücken um HDMI In aufzurufen.


    Dann soltle aber auch laut dem code aus der ServiceListReload.py die zwei zeilen reichen.

  • Ja dann sollte das eigentlich passen. Allerdings muss man IMHO einmal das Bouquet verlassen und wieder neu aufrufen, glaub das refreshed nicht in der GUI automatisch das aktuell angezeigte Bouquet.


    Edit: Ja das ist definitiv so. Also man muss mindestens Kanalliste aufrufen, 1x blau, 1x OK dann kannst nach oben drücken :smiling_face:

  • Anbei ein erster Kit zum Testen, es gibt jetzt einfach eine zusätzliche Einstellung im HDMI Input Plugin ob man es als Kanal haben will.


    Dreht man die auf sollte man am Ende der Favoriten einen HDMI In als eigenen Kanal haben (also auf Kanal 1 schalten und nach obenTaste drücken um gleich hinzuzappen)


    Den Sender kann man dann so über den Streamserver gucken und dann natürlich auch mit der REC Taste eine Sofortaufnahme machen oder in den Timern halt eine Manuelle Aufnahme programmieren.


    Bei den Streamserver Einstellungen muss man jetzt NICHTS mehr ändern, das macht alles diese eine Einstellung im HDMI Input Plugin so das es auch funktioniert, ich habe auch die Video Bitrate und Audio Bitrate dabei so angepasst wie ich das benutze (8192/256).


    Ich hoffe ich habe auch alle Dependencies richtig reingemacht, das auch der Streamserver mitinstalliert wird und es dann auch funktioniert.


    Der Code fürs reload der Bouquets ist auch drinnen, geht aber eben nur so wie dwhz sagt, man muss also einmal in der Kanalliste Blau drücken und die Favoriten neu auswählen, oder eben einen enigma2 Restart machen damit der Kanal auftaucht oder verschwindet, je nach Einstellung im Plugin.


    Bitte ausprobieren ob das jetzt DAU sicher ist :face_with_tongue:


    EDIT: Haben noch die Konfiguration Texte aufgeräumt und den skin angepasst damit es auch mit FHD Skin brauchbar aussieht. Daher gibt es jetzt eine 0.17 auf der ersten Seite des Threads.


    LG
    gutemine

    7 Mal editiert, zuletzt von Lost in Translation ()

  • ich habe Version 0.17 endlich testen können (ohne dass die Frau gemeckert hat).
    Die Installation hat problemlos funktioniert, allerdings habe ich unter Menü - Einstellungen - Geräte keinen Eintrag HDMI-Input, keine Ahnung wieso, wenn der HDMI-In aktiviert ist, kann ich die Einstellungen aber über die Menütaste aufrufen.


    Eine Testaufnahme von meinem FireTV-Stick hat problemlos funktioniert :thumbs_up:


    Jetzt versuche ich noch, dass in der Infobar ein Picon angezeigt wird :grinning_squinting_face:

  • Standardmäßig ist das Setup auf Menu wenn man im HDMI-In drinnen ist UND auf Geräte, aber es gibt eine Einstellugn es auch nur bei den Geräten oder nur im Menu anzuzeigen. Vielleicht hast du das mal umgestellt ?


    Ausprobieren müsste man es aber am Besten mit einem jungfräulichen image, ob wirklich alle dependencies für die Installation stimmen und man nur mit HDMI-In Kanal enablen einen lauffähigen Streamserver kriegt und auf dem Kanal auch gucken und aufnehmen kann.


    Also testet schön weiter.


    Was mir gerade eingefallen ist, nachdem ich ja über die interrupts eine Erkennung habe, ob am HDMI-IN überhaupt was kommt, könnte man so eine Art autorecording implementieren, also das wenn dort Bild kommt es auch aufgenommen wird. Sprich wenn das Teil am HDMI-IN im Srandby ist wird nichts aufgenommen, sonst schon.


    Na ja aber erstmal sehen was die Zukunft da noch so bringt. Für mich ist das auf jedem Fall sinnvoller als blöde ins Internet zu streamen, mit den dversen *Go, *Cast und was man sonst noch sowieso mobil streamen kann macht das einfach zu wenig Sinn. Nur hatte ichg mir das schon vor langem von Hand eingerichtet, weswegen es mir nicht abging so wie scheinbar vielen Anderen.


    Und Ich habe ja schon auf anderer Stelle geschrieben das wenn du dort einen HDMI Intel Stick um 120 EUR inklusive Windows 10 ansteckst, oder einen Amazon oder ChroemCast Stick die Welt für die Dreambox auf einmal ganz anders aussehen könnte.


    Und wenn du ein schönes Kanalnamen Picon machst kann ich das gerne mit ins Plugin packen.

    3 Mal editiert, zuletzt von Lost in Translation ()

  • ich hatte extra ein Image ohne HDMI-In-Plugin auf die Box gespielt und dann Version 0.17 installiert, die Abhängigkeiten scheinen also zu stimmen, da ich aufnehmen konnte.


    Ich habe es noch nicht geschafft, dass ein Picon angezeigt wird, habe es bisher mit 1_0_1_0_0_0_0_0_0_0.png getestet, ich gehe aber davon aus, dass man dies nur mit dem Converter RefToPiconName hinbekommt, oder hast du eine andere Idee?

  • So wird das nicht gehen, sonst hätten ja alle Interne Streams das gleiche picon, du wirst also einen Renderer benötigen im Skinn der auch Kanalnamen kann.


    Wenn das mit den Abhängigkeiten funktioniert ist das schon mal eine gute Nachricht für die DAUs.


    Wie sieht es mit der Aufnahmequalität aus, weil ich benutze absichtlich NUR die 720p die auch im Passtrough gehen, weil das scheint am stabilsten zu laufen und eben hardcoded die 8192 als Video Bitrate und 256 für den Ton, was ich selber auch verwende.


    Für mich reicht das aus (bzw, beim Ton ist das eh schon das Maximum), abe ihr könnt die Werte auch in den Streamserver Einstellungen nach dem enabeln anpassen, dürft dann aber nicht mehr in die Einstellungen vom HDMI-In Plugin bei enabeltem HDMI-IN Kanal, weil sich das Plugin die Werte für die Bitrates sonst wieder zurücksetzt.

  • ich habe ja nur eine kurze Testaufnahme machen können, diese sieht eigentlich ganz gut aus.


    Der Aufnahmename lautet "instant record" , vielleicht könnte man den Namen um das Datum und Uhrzeit ergänzen, ich denke mit eiem eigenen Namen vergeben wäre zuviel.


    Ich habe mir ein eigenes Bouquet "HDMI-In" angelegt und möchte da den "Sender" HDMI-In drin haben, aber jedes mal wenn ich die Einstellungen aufrufe und mit grün verlasse, ist HDMI-In auch wieder im Bouquet "favourites", ist nicht weiter schlimm und ergibt sich auch aus deiner Erläuterung weiter oben.


    Das mit dem Converter/Renderer der auch Kanalnamen kann wurde schon oft diskutiert und es kam immer wieder der Wunsch auf, dass DMM dies in den vorhandenen Converter integriert, dann wäre auch das Problem mit den IPTV-Streams und den Picons gelöst. Dann werde ich das mal mit dem Converter RefToPiconName von den Merlin-Leuten testen und wenn es klappt darüber berichten. Ich möchte in meinem Farbdisplay natürlich ein schönes Picon angezeigt bekommen, da es ja keine EPG-Daten geben kann.

  • Na ja ich habe das ziemlich BRUTAL gecoded indem ich einfach den Kanal ins userbouquet.favourites.tv am Ende anhänge ... was nicht die feine Englische Art ist, aber so ging es halt am schnellsten und ist mehr oder weniger DAU sicher.


    So weis ich immer wo er zu finden ist, weil wenn die Leute anfangen zu verschieben oder eigene Bouquets wird es mit dem Support schwieriger.
    Ich habe nämlich keine Lust 'Ich finden den HDMI-In Kanal nicht' Fragen zu beantworten.


    Gerade wel Leute die das trotzdem so flexibel haben wollen sollten es sich eh auch von Hand machen könnten (hoffentlich missversteht keiner den Satz ...)


    Wobei theoretisch könnte man schon die Einstellung cleverer machen und none oder die vorhandenen Bouquet Namen zur Auswahl anbieten, wo der Kanal angehängt werden rein soll, aber bevor ich mir das antue muss es erstmal sauber funktionieren so wie es jetzt ist.


    Beim Entfernen aus dem Bouquet wird ja mit replace gearbeitet, wenn also wer den Sender nachher noch nur im Bouquet verschiebt sollte das jetzt schon egal sein.


    Und was die Servicereference vs. Namen diskussion angeht würde ich statt ewig service reference vs. Namen zu diskutieren und auf keinen Grünen Zweig zu kommen lieber versuchen das Problem elgant zu umschiffen.


    Man könnte z.B. eine simple MD5 sum aus der Setviceref (inklusive Streaming url) bilden und das mit xx:xx:xx:xx wie eine Servicereference schreiben. Dann können die picon Files wieder ganz normal aussehen und man bräuchte nur ein paar zusätzliche Zeilen im C++ Teil um sich diese Pseudo service reference berechnen zu lassen die trotzdem wieder unique wäre, ganz egal wie lang oder komisch die Streaming URL ist.


    Bei den epg Daten hat Ghost den Trick ja auch benutzt um diese performant in der Database abzulegen und auch wieder rausholen zu können, von mir aus kann man sogar den Code dafür recyclen um damit auch Pseudo servicereferences für die Picons zu machen.


    Leute die Ihre Streaming URLs nicht so gerne öffentlich machen wurden solche Pseudo Service references mit gehashten und damit nicht so leicht lesbaren URLs sogar lieben


    Aber das ist eine andere Geschichte wo ich mich besser nicht einmische ...

    7 Mal editiert, zuletzt von Lost in Translation ()

  • Dir ist aber schon klar dass die Serviceref u.U. schon verwendet wird (ich meine jetzt nicht nur für den EPG). Gerade bei Servicetype 1 sind die Parameter ja schon in Verwendung. Da ist kein Platz um das jetzt für Hashes zu missbrauchen :p

  • Wenn man es auch als serviceref zum abspielen nehmen wollte hast du natuerlich recht und man muesste es verlaengern aber fuer piconnamen waere das leicht umsetzbar und fuer die epg.db auch weil dort kann man problemlos auch laengere reinstopfen

  • Wenn man es auch als serviceref zum abspielen nehmen wollte hast du natuerlich recht aber fuer piconnamen waere das leicht umsetzbar und fuer die epg.db auch weil dort kann man problemlos auch laengere reinstopfen


    mir geht's ja eher darum das nicht immer alles nur mit ja nein zu loesen ist

  • und wie könnte man das dann lösen, damit ein Picon angezeigt wird?
    Mehr als ein Picon und die Uhrzeit im Display braucht man ja nicht, vielleicht noch wie lange die Aufnahme schon läuft, einen Titel und Restlaufzeit gibt es ja nicht, aber dazu bräuchte man wohl einen eigenen "Summaryscreen" wenn das überhaupt gehen sollte.

  • Jetzt schaut der piconrenderer ja auch nur mit der serviceref nach ob es ein entsprechendes file zum anzeigen gibt. Da bei servicerefs wo nach dem xx:xx... Noch was kommt sich davon die pseudoref als hash zu holen statt dem sendernamen ist genauso nur eine codezeile aber ohne die bekannten sendernahmeproblemen mit sondrrzeichen etc zu kriegen


    und mit meiner epgdb.py kannst du genauso wie bei den dauerwerbesendungen fuer jeden tag eine 24h lange pseudosendung reinschreiben. Lustiger waere es aber fuer die zapphistory zu missbrauchen. Also als sendung hingezappt und weggezappt und aufnahme geplant ....


    auch hier gilt das man sich vom klassischen denken loesen muss um was neues zu bekommen. Man kann also auch aus timern epg machen statt immer umgekehrt

    Einmal editiert, zuletzt von Lost in Translation ()