Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

VLC, PulseAudio ständig wechselndes Resampling abgewöhnen

31 views
Skip to first unread message

Marcel Mueller

unread,
Sep 5, 2022, 7:36:57 AM9/5/22
to
Hi!

Ich habe hier seit einiger Zeit das Problem, dass die Audiowiedergabe
mit VLC hörbar eiert. Offenkundig fühlt sich PulseAudio genötigt, die
Samplingrate dynamisch zu verändern. In VLC log finden sich passen dazu
Meldungen wie
> main warning: playback too early (-41126): down-sampling
> main debug: resampling stopped (drift: -8697 us)

Das ist natürlich totaler Müll, dann fast einen Halbton an der
Samplingrate zu drehen.

Ich habe aber nicht herausgefunden, wie man das abstellt.
avoid-resampling = true habe ich schon drin stehen. Aber das bezieht
sich wohl eher auf 44,1kHz->48kHz Resampling.

Das ganze ist unter Ubuntu 20.04.
Früher ist mir das nicht aufgefallen, erst die letzten Wochen - gleiche
Software (vorbehaltlich der automatischen Updates).

Irgendeine Idee, wie man das abstellt?


Marcel

Marcel Mueller

unread,
Sep 6, 2022, 4:13:10 PM9/6/22
to
Am 05.09.22 um 13:36 schrieb Marcel Mueller:
> Ich habe hier seit einiger Zeit das Problem, dass die Audiowiedergabe
> mit VLC hörbar eiert. Offenkundig fühlt sich PulseAudio genötigt, die
> Samplingrate dynamisch zu verändern. In VLC log finden sich passen dazu
> Meldungen wie
>> main warning: playback too early (-41126): down-sampling
>> main debug: resampling stopped (drift: -8697 us)

> Früher ist mir das nicht aufgefallen, erst die letzten Wochen - gleiche
> Software (vorbehaltlich der automatischen Updates).

Ich glaube eine Lösung gefunden zu haben:
In VLC die erweiterten Audio-Einstellungen aktivieren und dann bei
"Audioresampler" statt "automatisch" (Voreinstellung) "deaktiviert"
auswählen.

Zumindest habe ich den Effekt seither nicht mehr bemerkt.
Warum das auf einmal Amok läuft, weiß ich aber immer noch nicht. Auf
jeden Fall ist es eine gute Idee, wenn VLC nicht an der Samplingrate
nicht herumpfuscht. Keine Ahnung, was dieses Resampling im Player jemals
sinnvolles bewirken sollte.


Marcel

Enrik Berkhan

unread,
Sep 7, 2022, 1:53:05 AM9/7/22
to
Marcel Mueller <news.5...@spamgourmet.org> wrote:
> Zumindest habe ich den Effekt seither nicht mehr bemerkt.
> Warum das auf einmal Amok läuft, weiß ich aber immer noch nicht. Auf
> jeden Fall ist es eine gute Idee, wenn VLC nicht an der Samplingrate
> nicht herumpfuscht. Keine Ahnung, was dieses Resampling im Player jemals
> sinnvolles bewirken sollte.

Das dürfte für den Fall (Normalfall vor ein paar Jahren?) gedacht sein,
dass VLC mehr oder weniger direkt auf ein Hardwaredevice abspielt. Die
haben in der Regel keine 100% exakte Samplingrate. Wenn man da keine
ASRC als Feinkorrektur macht, dann laufen bei Videos irgendwann Ton und
Bild asynchron.

Wenn die Audioausgabe aber über einen Daemon läuft, der seinerseits
ähnliches tut, dann kann das u.U. wohl ins Schwingen geraten. Insofern
sollte deine Gegenmaßnahme das Richtige[TM] bewirken.

Eine andere (eher unwahrscheinliche) Möglichkeit ist, dass irgendwo eine
andere Samplingrate gemeldet wird, als tatsächlich verwendet wird.

Das ist jetzt allerdings alles Spekulation, ich habe nirgends tiefer
reingeschaut.

Gruß,
Enrik

Marcel Mueller

unread,
Sep 7, 2022, 5:37:35 AM9/7/22
to
Am 07.09.22 um 07:38 schrieb Enrik Berkhan:
> Marcel Mueller <news.5...@spamgourmet.org> wrote:
>> Zumindest habe ich den Effekt seither nicht mehr bemerkt.
>> Warum das auf einmal Amok läuft, weiß ich aber immer noch nicht. Auf
>> jeden Fall ist es eine gute Idee, wenn VLC nicht an der Samplingrate
>> nicht herumpfuscht. Keine Ahnung, was dieses Resampling im Player jemals
>> sinnvolles bewirken sollte.
>
> Das dürfte für den Fall (Normalfall vor ein paar Jahren?) gedacht sein,
> dass VLC mehr oder weniger direkt auf ein Hardwaredevice abspielt. Die
> haben in der Regel keine 100% exakte Samplingrate.

