Kodi 19 und pvdr-vnsi Probleme

  • Hallo,


    schon geraume Zeit bin ich am basteln mit Kodi 19 und vdr-vnsi.


    Plattform PC(x86_64) mit Fedora33, Kodi 19 aus rpmfusion. kodi-pvdr-vdr-vnsi ebenfalls (8.2.2-1). Vdr läuft auf einem Odroid C2 unter archlinux. Vdr und vnsiserver plugin selbst compiliert (das vnsiserver Plugin aus https://github.com/mdre77/vdr-plugin-vnsiserver).


    Problem 1: Beim Abspielen von live TV crasht Kodi. Das kriege ich gelöst wenn ich das kodi-pvdr-vdr-vnsi von Hand baue und in InputstreamDemux.cpp alle Referencen

    "props->SetLanguage(language);" auskommentiere. Dann klappt das abspielen von TV wieder.


    Frage: Bin ich der einzige der das Problem hat? Was sollte die Sequenz "props->SetLanguage(language);" eigentlich bewirken? Wie bekommen wir das so gefixt dass ich nicht immer eine lokale gepatchte Version benötige?


    Problem 2: Die Abspielpositionen der Aufnamen aus dem Vdr gehen beim Neustart von Kodi verloren. Solange die Kodi Instanz läuft ist alles gut (wenn ich ein video starte werde ich gefragt, ob ich an der letzten Abspielposition weitermachen will). Nach dem Kodi frisch gestartet ist, ist diese Information nicht mehr vorhanden und die Videos werden von Anfang an abgespielt. Für Videos die nicht über das pvr plugin kommen klappt aber alles!


    Frage: Wo wird das gespeichert? Wo könnte ich suchen? Der Kodi Source-Code ist ja dann noch schon etwas ausladender ...


    Grüße

    Michael

  • Hi,

    Da scheint Kodi nur Leserechte zu haben auf die Aufnahme. Kann das sein?

    Anderer User unter Kodi wie Vdr?

    Mfg Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • "Kodi nur Leserechte" ... wie würde das funktionieren? Kodi redet ja über vnsi mit vdr. Dann müsste doch der vdr user (auf dem Server) der Relevante sein. Der passt. Der Benutzer is Owner von /video und allem was darunter liegt. Als vdr user kann ich ohne Problem auf dem vdr Server file anlegen/ändern/löschen.


    Wird der State in Kodi (also auf dem Client) oder beim vdr Server verwaltet/gespeichert?


    Gruß Michael

  • Ich hab Kodi unter Arch laufen. PVR-Addon auch selber kompiliert aber gänzlich ohne Patches. Und da crasht nix. Der Umstieg von Kodi 18 auf 19 war erfreulich unauffällig. Für Amazon Prime musste ich ein neues Repository einbinden und mein Graphlcd-Addon brauchte noch einen kleinen Fix damit Kodi 19 es als "kompatibel" erkennt. Aber alles in allem hatte ich nach ner knappen halben Stunde die gewohnte Umgebung wieder.

  • Leider tut das Plugin-vdr-recordings unter Kodi19 nicht mehr. Gibt es da Entwickler, die sich "opfern" wollen?

    Danke übrigens für die Anpassung des vdrnfofs :)

  • Gibt es da Entwickler, die sich "opfern" wollen?

    Reicht es da nicht die README genauer zu lesen?

    Kodi 19 (and newer Kodi versions): Use the github functionality to create a zip from this repository.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hi,


    Leider tut das Plugin-vdr-recordings unter Kodi19 nicht mehr.

    Siehe -> https://github.com/MarkusEh/pl…tree/master/resources/lib


    Gruss

    Wolfgang

    TT S2-6400 - saa716x kompilieren unter 20.04(Focal)

  • Problem 1: Beim Abspielen von live TV crasht Kodi. Das kriege ich gelöst wenn ich das kodi-pvdr-vdr-vnsi von Hand baue und in InputstreamDemux.cpp alle Referencen

    "props->SetLanguage(language);" auskommentiere. Dann klappt das abspielen von TV wieder.

    Hab hier dasselbe Problem (Kodi und kodi-pvdr-vdr-vnsi auf fedora 33, vdr ebenfalls auf einem PC mit fedora 33, x86_64), und Dein Workaround funktioniert hier ebenfalls. Danke schön.


    Gruß,

    Achim

  • Nachtrag: Habe gerade mal das Plugin "vdr-recordings" ausprobiert. Damit klappt die Speicherung der Position der Aufzeichnungen. Leider ist das für mich kein Weg, das ja der vdr auf einem anderen Server (Odroid-C - also ARM64 - unter ArchLinux) läuft als die Clients. Mal Fedora PC - da würde das noch gehen, da lässt sich das Video Verzeichnis über NFS mounten - aber auch Tablets und Android 9/10 und da wird das dann schon schwieriger. Die Aufnahmen abzuspielen klappt ja aber eigentlich auch ganz gut mit dem vnsi plugin. ... nur halt - nicht mehr - die dauerhafte Speicherung der Abspielposition.


    Btw. wie funktioinert die Speicherung der Postion denn hier? Ist das auf der Kodi Seite (meinte ich fast, da in der Vergangenheit die Abspielpositionen pro Client unterschiedlich waren) oder am vdr selbst? Wenn auf der Kodi Seite im vnsi Plugin oder im Core?


    Gruß

    Michael

  • Kriege trotzdem die Fehlermeldung, auch wenn ich master.zip über addons installieren will:

    "Die Abhängigkeit auf xbmc.python in Version 2.2.5 ...."

    (Auf Manjaro hier).

  • Hi wmautor,


    in der addon.xml steht

    <import addon="xbmc.python" version="3.0.0"/>

    Deine Fehlermeldung deutet auf eine veraltete addon.xml hin. Verwende mal den aktuellen Stand im git, also du gehst auf

    https://github.com/MarkusEh/plugin.video.vdr.recordings und wählst dann Code -> Download ZIP.


    ~ Markus

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

  • Hi,


    Kriege trotzdem die Fehlermeldung, auch wenn ich master.zip über addons installieren will:

    "Die Abhängigkeit auf xbmc.python in Version 2.2.5

    das liegt an der Version 0.3.6

    Code
    1. <addon id="plugin.video.vdr.recordings" name="VDR Recordings" version="0.3.6" provider-name="Markus Ehrnsperger">
    2. <requires>
    3. <import addon="xbmc.python" version="2.25.0"/>
    4. </requires>

    wenn ich mir den Commit anschaue passt es

    https://github.com/MarkusEh/pl…b25bd237fde7125421652d9b3


    Gruss

    Wolfgang

    TT S2-6400 - saa716x kompilieren unter 20.04(Focal)

  • Nochmal zum Punkt "Die Abspielpositionen der Aufnamen aus dem Vdr (via vnsi) gehen beim Neustart von Kodi verloren"


    Hier habe ich inzwischen weitere Tests gemacht.


    Ergebnis das Problem taucht NUR mit kodi 19 auf. Dort habe ich unter Fedora 33, Archlinux und Android 9 getestet. (immer gegen den gleichen vdr und mit dem kodi-pvr-vdr-vnsi plugin 8.2.2)

    Wenn ich ein Kodi 18 benutze (unter Ubuntu getestet und wieder gegen den selben vdr. Plugin ist dann Version 3.64) dann werden die Abspielpositionen auch über einen Restart von Kodi hinaus gespeichert. Also alles o.k.


    Scheint also auf der Kod / vnsi-plugin Seite zu sein und ein spezifisches Kodi 19 Thema.


    Bin ich der einzige bei dem das so ist?


    Gruß

    Michael

  • Hi,

    Bin ich er einzige bei dem das so ist?

    gleiches Verhalten auch hier.

    Es liegt an kodi-pvr-vdr-vnsi,da beim abspielen einer Aufnahme über SMB

    gefragt wird ob man die Aufnahme an der gleichen Stelle fortsetzen will.

    Problem sollte auf github gemeldet werden.


    Gruss

    Wolfgang

    TT S2-6400 - saa716x kompilieren unter 20.04(Focal)

  • .. und noch ein Nachtrag:


    Für das erste Problem "Beim Abspielen von live TV crasht Kodi. " hab ich auch noch einen weniger invasiven Workaround gefunden.

    Hintergrund: Ich bekomme für die Subtitles "codecId.GetCodecType() == PVR_CODEC_TYPE_SUBTITLE" nach dem validen Wert noch einen Weiteren mit composition _id and ancillary_id = 0xffff und language=NULL. Dieser Record verursacht dann beim Aufruf "props.SetLanguage(language) den Crash.


    Warum dieser zweite Record kommt verstehe ich nicht. Aber der Workaround im Patch oben umgeht das temorär für mich.


    Vielleicht versteht da ja jemand mehr davon und findet einen Fix und kein Workaround ...


    Gruß

    Michael

  • Eine Kleinigkeit, die mir aufgefallen ist: Sicher, dass strlen von language gut geht, wenn language ein nullptr ist? Ich würde eher language && *language schreibe.

    Reelbox Avantgarde II, 2GB, Turion X2 (TL-66), Kingston SSD (64GB)
    BM2LTS 2.95.1 RC10

    Raspi 3, Libreelec 9.2.6

    QNAP TS 412

    DigibitR1

    Zyxel GS1900-24E

    Supermicro X11-SCL-IF, Xeon E2176, 32GB, 500GM SSD, 8TB HDD, Ubuntu 20.10, TVHeadend 4.3

  • Quote

    Eine Kleinigkeit, die mir aufgefallen ist: Sicher, dass strlen von language gut geht, wenn language ein nullptr ist? Ich würde eher language && *language schreibe.

    C-technisch sicher richtig. Allerdings scheine ich mich mißverständlich ausgedrückt zu haben. Ist wohl kein NULL Pointer, sondern ein Zeiger auf einen leeren String den ich mit "const char* language = resp->extract_String();" zurückbekomme. Der Workaraund verhindert bei mir zuverlässig den crash.


    Aber ich sehe das eh nicht als Lösung an. Die Frage ist warum kommt überhaupt in cVNSIDemux::StreamChange der zweite Aufrunf mit codecID PVR_CODEC_TYPE_SUBTITLE und den fehlenden Werten für lanuage, composition_id und ancillary_id. Und das verstehe ich noch nicht.


    Ach ja, und dieser Art des crashes taucht bei mir auch nur auf dem System mit Kodi unter Fedora 33 (x86_64 - AMD Ryzen X3700, 64GB) auf und nicht unter Android oder in einer VM mit Archlinux ...

  • Für die nicht persistenten Playbackpositionen habe ich eben im Kodi Repository folgenden commit gefunden:


    https://github.com/xbmc/xbmc/pull/19450


    Sieht also nach einer Rrgression in Kodi selbst (und nicht im vnsi Plugin) aus.


    Ich bau das mal mit dem Patch zusammen und berichte dann ob das das Problem löst.


    Gruß

    Michael


    Nachtrag: Hab gerade mal ein Kodi mit dem Patch für mein Desktop System gebaut. (X86_64, Fedora 33) und kann bestätigen dass der Patch nun dazu führt, dass wie bei Kodi 18 die Playposition der VDR Aufnahmen auch über einen Kodi restart erhalten bleibt.

  • Danke für die Rückmeldung. Hab gerade mal mein Issue gegen das Kodi-Addon zugemacht.


    Ich frage mich ja wie tvheadend das dann gelöst hätte. Syncen die den Wiedergabefortschritt wirklich zum Server? Ist das dann wenigstens optional? Nicht jeder Client wird zwangsläufig von der gleichen Person genutzt. Voneinander abweichende Wiedergabefortschritte sind also gar nicht mal so unpraktisch.


    Ich hab weder Zeit noch Lust mir Kodi selber zu patchen. Ich warte auf Kodi 19.1 welcher den Fix haben wird.