[ANNOUNCE] Lader für Textbasierte Skins (text2skin-0.0.8)



  • Hi micmac,


    ich verwende den Skin auch und hatte auch das Problem.
    Habe gerade mal den "mplayer-1.0pre2-slavemode.diff"-Patch der im MP3/Mplayer-Plugin-Patch Verzeichnis liegt, auf den aktuellen Mplayer1.0pre5 angewendet und neu kompiliert.


    Bisher scheint das Problem nicht mehr aufzutauchen....



    EDIT: Das Problem tritt leider immer noch auf! :( Und das, wie du schon sagtest, nur bei Avi´s!




    Uwe


    PS: Habe aber auch gleichzeitig noch den "mplayer-0.9.3-audiostreamid_patch.diff" entfernt, womit der auch vielleicht der verursacher sein könnte! ;)

    Einmal editiert, zuletzt von Uwe ()

  • Hi Uwe,


    an dem audiostreamid wirds nicht liegen. Hab hier einen ungepatchten 1.3.12. Plöd wenn man nicht proggen kann wie ich .) Dann kommt man sich ein bischen verloren vor.


    Also Angebot steht: Wer sich das mal selber anschauen will bekommt einen test.avi.


    MfG
    mic

  • Hi @all,
    text2skin 0.0.8 ist ein klasse Plugin um einfach neue Skins zu erstellen,
    zur Zeit probiere ich etwas damit herum.


    Als Fan des klassischen kantigen Elchi-Looks von dem vdr-1.2.6 mit Elchi-patch
    vermisse ich eine Funktion von text2skin beim Umschalten auf andere Kanalgruppen:


    Beim alten Elchi-Patch wurde, wenn man mit links/rechts auf die nächste
    Gruppe schaltete, der Gruppenname mit Uhrzeit ganz unten am Bildschirmrand
    eingeblendet zusammen mit dem oberen Teil der "geschwungenen" Hintergrundgrafik.


    Erst wenn man dann mit ok/return bestätigt und auf den ersten Kanal
    der Gruppe wirklich umschaltet wurde die "geschwungene" Hintergrundgrafik
    nach oben versetzt und darunter die EPG-Anzeige der laufenden und der nächsten
    Sendung dargestellt.


    Ich würde gerne dieses "aufspringen" bzw. nach oben versetzen der Grafik und
    Textelemente auch so haben wenn man einen Gruppenwechsel macht und auf den ersten
    Kanal der Gruppe schaltet.


    Hat den grossen Vorteil, dass man bei Umschalten möglichst viel vom Bild sieht und
    keine Skinelemente "mitten" im Bild hat - das stört mich bei vielen anderen Skins.


    Läßt sich sowas in eine nächste Version von text2skin einbauen ?
    Ist überhaupt eine neue text2skin Version mit neuen Features (0.0.9 ???) geplant ?


    Gruss,
    Gromit.......

    Mein Glotz-o-fon-Konservierer im Aufbau:
    vdr-2.3.1, v4l Treiber, OpenSuse 42.1, Satelco Easywatch DVB-C

  • Bis zur nächsten Version wird's wohl noch etwas dauern, da ich zur Zeit viel anderes zu tun habe, aber geben wird es eine neue Version ganz sicher irgendwann. Zunächst wollte ich aber mal abwarten, bis Klaus die Skin-Schnittstelle erweitert hat (er scheint noch einiges in Planung zu haben).


    Zu dem angesprochenen Problem: Das ist eine Sache, die eigentlich genauso funktioniert wie beim alten VDR auch. Wenn eine Gruppe angezeigt wird, kann der VDR eine "kleine Kanalansicht" anfordern, die keine EPG Info enthält. Leider tut VDR das aus irgendeinem Grund nicht (kann ich also garnichts dran machen...).

  • Bei dem Thema Gruppen hätte ich eine kurze Frage, die eventuell dann auch was mit einem neuen Versionswunsch zu tun hat.


    Verwende den lightblue256 Skin und da wird zu jedem Sender ein Icon angezeigt. Beim Zappen durch die Gruppen sieht der Teil des Bereiches identisch aus, allerdings haben die Gruppen kein Icon. Logisch, woher soll der Skinmaker meine Gruppennamen kennen. Kann ich da ähnlich den Kanalicons einfach Dateien anlegen oder muß ich sowas auf die Wishlist setzen?

  • Hi,
    debuglevel des vdr hochsetzen, dann sieh Du in
    /var/log/messagen etwas wie
    "cant find \"Dritte Programme.mng\"".
    Und schon weisst Du wie Deine Icons heissen sollten.
    Dies kann Dir keiner vorbereiten, da Du selbst die Namen der Separatoren Dir ausdenkst.


    Viel Erfolg!
    Harvey

  • LordJaxom





    Habe es nach einigem Suchen in items.doc gefunden.
    Bedeutet das mit anderen Worten, text2skin 0.0.8 unterstützt alle Definitionen
    in einer [ChannelSmall] Section und ich müßte mich damit an Klaus richten ?



    Gruss,
    Gromit

    Mein Glotz-o-fon-Konservierer im Aufbau:
    vdr-2.3.1, v4l Treiber, OpenSuse 42.1, Satelco Easywatch DVB-C

    Einmal editiert, zuletzt von gromit ()

  • gromit:


    Code
    virtual cSkinDisplayChannel *DisplayChannel(bool WithInfo) = 0;
           ///< Creates and returns a new object for displaying the current
           ///< channel. WithInfo indicates whether it shall display only
           ///< the basic channel data, or also information about the present
           ///< and following EPG event.
           ///< The caller must delete the object after use.


    Dort sollte VDR nach der Beschreibung WithInfo==false übergeben, wenn ein kleines Display angefordert wird. Dieses würde dann aus der Sektion [ChannelSmall] anstatt [Channel] erzeugt. Wie Du korrekt festgestellt hast, müsstest Du Dich an Klaus wenden :]


    Ich hab das auch schon länger beobachtet, aber hab selbst nie die Notwendigkeit gesehen Klaus zu fragen oder im Source zu stöbern, da ich selbst eigentlich sehr selten mit Gruppen arbeite.

  • LordJaxom - Danke für die Hinweise


    @all
    Ich bin gerade dabei eine neue Skin zu erstellen und
    experimentiere z.Zt. etwas mit verschiedenen Bildern herum.
    Da beim Umschalten und Menüaufrufen aber doch eine
    Verzögerung zu bemerken ist, möchte ich versuchen die
    Geschwindigkeit etwas zu erhöhen.


    Als nächste werde ich wohl mal die Imlib2 aufspielen da dies ja
    lt. readme etwas bringen soll.


    Gibt es weitere Erfahrungswerte was schneller angezeigt werden kann:


    - Bilder mit 256-Farb Palette oder mit 24-Bit Farbtiefe (16,8 Mio Farben) ?
    - möglichst kleine Bilddateien (png/jpg hoch komprimiert) oder gar nicht
    komprimiert ?
    - Ist ein bestimmtes Bildformat zu bevorzugen ?
    - Ein Bild für einen einfarbigen Hintergrund nehmen oder
    besser mit rectangle ein Rechteck definieren welches der vdr dann zeichnet ?
    (die Elchi Skin hat viele dieser rectangles bzw . Ellipsen und dies
    finde ich subjektiver schneller als Skins mit vielen image-Bitmaps)
    - Möglichst wenig grosse Bilder oder besser mehrere kleine ?


    Gibt es eine Möglichkeit mit text2skin herauszufinden, wie lange für eine
    Anzeige benötigt wird ?


    Könnte man debug Meldungen mit Zeiten einbauen um die Geschwindingkeit
    zu messen - wenn ja in welcher Datei / Funktion müsste das sinnvollerweise
    geschehen ?


    Weiterhin habe ich festgestellt, dass in einigen Skins der Bereich in dem
    das image gezeichnet werden soll (x1,y1,x2,y2) teilweise größer definiert ist
    als das image von den Abmessungen her gross ist.


    Kostet dies Performance ? Ich kann mir vorstellen, das der ARM-Prozessor
    auf der DVB-Karte nicht der schnelleste ist beim neuzeichen des OSDs....



    Bin für jeden Hinweis dankbar....


    Gruss,
    Gromit

    Mein Glotz-o-fon-Konservierer im Aufbau:
    vdr-2.3.1, v4l Treiber, OpenSuse 42.1, Satelco Easywatch DVB-C

  • Zitat

    Original von gromit
    Als nächste werde ich wohl mal die Imlib2 aufspielen da dies ja
    lt. readme etwas bringen soll.


    Du weisst dass Du dann keine Animationen mehr nutzen kannst? (auch lt. readme :) )


    Zitat


    - Bilder mit 256-Farb Palette oder mit 24-Bit Farbtiefe (16,8 Mio Farben) ?


    Ich dachte wir wären uns einig, dass durch den 4 MB-Mod die Karte 256-Farben full-screen darstellen kann. Von 24 Bit war nie die Rede :]


    Zitat


    - möglichst kleine Bilddateien (png/jpg hoch komprimiert) oder gar nicht
    komprimiert ?


    Unerheblich, da die Bilder gecached werden. Im Speicher ist alles unkomprimiert :)


    Zitat


    - Ist ein bestimmtes Bildformat zu bevorzugen ?


    xpm kann keine halbdurchsichtigen Farben, jpg ist immer 24-bit und noch dazu verlustbehaftet komprimiert, gif ist patentiert, ..... :)
    Ich bevorzuge png wegen der Quelloffenheit :D


    Zitat


    - Ein Bild für einen einfarbigen Hintergrund nehmen oder
    besser mit rectangle ein Rechteck definieren welches der vdr dann zeichnet ?
    (die Elchi Skin hat viele dieser rectangles bzw . Ellipsen und dies
    finde ich subjektiver schneller als Skins mit vielen image-Bitmaps)


    Sollte eigentlich keinen Unterschied machen ob ein einfarbiges Bild oder ein einfarbiges Rechteck ins Bild kopiert wird. Ich denke was Du da als subjektiv schneller empfindest, ist die Tatsache dass diese Skins auf die Farbzahl abgestimmte Backgrounds definieren. Je mehr Bit ein Background hat, desto länger brauch es zum Übertragen zur Karte (proportional, d.h. ein 8-Bit Fenster braucht genau die doppelte Zeit wie ein gleich grossen 4-Bit Fenster).


    Zitat


    - Möglichst wenig grosse Bilder oder besser mehrere kleine ?


    Wichtig ist, die Backgrounds zu optimieren, d.h. für wenigfarbige Bereiche in denen Text dargestellt wird, 4 oder weniger Bit, für kleine Bilder und Logos separate Bereiche mit 16 Bit.


    Blöderweise kann die DVB nur genau ein 8 Bit Fenster darstellen, d.h. wenn Du 256 Farben nutzen möchtest, musst du den gesamten Schirm als ein 8 Bit Fenster nutzen. Das einzige was Dir dann noch beim optimieren auf Geschwindigkeit hilft, ist die Tatsache dass VDR nur geänderte Bildbereiche an die Karte überträgt (deshalb ist die relativ kleine Animation im Hightech-Skin auch relativ schnell, wohingegen das Wechseln der Menüpunkte subjektiv schon lahmt).


    Zitat


    Gibt es eine Möglichkeit mit text2skin herauszufinden, wie lange für eine
    Anzeige benötigt wird ?


    make plugins-clean
    make DEBUG=1 plugins


    Wenn ich das nicht in einem Anflug von Größenwahn rausgenommen habe, zeigt er Dir dann auf der Konsole auf der VDR läuft regelmäßige Zeitmessungen an (in Millisekunden)


    Zitat


    Weiterhin habe ich festgestellt, dass in einigen Skins der Bereich in dem
    das image gezeichnet werden soll (x1,y1,x2,y2) teilweise größer definiert ist
    als das image von den Abmessungen her gross ist.


    Das liegt daran dass die Fenster genau 8-Bit aligned sein müssen. Konkret heisst das folgendes:
    Bei 8 Bit ist es egal
    Bei 4 Bit müssen Breite und Höhe durch 2 teilbar sein
    Bei 2 Bit müssen Breite und Höhe durch 4 teilbar sein
    Bei 1 Bit müssen Breite und Höhe durch 8 teilbar sein


    Zitat


    Kostet dies Performance ? Ich kann mir vorstellen, das der ARM-Prozessor
    auf der DVB-Karte nicht der schnelleste ist beim neuzeichen des OSDs....


    Der ARM zeichnet eigentlich nicht neu, er schafft nur die Bilddaten über den PCI-Bus in sein eigenes VideoRAM. Das Problem ist dass die Bandbreite fürs OSD (dadurch dass Video und Audio recht viel sind) sehr niedrig bemessen ist. Um das zu Verbessern müsste entweder der RAM der die Daten transportiert auf der DVB-Karte vergrößert werden, oder in die Firmware müsste jemand Kompression einbauen (komprimierte und dadurch kleinere Bilddaten könnten schneller zur DVB übertragen werden).


    Zitat


    Bin für jeden Hinweis dankbar....


    ...in aller Ausführlichkeit (hoffe ich) :D

  • @The Lord of Jaxom ;D


    Ma ne kleine zwischenfrage:


    Der AustrianCoder arbeitet ja an nem MPEG-OSD (zugegebener maßen nur für DXR3-Nutzer), wird es dafür auch noch was geben ?
    Ich meine damit das man dann doch auf diesen ganzen Background-Kram (für mich ziemlich kompliziert) verzichten kann, oder ?
    Man erstellt einfach per Textdatei das OSD und das wird vollfarben gerendert ...


    Also praktisch meine ich damit gibts dann ne ""einfache"" Möglichkeit nen Skin zu erstellen ...ohne diese ganzen "komplizierten" Farb und Rechenexempel.


    Oder gibt da eventl. mal ne kooperation zwischen euch beiden ?


    MFG
    Marco

  • mbc: Wenn jemand der die Firmware-Sourcen hat endlich mal RLE-Komprimierung fürs OSD einbauen würde (was die DxR3 übrigens mal nebenher schon immer konnte) wäre das auch bei DVB-Karten kein Problem mehr. Dann würd man halt einfach 256 Farben Vollbild machen und basta und man könnte frei zeichnen ohne Backgrounds und Boundaries :]

  • LordJaxom frag doch mal Klaus oder Werner (AC3Firmware), oder du unterschreibst eine NDA und kannst selber an der Firmware arbeiten.


    mbc:


    Das osd via ffmpeg wird es am Anfang nur fürs dxr3-plugin geben, da ich nur eine Budget DVB und eben eine Dxr3 habe. Zur Zeit ist das ffmpeg basierte Menü auf Eis, da das Dxr3-Plugin zur Zeit Vorrang hat. Viel würde für das fertigstellen von meinem Code net fehlen.


    Wenn aber alles stable läuft, würde ich gerne Klaus davon überzeugen, dass das mpeg OSD direkt in den VDR kommt :]

  • Hi,
    LordJaxom: Was genau bringt diese RLE-Komprimierung im Endeffekt?
    -mehr Farben?
    -geht damit auch ein Vollfarben-OSD in Vollbildgröße (bei ungemoddeten Karten)
    -schnellerer Bildaufbau?


    hab mal ein wenig gegoogelt, das Verfahren hört sich auf jeden Fall effektiv an.
    mfg maz

    Meine VDRs:
    >>>Mac mini 2010 mit 2x Sundtek SkyTV Ultimate III, Logitech Harmony 300i, yavdr-0.5a mit softhddevice<<< >>>ZOTAC D2550 ITX-WIFI Supreme mit DD Cine S2, Gehäuse OrigenAE M10, Logitech Harmony 300i, yavdr-0.5a mit softhddevice<<< >>>Raspberry Pi
    2 mit Sundtek SkyTV Ultimate IV, raspbian, rpihddevice-Plugin, Logitech Harmony 200<<<

  • maz


    rle = Run-Length Encoding


    Und hier ein kleiner Text was rle genau ist:


    Und sowas hat das DXR3-Plugin schon, damit man größere OSD's an die Karte schicken kann :)

  • maz:


    Was AustrianCoder schon ganz ausführlich erklärt hat hier nochmal im Schnelldurchlauf :)


    Mit RLE werden größere Flächen gestaucht, z.B. werden anstatt 200 weisse Bildpunkte die Information "200 mal weiss" übertragen. Das sind dann effektiv 2 Byte anstatt 200 Byte, ergo SpeedUp To The Max :]

  • Ok,
    soweit verstanden. Heißt das dann, das ich effektiv viel mehr Daten in den Cache bekomme? Dann würde das OSD ja auch deutlich mehr Farben bekommen könnnen als bisher, besonders bei Vollbild-Darstellungen. Oder kann das OSD ohnehin nicht so viele Farben im Vollbild darstellen, egal wieviel Platz noch im Cache ist?


    maz

    Meine VDRs:
    >>>Mac mini 2010 mit 2x Sundtek SkyTV Ultimate III, Logitech Harmony 300i, yavdr-0.5a mit softhddevice<<< >>>ZOTAC D2550 ITX-WIFI Supreme mit DD Cine S2, Gehäuse OrigenAE M10, Logitech Harmony 300i, yavdr-0.5a mit softhddevice<<< >>>Raspberry Pi
    2 mit Sundtek SkyTV Ultimate IV, raspbian, rpihddevice-Plugin, Logitech Harmony 200<<<

  • Durch RLE wird nur die Übertragung schneller, weil effektiv weniger Daten durch den lahmen DPRAM geschautfelt werden müssen.


    Der DSP packt das dann wieder aus (wenn es seine Firmware mal kann) und steckt es in den OSD-Speicher, da bleibts dabei: je nach "Vereinbarung" 1,2,4 oder 8 Bit pro Pixel.


    Kurz, mehr Speed, sonst nichts.

Jetzt mitmachen!

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