Beiträge von MartenR

    Wer libMagick nicht verwenden möchte kann auch

    Code
    #define PICTURE_DECODER_MAGICK


    in defines.h auskommentieren, dann wird libmagick nicht mehr verwendet.
    Dass ist bei der Version auch nur ein Fallback falls die Hardwaredekodierung der Bilder fehlschlägt. (sowohl png wie jpg werden jetzt direkt von der Hardware verarbeitet.)


    Achso das mit der libcec ist immer noch ein Problem als das es unter Raspbian keine libcec mit raspberry pi support gibt. Daher ist es immer noch auf dem Versionstand zu der Zeit als ich die per Hand gebaut hatte.



    Marten

    Hallo,


    nachdem ich auf meinem Vdr das nOpacity Skin in Zusammenarbeit mit dem scraper2vdr und epgd installiert hatte, wollte ich das auch für vomp haben.
    Natürlich auch eine entsprechend verbesserte Benutzeroberfläche inspiriert vom nOpacity Plugin von Louis inklusive einiger Grafiken, die ich aus dem Plugin entnommen habe.


    Aufgrund der vielen Änderungen möchte ich einen Betatest, sowohl des Clients für die Raspberry pi wie auch des Windows Clients (kommt heute später am Tag) durchführen.


    Was ist neu:

    • Verbessserte Epg und Aufnahmemenü
    • Poster, Cast und Banner durch scraper2vdr Unterstützung
    • Senderlogosunterstützung
    • Scrollbare EPG Beschreibungen
    • Verschiedene Skins (noOpacity inspired und zwei klassische Skins): im wesentlichen verschiedene Farbgebungen
    • TVBD Einbindung durch scraper2vdr Unterstützung
    • Übernahme der Audio und Untertiteleinstellungen vom VDR
    • Mausradunterstützung [Windows]
    • Hochauflösendes OSD auch für Windows


    Skins können in C++ im colour.cc angelegt werden, Einsendungen zu Erweiterungen der Skins werden gerne angenommen.


    Was braucht man für das neue vomp?
    Ein vompserver plugin aus dem scraper_support branch:

    Code
    git clone http://git.vomp.tv/vompserver.git
    cd vompserver
    git checkout scraper_support


    und dann das übliche Plugin kompilieren für VDR.
    Der Server ist abwärtskompatibel zu 0.4.1 vompclients, man kann also den Server updaten und die Clients der alten Version parallel benutzen.
    Zusätzlich einen aktualisierten Client aus dem scraper_support branch für die raspberry pi:

    Code
    git clone http://git.vomp.tv/vompclient.git
    cd vompclient
    git checkout scraper_support


    und dann das übliche Client bauen (make!). (Ein Binärclient für Windows gibt es hier: http://forum.loggytronic.com/index.php?topic=760.0, der kann natürlich dann auch bei Bedarf selbst kompiliert werden.)


    Für die Poster etc. benötigt man natürlich ein entsprechend konfiguriertes scraper2vdr plugin + epgd. (tvscraper kann auch gehen, ist aber nicht getestet.)


    Da Bilder mehr sagen als Text ein paar Screenshots am Ende des Nachricht. [Bei epg gibt der Screenshoot die Wirklichkeit nicht wieder, das Fernsehen ist in die Beschreibung eingepasst].


    Marten

    reufer
    Du könntest das Emulieren. Erstelle ein Bitmap, dass du auf einen definierten Wert setzt (z.B. durchsichtig oder etwas anderes das filterbar ist z.B. Colorkeying).
    Dann läßt du das Plugin drauf zugreifen, indem du es jeweils lockst, kannst es aber trotzdem anwenden in der GPU Beschleunigung anwenden.


    Marten

    Das steht dort drinnen


    Marten

    Hallo,
    ich verwende den epgd daemon jetzt seit ein paar Monaten erfolgreich.
    Seit ein paar Tagen kommen keine DVB events mehr in die Datenbank. (epgd-showmerge zeigt nur EPGDATA an). (Wirklich keine, auch nicht bei Sendern auf die definitv getuned wurde).
    Ursache könnte sein, das beim herunterfahren die db schneller weg war als der daemon und der vdr, da gab es Fehlermeldungen, aber eigentlich kann ich mir nicht vorstellen, dass dies nicht abgefangen wurde.


    Ich habe schon die üblichen Verdächtigen bei ausgeschalteten Daemonen gelöscht (epg.data, epg-dropall).
    Aber leider ohne den gewünschten Erfolg.
    Gibt es Tips wie dem genauer auf die Schliche kommen kann?


    Marten


    Beispiel Zeile aus der channelmap.conf

    Zitat

    epgdata:71 = C-1-1051-11100 // Das Erste HD


    Meine epgd.conf


    Beispiel für epg2vdr Meldungen

    Zitat

    Das sollte so wenig oft wie möglich passieren, wenn du Angst hast das bei Änderung der Auflösung die Objekte weg sind dann gibt es da hook funktionen die aufgerufen werden können.
    Ansonsten immer nur nach einem rendering process eglswapbuffers und gut ist es.


    Implementiert habe ich das selber glaube ich nicht aber, du findest viele in den raspberry pi headers z.B. in https://github.com/raspberrypi…/vmcs_host/vc_tvservice.h
    gibt es "vc_tv_register_callback" oder hier https://github.com/raspberrypi…rface/vmcs_host/vc_hdmi.h


    Marten

    reufer
    Warum wird in einer Schleife immer wieder ein neues eglSurface geholt und mit dispmanx hinzugefügt?
    Passiert das nach jedem rendern oder nur bei Änderung der Attribute? (Habe mal nur auf die schnelle drüber geschaut und verstehe die Logik nicht ganz)
    Das sollte so wenig oft wie möglich passieren, wenn du Angst hast das bei Änderung der Auflösung die Objekte weg sind dann gibt es da hook funktionen die aufgerufen werden können.
    Ansonsten immer nur nach einem rendering process eglswapbuffers und gut ist es.


    Das kann jedenfalls auch zu einem Flackern führen....., wenn ich den Code richtig deute.


    Marten

    Im wesentlichen die OpenVG Spezifikation und die Beispiele und libraries von der Raspberry pi. (Es gibt glaube ich eine lib von der raspberry pi die bei Text hilft, aber da ich nicht wußte wie GPL kompatibel die ist habe ich das selber programmiert, genauso unsicher war ich mir mit der openmay helper lib, außerdem wollte ich es portable halten). Aber es ist nicht wirklich gut dokumentiert.
    Aber Text ist nicht Teil von OpenVG. Es gibt Funktionen die helfen Pfade (also Buchstaben) nach Indices abzulegen und dann zu rendern aber mehr auch nicht.
    Ich mußte daher die Pfade mittels libfreetype laden und dann nach OpenVg konvertieren. Der Code dafür ist bei mir im osdopenvg.cc in int OsdOpenVG::loadFont(bool newfont).
    Kannst du dir ja mal durchschauen. Eigentlich alles openvg Zeug ist in der Datei.



    Gruß


    Marten

    Zitat

    Das Problem dabei ist, dass der OSD-Layer verloren geht, sobald der Video-Mode ändert. Warum das so ist kann ich nicht sagen, aber sobald der VDR ein neues OSD zeichnet, ist der Layer wieder da. Konkret sollte z.B. die Kanalanzeige nach einem erneuten Druck auf OK wieder erscheinen. Beim Umschalten aus dem Plugin-Setup heraus besteht das Problem übrigens nicht, da hier der VDR von sich aus das Menü neu erstellt.


    Beim Mode umschalten wird praktisch dispmanx resettet und verliert alle seine Elemente. So wird beim Umschalten auch der Framebuffer layer verloren gehen.
    Daher müssen die dispmanx elemente neuinitialisiert werden, damit ist der Inhalt für alle Bitmaps weg. Man könnte hier nur Kopien zusätzlich im Speicher anlegen ist aber von der Speicherauslastung kein Problem.

    Zitat

    Ein erster Schritt wäre die Implementation eines Highlevel-OSDs mit Hilfe von OVG. Damit könnte man vermeiden, dass der VDR alle Formen selber zeichnen und anschliessend, Pixel für Pixel, auf den OSD-Layer übertragen muss. Weiter liesse sich sogar die JPEG-Decodierung in OMX auslagern.


    Das ist tatsächlich, dass was notwendig ist, vomp verwendet z.B. sehr lange schon OpenVG und das geht sehr schnell mit komplexen Grafiken und Formen. In der aktuellen scraper_support ist jetzt auch Hardware support für jpeg und png (png mit abstrichen) implementiert und das geht super schnell.
    So kann zusammen mit Support für Louis tvscraper sehr komplexe Osds dargestellt werden. Wobei das neue Skin eine Hommage an das noopacity plugin von Louis ist ( 1:1 ging leider nicht) und auch viel Artwork wurde im Sinne der GPL von Louis tollen Skin für vomp geklaut.


    Marten

    Ich eine weitere Frage. Ich war jetzt einige Wochen im Urlaub und die Fritzbox ist abgestürzt, so dass ich kein Internetepg bekommen habe.
    Das hat leider viele Autotimer gekillt. Kann man den epgd Daemon so einstellen, dass er dann die dvb Daten nur nimmt?


    Marten


    P.S: Zur Info eine Entwicklungsversion von vomp kann jetzt auch bei den Aufnahmen die Bilder anzeigen, ist im git zu finden, noch sehr langsam und instabil.