Gstreamer: Schlechte Audioqualität beim Abspielen von webradio

  • Hallo,


    ich möchte eine Qt-Anwendung (c++) schreiben, die auf einem Rpi3 u.A. webradio streams abspielt.


    QMultimedia verwendet gstreamer als Unterbau für das Abspielen von Inhalten. Beim ersten Versuch die Anwendung am Rpi3 laufen zu lassen ist mir eine grauenvolle Audioqualität entgegen geflogen.


    ich habe dann versucht direkt auf der command line am rpi3 den Stream abzuspielen, um zu sehen, ob das Verhalten ohne Qt reproduzierbar ist. Und es ist (siehe datei 'gstreamer_bad.m4a' im angehängten recordings.zip).
    Mein command:

    gst-launch-1.0 -v playbin uri=http://s10-webradio.rockantenne.de/rockantenne


    Wenn ich den Stream via vlc abspiele ist die Qualität OK. (siehe 'vlc_ok.m4a' im angehängten recordings.zip')

    cvlc http://s10-webradio.rockantenne.de/rockantenne


    Auf meinem Dev-PC funktioniert gstreamer (mit Qt) einwandfrei.



    Ich bin nun nicht sehr bewandert mit gstreamer. Vielleicht kann mir jemand von euch helfen.


    UPDATE 2021-03-10 14:00: gstreamer log angehängt

  • Ok,
    ich hab jetzt folgendes gemacht (mit dem Ergebnis, dass es nun deutlich besser funktioniert. Ein paar Stocker sind noch drin)


    ich wollte gstreamer generell neu bauen (anleitung https://github.com/cxphong/Build-gstreamer-Raspberry-Pi-3)

    dieses script ist aber schon etwas alt, da gstreamer nun meson/ninja zum Bauen verwendet, das script aber nocht ein autogen.sh erwartet.

    Zu diesem Zeitpunkt habe ich aber die gstreamer-Pakete bereist entfernt.

    Code
    sudo apt-get remove gstreamer1.0
    sudo apt-get remove gstreamer-1.0

    Auf der Suche nach einem neueren Script (

    External Content gist.github.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.
    ) bin ich über einen Fehler gestolpert den meson ausgibt.


    Code
     Meson encountered an error in file meson_options.txt, line 20, column 0: unknown type feature

    Ein Foreneintrag auf raspberrypi.org meinte, dass das meson in raspbian strech zu alt ist -> upgrade auf buster empfohlen.

    Also upgrade: (Anleitung https://pimylifeup.com/upgrade…retch-to-raspbian-buster/)


    Dort wird der Schritt empfohlen die raspberry pi firmware zu aktualisieren -> sudo rpi-upgrade


    Gemacht. Während der Ausführung denke ich so: " Moment, ein kernel update usw. könnte ja auch schon helfen". Daraufhin hab ich die "mitgelieferten" gstreamer-pakete neu installiert.


    Reboot


    gst-launch-1.0 etc.


    und siehe da, der Stream wird einigermaßen ordentlich abgespielt, bis auf kleineres stocken hie und da.

    Ich werde aber nun dennoch auf buster upgraden in der Hoffnung, dass es irgendwo die ensprechenden Verbesserungen gibt, damit die Stocker auch noch weggehen.


    Aber was jetzt genau geholfen hat, kann ich nicht sagen. War es das Firmware upgrade? Die Neuinstallationvon gstreamer? Beides?


    UPDATE:

    Nach dem upgrade auf buster funktionert der Stream nun ruckelfrei.

    Edited 3 times, last by GeraldAT ().