Das habe sie heute auch nicht und werden sie auch nie haben, denn
Bauteile ohne Toleranz gibt es nicht.

> Wenn man da keine
> ASRC als Feinkorrektur macht, dann laufen bei Videos irgendwann Ton und
> Bild asynchron.

Genau das wiederum passiert nicht, da wirklich jeder auch nur halbwegs
brauchbare Videoplayer das Bild nach dem Ton synchronisiert.

Allerdings kann das Problem auftreten, wenn man eine Live-Quelle
abspielt, die einen anderen physischen Schwingquarz als Zeitbasis hat,
also z.B. eine Internet-Stream oder eine Audiosignal, dass man
blöderweise digital per S/P-DIF einspeist. Dann können die Quelle und
Ziel mit der Zeit auseinander driften.
Aber wenn man so ein Problem hat, korrigiert man die Frequenz _ein
bisschen_ und nicht um fast einen Halbton, so dass die Wiedergabe eiert.
Die Quarz-Toleranzen bewegen sich üblicherweise in der Größenordnung
100ppm und weniger. Das würde niemand hören.


> Wenn die Audioausgabe aber über einen Daemon läuft, der seinerseits
> ähnliches tut, dann kann das u.U. wohl ins Schwingen geraten. Insofern
> sollte deine Gegenmaßnahme das Richtige[TM] bewirken.

Hmm, wäre möglich.

> Eine andere (eher unwahrscheinliche) Möglichkeit ist, dass irgendwo eine
> andere Samplingrate gemeldet wird, als tatsächlich verwendet wird.

Laut Debug-Logs (VLC und PA) passt das alles. Das meiste Material sind
CD-RIPs mit 44,1 kHz. Und auf der Frequenz läuft auch das ALSA-Device,
solange PulseAudio keine Streams mischen muss.

Ich hatte eigentlich eher PulseAudio im Verdacht, zumal ich da noch per
module-ladspa Filter für Digital Room Correction in der Pipeline habe.
Aber das scheint hier unbeteiligt zu sein. Der Fehler trat auch ohne das
Modul auf.
Die direkte Wiedergabe von VLC auf ALSA habe ich aber nicht getestet.


Marcel

Enrik Berkhan

unread,
Sep 7, 2022, 6:33:06 AM9/7/22
to
Marcel Mueller <news.5...@spamgourmet.org> wrote:
>> Wenn man da keine
>> ASRC als Feinkorrektur macht, dann laufen bei Videos irgendwann Ton und
>> Bild asynchron.
>
> Genau das wiederum passiert nicht, da wirklich jeder auch nur halbwegs
> brauchbare Videoplayer das Bild nach dem Ton synchronisiert.

Ja, in der Regel schon. Es gibt aber auch Player, die synchron auf
mehreren Devices abspielen, dann geht das nicht mehr. Das ist bei dir
mit einem VLC natürlich nicht der Fall.

Gruß,
Enrik

Matthias Andree

unread,
Sep 8, 2022, 2:51:30 PM9/8/22
to
Am 07.09.22 um 11:37 schrieb Marcel Mueller:
Ich erinnere mich, dass - zu Zeiten, als ich mich mit pulseaudio (PA)
herumgeplagt habe - das insbesondere dann relevant wurde, wenn PA
versucht hat, mehrere Senken gleichzeitig zu bespielen, siehe z. B.
https://askubuntu.com/questions/78174/play-sound-through-two-or-more-outputs-devices
für weitere Verweise (module-combine-sink). Wenn das nicht Dein Ziel
ist, schalt auch das ab.

Allerdings ist pulseaudio wie so vieles, wo ein bestimmter
Entwicklername für Konzepte und Implementierung steht, Zeug, das vom
Anspruch sich selbst überfordert und dessen Implementierung in der
Praxis dann den Anspruch nicht einlöst.

Fedora hat diesen Digitalmüll inzwischen entsorgt und ist auf Pipewire
umgestiegen, das hier auf Fedora 36 bisher unauffällig war, allerdings
nehme ich sicherlich nur einen kleinen Teil des Funktionsumfangs (war
bei PA aber genauso - und das ist mir mehrfach auf die Nerven gegangen
mit kaputtem Mixing mehrerer Quellen und auch dem sprunghaften massiven
Ändern der Replayraten).


0 new messages