Beiträge von FireFly

    Diese Kombination wird im Moment nicht unterstützt.

    Stimmt, diesen Fall konnte ich mit keiner Einstellung hervorrufen, weshalb er nicht implementiert ist.


    Der folgende Patch stellt die bisherige Anzeige wieder her.

    skinelchihd-1.2.2-zimuland.diff.zip

    Dann wird aber auch das Datum dargestellt, was nicht gesetzt ist (und vermutlich bei Dir überschrieben wird weshalb es nicht auffällt).

    Wie kann ich das reproduzieren? Welche Einstellungen hast Du denn gesetzt, damit dieser Fall bei Dir auftritt? Nutzt Du die Event-Anzeige vom VDR oder von EPGSearch mit welchen Einstellungen in epgsearchmenu.conf ?

    Alle Zeichen, die die Bash interpretiert (z.B. ? und &) müssen escaped werden, also mit Backslash davor oder gleich den ganzen String in Anführungszeichen setzen, um die Bash vom Interpretieren abzuhalten.

    Warum alle curl Befehle aber im Hintergrund ausgeführt werden sollen (wegen des & am Ende) erschließt sich mir nicht (dauern die sooo lange?), außerdem verwirrt die zusätzliche Einrückung der curl-Befehle.

    Du meinst wir müssen den das nur mal mitteilen?

    Das wäre eine Idee, denn es macht keinen Sinn, dass ständig zwischen interlaced und progressive gewechselt wird, das gibt der DVB-Standard IMHO nicht her.
    Oder sie machen das absichtlich um progressive als 576i zu senden, aber auch dann hätte man eine Erklärung dafür.

    Leere Frames (die zum Segfault führen) deuten aber IMHO eher auf ein Problem beim Encoder hin.


    Edit: Lt. ITU Spec für H.262 (=MPEG2) unter "4.1.2 Coding interlaced video" geht das offenbar doch und kann von Frame zu Frame geändert werden :huh: je nachdem, ob mehr Details oder mehr Bewegung im Bild ist.

    Interessant, der Stream von Pro7 wird von ffmpeg auch als progressive erkannt, aber mit 25 fps ?!?


    Die Simpsons:

    Input #0, mpegts, from '00001.ts':
    Stream #0:0[0x1ff]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, progressive), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc

    Und der FrameParser des VDR erkennt aus dem DVB-Stream das MPEG2 als "720 x 576i 25,00 fps", also interlaced


    EDIT: Aber bei taff ist es dann doch wieder interlaced:

    Input #0, mpegts, from '00001.ts':                                                             

    Stream #0:0[0x1ff]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], 25

    fps, 25 tbr, 90k tbn, 50 tbc

    Evtl. ist das nur bei zugekauften Inhalten progressive ?


    Bei einer Aufnahme von Pro7 von 2011 sieht das so aus:

    Input #0, mpegts, from '00001.ts':

    Stream #0:0[0x1ff]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc


    Und bei RTL sieht es heute noch so aus:

    Input #0, mpegts, from '00001.ts':

    Stream #0:0[0xa3]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt470bg, top first), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc

    Ich hätte meine Frage anders formulieren sollen ;) :

    Was SOLL passieren? Soll es hochskaliert werden oder in der kleineren Größe mit Left() und Top() dargestellt werden?

    Nach meinen Verständnis legt der VDR das nicht fest sondern überlässt es dem Ausgabeplugin was (hardwaremäßig) möglich ist.

    Das Ausgabeplugin legt die OSD-Größe fest (z.B. dvbhddevice in dessen Setup-Menü) und der Skin kann die Größe mit cDevice::PrimaryDevice()->GetOsdSize(OSDWidth, OSDHeight, OSDAspect); abfragen.

    Wie groß das OSD dann tatsächlich lt. VDR-Setup sein soll (Ränder) bekommt man über OsdLeft(), OsdTop(), OsdWidth() und OsdHeight() aus der Klasse cOsd.

    Inwieweit die Skin-Verfahren für einen Browser passen kann ich aber nicht einschätzen.

    ... dazu müsste auch ein SoftwareScaling realisiert werden.

    ... das frage ich mich schon die ganze Zeit als stiller Mitleser in diesem Thread. Z.B. für die TT S2-6400 müsste das per Software realsisiert werden.


    Es gibt ja bereits die Möglichkeit über das Ausgabeplugin-Setup die OSD--Size zu definieren.

    So löst es das dvbhddevice für die S2-6400. Dort kann man (egal welche Auflösung das Bild hat) die OSD-Größe einstellen auf:

    - folge Auflösung

    - 1920x080

    - 1280x720

    - 1024x576

    - 720x576


    Ein API-Änderung würde wohl auch erst mit VDR 2.7 kommen

    Wo hast Du die Kanalliste für VLC her? Ist die aktuell? Stimmen für WDR die Frequenzen und anderen Parameter?

    Ich hab noch nichts mit dem VDR gemacht, weil wenn VLC kein Bild zeigt,

    Bei den anderen Sendern bekommst Du doch ein Bild, oder? Und der VDR-Support dürfte in diesem Forum wesentlich besser sein als der VLC-Support ;)

    Du musst in Zeile 37 das "int" vor "TextWidth = 0, ..." weglassen, weil damit neue lokale Variablen definiert werden (die danach nicht benutzt werden) und nicht die Membervariablen der Klasse initialisiert werden.


    Um am besten noch in dem enum ab Zeile 8 ein CT_NONE einführen und damit in Zeile 36 initialisieren anstatt mit CT_TEXT. Dann musst Du aber auch überall, wo ContentType geprüft wird, kontrollieren, dass er das nur die anderen CT_* bearbeitet.

    Es wurde wieder Zeit für eine neue Version: Jetzt werden EPG-Bilder im Hochformat unterstützt und SetItemEvent() ist implementiert. Da jetzt nicht mehr die Ausgabe von EPGsearch für die Programmanzeigen benutzt wird werden für Timer und VPS immer die Symbole angezeigt, aber wahrscheinlich wird niemand die Buchstabenanzeige wie R, T, i etc vermissen. ;)


    Download wie immer via https://github.com/FireFlyVDR/…ugin-skinelchihd/releases


    Happy compiling

    FireFly

    Jetzt, wo ich mir den Code anschaue: falls strlen(s) == 0 ist gibt es Probleme. Ev. kann man das in Zeile 645 mit prüfen:

    if (s && *s){ // symbol and progress bar detection

    Da GetTabbedText() IMHO aber nie einen leeren String zurück liefern kann, ist das nicht nötig.


    Hier sollte man eine Fehlermeldung ins syslog schreiben, wenn logoBaseDir / epgimageDir nicht groß genug für die vom Anwender übergebenen Strings sind. Und natürlich vor den Aufruf von DSYSLOG(...) die fehlende 0 schreiben ...

    Das scheint noch ganz alter Code von skinElchi zu sein, MaxFileName wird von VDR als deprecated bezeichnet. Wenn man das anfasst sollte man gleich einen dynamischen cString daraus machen....