(Audio-)Problem mit PVR350 - und die Lösung

  • Hallo,


    ich hatte unter yaVDR mit der PVR350 das Problem, das früher oder später das Recoding, das das PVR-Plugin macht, nicht mehr funktioniert hat. Es wurden ständig diese beiden Fehlermeldungen ins Syslog geschrieben:


    Code
    Sep  6 07:40:57 vdr vdr: [27206] pvr350: mpg123_decode() error: 'Error reading the stream. (code 18)'
    Sep  6 07:40:57 vdr vdr: [27206] pvr350: ConvertMP2Audio() - error decode audio


    Die Audio-Daten, die nicht rekodiert werden konnten, werden dann unverändert weitergeleitet, was dazu führt, dass bis auf das ZDF, wofür das PVR-Plugin das Ganze macht, alles läuft. Das ZDF ist so allerdings ungenießbar. Außerdem hatte ich gelegentlich Totalabstürze, siehe Absturz ohne Logs.


    Letzten Samstag habe ich mir die Audioprobleme näher angekuckt. Die Meldung "Code 18" kommt letztlich aus der read_frame-Methode von libmpg123. Die hat sich in neueren Versionen ziemlich geändert. Ich hab deshalb mal eine neue Version installiert, libmpg123-0_1.16.0-1ubuntu1_amd64.deb aus trusty.


    Der VDR läuft seitdem nicht nur ohne Rekodierungsfehler - sondern auch ohne Absturz! Bei sporadisch auftretenden Fehlern weiß man natürlich nie so genau, ob man sie gelöst hat, aber zumindest beim Rekodierungsfehler nehme ich das doch stark an. Zu den Abstürzen drücke ich mir einfach mal den Daumen.


    Ich finde es prima, dass yaVDR noch immer die PVR350 unterstützt - danke dafür! Ich vermute aber, dass ihr für eine vollständige Unterstützung eine neuere Version der libmpg123 einziehen solltet. Die Installation ging komplett ohne Probleme durch, es gab keine verletzten Abhängigkeiten.


    Ciao,
    Eike


    PS: Das PVR350-Plugin sollte vermutlich die Rekodierung neu initialisieren, wenn zu viele Fehler hintereinander aufgetreten sind.

  • Ich finde es prima, dass yaVDR noch immer die PVR350 unterstützt - danke dafür! Ich vermute aber, dass ihr für eine vollständige Unterstützung
    eine neuere Version der libmpg123 einziehen solltet. Die Installation ging komplett ohne Probleme durch, es gab keine verletzten Abhängigkeiten.


    Meine PVR350 liegt aktuell im Schrank - was wäre denn nötig, um das für yaVDR 0.5 zu fixen? Reicht es das Paket aus trusty ins yaVDR main PPA zu übernehmen oder müssen dann noch Programme und Plugins, die die libmpg123 nutzen, neu dagegen gebaut werden?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo,


    ich hoffe ja, dass das eine Paket reicht, aber ich weiß ehrlich gesagt nicht, wie man das sicherstellen könnte.
    Ich kann nur sagen, bei mir klappt's, und optimistisch macht mich das hier von der Homepage :
    "Let me emphasize that the policy for libmpg123 is to always stay backwards compatible -- only additions
    are planned (and it's not yet planned to change the plans;-)."



    Ciao,
    Eike


  • PS: Das PVR350-Plugin sollte vermutlich die Rekodierung neu initialisieren, wenn zu viele Fehler hintereinander aufgetreten sind.


    Evtl. hilft eine Änderung in pvr350device.c in bool cPvr350Device::ConvertMP2Audio:


    ca. ab Zeile 1245


    Code
    if (bytes_left < 0) {
                    log(pvrERROR, "pvr350: ConvertMP2Audio() - error decode audio");
                    delete m_MP2toMP2; //Test
                    return false;
            }


    Dies bewirkt, dass beim nächsten MP2-Audiopaket in PlayAudio() ein neuer cMP2toMP2()-Thread gestartet wird.


    Ich benutze das pvr350-Plugin nicht mehr und vieles ist bei mir miitlerweile in Vergessenheit geraten. Ob und welche unerwünschten Nebenwirkungen das haben kann, überblicke ich daher auf die Schnelle nicht. Ich habe es mal kurz mit dem Abspielen einer Aufnahme getestet, und es scheint zu funktionieren. Jedoch konnte ich diese mpeg123-Fehler bei mir nie reproduzieren und kann daher nicht testen, ob es im Fehlerfall hilft.


    Welchen Stand hast Du bei yavdr? stable oder testing? Kannst Du selbst ein Plugin kompilieren, d.h. Entwicklungswerkzeuge sind installiert?

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Zitat

    Dies bewirkt, dass beim nächsten MP2-Audiopaket in PlayAudio() ein neuer cMP2toMP2()-Thread gestartet wird.

    Ja, so eine Lösung hatte ich eigentlich gesucht, bis mir aufgefallen ist, dass unter E-Tobis VDR das Ganze mit demselben Plugin noch lief. So bin ich zu der für mich einfacheren Lösung gekommen.

    Welchen Stand hast Du bei yavdr? stable oder testing? Kannst Du selbst ein Plugin kompilieren, d.h. Entwicklungswerkzeuge sind installiert?

    Ich hab yavdr-stable. Ich könnte da auch sicherlich was ausprobieren, aber das Doofe ist, sporadische Abstürze wirken sich ziemlich negativ auf den WAF aus, und ich würd's jetzt gern erstmal unangetastet lassen, wo es gerade läuft. Der Fehler trat ja auch nur alle paar Tage mal auf, ich kann's also nicht mal eben an einem Tag testen...

  • Hallo nochmal!

    Der VDR läuft seitdem nicht nur ohne Rekodierungsfehler - sondern auch ohne Absturz! Bei sporadisch auftretenden Fehlern weiß man natürlich nie so genau, ob man sie gelöst hat, aber zumindest beim Rekodierungsfehler nehme ich das doch stark an. Zu den Abstürzen drücke ich mir einfach mal den Daumen.

    Nachdem es jetzt eine weitere Woche ohne Absturz lief, würde ich tatsächlich darauf tippen, dass der Rekodierungsfehler
    auf Dauer auch den Rechner in die Knie zwingt.


    Zuerst hatte ich offensichtlich einen Hardwarefehler im Mainboard, dann diese Abstürze - und jetzt nach vielen Wochen
    endlich wieder einen durchlaufenden VDR...!


    Ciao,
    Eike

  • Eine Übernahme des trusty-Pakets scheint dann ja vielleicht wirklich zu reichen.
    Und da sonst nicht viel davon abhängt und die libmpg123-Leute vielleicht ja auch wirklich einen guten Job bzgl. Abwärtskompatibilität machen, sehe ich nicht viele Gründe, das zu übernehmen.


    Lars.

Jetzt mitmachen!

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