Beiträge von FireFly

    Funktioniert das Plugin bei Dir/Euch fehlerfrei? Nachdem ich es vor längerer Zeit mal installiert hatte, hat es an den unterschiedlichsten Stellen in anderen Plugins Seg Faults gegeben, weshalb ich es wieder deinstalliert habe (und der VDR dann wieder problemlos lief).

    Einige Sachen funktionieren auch gar nicht wie das "VACCUM" von sqlite oder es löscht Bilder für demnächst anstehende Sendungen weil sie n Tage nach dem Runterladen gelöscht werden und holt sie erst beim nächsten Update wieder.

    Ok, damit konnte ich es nachvollziehen und habe Deinen Patch übernommen. Das hat wohl im ersten Anlauf funktioniert, aber dann habe ich drei ähnliche Codeblöcke zusammengefasst und mich dummerweise nach der Beschreibung von SetItemEvent() gerichtet, die für WithDate nicht korrekt ist. Da das Event-Menü von EPGsearch das WithDate aber richtig setzt, ist es wohl (nicht nur mir) bisher nicht aufgefallen.


    Download wie immer via https://github.com/FireFlyVDR/…chihd/releases/tag/v1.2.3

    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.