[softhddevice-drm]

  • Der Stream kommt von einem streamdev-server. CPU Takt kann ich nicht sagen... Ich habe eine standard Kernel-Config und ich hab es noch nicht geschafft, dass ich /sys/devices/system/cpu/cpu0/cpufreq

    auslesen kann, da ich das nicht habe... Aber ich würde mal bezweifeln, dass er so langsam taktet, dass die Pakete nicht verarbeitet werden...


  • Unabhängig davon sollte es aber doch nicht gleich den ganzen VDR zerschießen...

    Möglicherweise liegt das Problem aber auch direkt bei ffmpeg.

    FFmpeg gibt lediglich das Abort Signal. Das zerschiesst doch nix. Es wird halt alles beendet.


    Ich hab mein defektes H3 raus geholt und fest gestellt das nach längerer Laufzeit (> 1h) auf einmal keine Daten mehr von vdr kommen. PlayVideo() und PlayAudio() wird nicht mehr aufgerufen. Das betrifft auch progressive Videos. Man muss nur lang genug warten und bei Senderwechsel scheint die Wartezeit zurück gesetzt zu werden. Am hw Deinterlacer liegt das nicht. Warum weiss ich nicht. Das Problem gibt es nur auf H3. H5 und rk3399 laufen Problemlos. Kannst Du das bestätigen oder ist das nur bei meinem kaputten Board so?


    Kleine Veränderungen hab ich im git. Damit scheint es länger zu dauern das keine Daten mehr kommen.


    Gruß

    zille

  • Warum keine Daten da sind, weiß ich (noch) nicht.

    Hab da mal weiter geforscht. Kommt das Material aus einem Stream (DVB oder Internet) läuft der Speicher nach einer Weile leer. Kommen die Daten von der Platte, sind zeitunabhängig verfügbar, passiert das nicht. Ich habe eine 6h lange Aufnahme getestet und nix ist passiert. Meine aktuelle Theorie ist das der Timer bissel zu schnell läuft, die Daten zu schnell verarbeitet werden und der Stream nicht nach kommt. Das kann ich aber nicht testen. Auf Rockchip gibt es das Problem auch nicht.

  • Hast du das mit aktiviertem HW-Deinterlacer getestet? Wie lange ist in etwa "nach einer Weile"?

    Ich konnte den Crash ohne Deinterlacer bisher nicht reproduzieren. VDR läuft mit stremdev-client allerdings erst ca. 3h - ohne Umschalten.

    Mit Deinterlacer hat er gestern wieder gecrasht. Ich versuch, das wieder hinzukriegen und poste dann die Logs. iirc war das aber eine andere Fehlermeldung als beim ersten Mal.

    Wenn etwas zu schnell "weggearbeitet" wird, müsste man eigentlich doch nur warten ohne dass gleich VDR beendet wird? Oder stelle ich mir das zu einfach vor?

    Wenn ich für dich was testen soll, sag bitte Bescheid.


    Gruß

    Andreas

  • Hast du das mit aktiviertem HW-Deinterlacer getestet?

    Ja, ein Tag Rotlichtbestrahlung.:O

    Wie lange ist in etwa "nach einer Weile"?

    Das hängt vom Bufferstand beim Start ab. Der ist abhängig vom Threshold der Soundkarte. Im Buffer sind beim Start mindestens 600ms. Dann kommt die Frage wann der Buffer aufgebraucht ist. Kann also keiner sagen.

    Mit Deinterlacer hat er gestern wieder gecrasht.

    Das sollte seid dem Commit eigentlich nicht mehr passieren! Audio und Videothread sollten anhalten und bei gefülltem Buffer die Wiedergabe wieder starten.

    Wenn ich für dich was testen soll, sag bitte Bescheid.

    Hinweise sind immer willkommen!

  • Habe jetzt mal ca. 8h am Stück mit Deinterlacer laufen lassen: https://pastebin.com/raw/s8FMZaQi

    Bis auf ALSA, das sich immer mal wieder beschwert, sehe ich nichts Verdächtiges...


    Gruß

    Andreas

  • Bis auf ALSA, das sich immer mal wieder beschwert, sehe ich nichts Verdächtiges...

    Schön! Das der Buffer leer läuft kann ich leider nicht beeinflussen. Ich denke das die Clocks bei Allwinner H3 und H5 ein wenig zu schnell laufen. Wenn Du das ganze mit einer Aufnahme machst sollten die Alsameldungen auch weg sein.


    Gruss

    zille

  • Hallo,


    ich habe nach langer Zeit mal wieder meinen Banana Pi ausgepackt, Gentoo installiert und als Streaming-Server eingerichtet. Bei der Suche nach einem geeigneten Ausgabeplugin bin ich auf softhddevice-drm gestoßen. Leider stürzt mein VDR nach dem Laden des Plugins ab. Mit aktiviertem Debugging, sehe ich folgende Meldungen im Log:



    zillerbaer : Hast Du eine Idee, woran das liegen könnte?


    Die Lima, sun4i-drm und Cedrus-Treiber habe ich im Kernel drin. libdrm und mesa mit Lima-Treiber sind installiert. Die Grafikausgabe habe ich mit kmscube getestet und funktioniert.

    Benötige ich auch noch libva-v4l2-request für das Plugin? Hier im Thread ist auch noch die Rede von einer gepatchten ffmpeg-Version sowie einem Kernelpatch. Davon steht auf der Github-Seite nichts. Falls ich das auch noch vorausgesetzt wird, gibt es auch Patches für ffmpeg-4.2.4, die ich in Gentoo integrieren kann?

  • Leider stürzt mein VDR nach dem Laden des Plugins ab.

    VDR stürzt nicht ab, es wird beendet da der drm Treiber nicht sauber initialisiert wurde. Es kann kein OSD mit der Höhe 0 und der Breite 0 angelegt werden. Da hilft nur ein Reboot. Man kann das schon beim booten an der Auflösung sehen.

    libva-v4l2-request für das Plugin?

    Nein, nur diese FFmpeg Version von Jernej. Als Patch gibt es das bei LE. Für ffmpeg wird v4l2-request und im Kernel 5.8 der cedrus-improvements.patch benötigt. Das wir hoffentlich bald in mainline integriert.


    Gruß

    zille

  • VDR stürzt nicht ab, es wird beendet da der drm Treiber nicht sauber initialisiert wurde. Es kann kein OSD mit der Höhe 0 und der Breite 0 angelegt werden. Da hilft nur ein Reboot. Man kann das schon beim booten an der Auflösung sehen.

    Danke. Ich hatte softhddevice.Osd.Width und softhddevice.Osd.Height nicht in /etc/vdr/setup.conf eingetragen. Das habe ich korrigiert, hat aber leider nichts gebracht. Ebensowenig ein Reboot.


    Den letzten Satz verstehe ich nicht ganz. Die Auflösung der Konsole per HDMI ist normal. Allerdings sehe ich keine Bootmeldungen beim Laden des Kernels, nur einen blinkenden Cursor.


    Ich habe aktuell den sun4i-drm und den Lima-Treiber im Kernel aktiviert. Liegt hier evtl. das Problem?


    Danke auch für den Verweis auf die notwendigen Patches. Der ffmpeg-Patch lässt sich leider nicht einfach auf Version 4.2.4 anwenden. Das versuche ich zu fixen.

  • Ich hatte softhddevice.Osd.Width und softhddevice.Osd.Height nicht in /etc/vdr/setup.conf eingetragen.

    Da braucht nix zu stehen. Es wird nach der Mode 1920x1080 50p gesucht und genutzt. Fehlt diese Mode kann kein OSD erstellt werden und vdr wird beendet. Es werden im Fehlerfall auch Meldungen auf der Konsole ausgegeben. Kannst Du die mal posten?

    Ich habe aktuell den sun4i-drm und den Lima-Treiber im Kernel aktiviert.

    Das ist kein Problem. FindDevice() sucht das richtige Device.

  • Da braucht nix zu stehen. Es wird nach der Mode 1920x1080 50p gesucht und genutzt. Fehlt diese Mode kann kein OSD erstellt werden und vdr wird beendet. Es werden im Fehlerfall auch Meldungen auf der Konsole ausgegeben. Kannst Du die mal posten?

    Ich habe den Banana Pi momentan an einem Monitor mit einer Auflösung von 1920x1200@60Hz hängen. Liegt hier das Problem?


    Auf der Konsole sehe ich keine Meldungen. Ich starte den VDR über die Init-Skripte von Gentoo. Beim manuellen Start kommen folgende Meldungen:


  • Ich habe den Banana Pi momentan an einem Monitor mit einer Auflösung von 1920x1200@60Hz hängen. Liegt hier das Problem?

    Ja, stöpsel das BananaPi doch mal an einen TV.


    Edit: Eine 60Hz Mode einzubinden, darüber habe ich schon nachgedacht. Über den Mediaplayer kommen einige Sachen die 30fps haben. Das hat aber momentan eine niedrige Prio. Wichtiger ist mir momentan den Mediaplayer um einen Playlist support zu erweitern.

  • Es gibt noch eine Möglichkeit. Du kannst in der Zeile die 50 durch 60 ersetzen. Dann muss aller 16 ms statt aller 20 ms ein Bild dargestellt werden. Ich hoffe der H3 schafft das. Das Bild wird auch ein bissel ruckeln da einige Bilder doppelt angezeigt werden.

    Danke. Wenn ich dort 1920x1200 und 60Hz eintrage, startet der VDR auch, wenn der Banana Pi an meinem Monitor hängt. Das OSD funktioniert einwandfrei, das Fernsehbild (DVB-T2) ruckelt aber und zeigt nur einen Teil des Bildes. Um auszuschließen, dass es am Empfang liegt, habe ich den Banana Pi an meinen Fernseher gehängt und wieder das unmodifizierte Plugin verwendet.

    Dort sehe ich nur Artefakte und der VDR crasht nach wenigen Sekunden. Hier die letzten Logmeldungen:


    Ich verwende den allerersten Banana Pi (M1). Ist der für die Wiedergabe nicht geeignet?

  • Wieviel Speicher hast du für CMA reserviert?


    Gruß Andreas

  • H265 kann der A20 nicht und der HW Deinterlacer ist nicht implementiert. Die MPEG und H264 Sender sollten trotzdem laufen. Das Cubieboard2 schaffte das bei mir damals locker. Mit libvdpau aber noch.