Zischen beim Stream abspielen

Hallo,

wir spielen in der mairlist einen unendlichen Stream ab (Icecast 192 kbits mp3 stereo 44.1kHz). Wenn er geladen ist und abgespielt wird dann zischt es kurz ein paar mal. Auch zwischendurch kann es vorkommen. Woran liegt das?

mairlist 4.3.13
windows server
keine Soundkarte
Ausgabe geht direkt in Encoder
Im Soundweg ist der AGC von mairlist mit Standardwerten eingestellt, der Übersteuerungen des Encoders ausschließen soll.

Das Zischen kann daher kommen, dass der Stream buffert - mAirList füllt dann mit Stille auf.

Versuch mal an den BASS-Einstellungen hinsichtlich der Stream-Pufferung zu schrauben (mAirListConfig -> Audio-Einstellungen -> Allgemein).

Wie bereits in der Mail geschrieben:

  • Ich habe jetzt schon Pufferzeiten, Pre-Buffer und am Update-Intervall rumgedreht
    — Netzwerk-Buffer: 10, 100, 1000, 5000, 6000 (Bufferzeit des Icecast-Servers), 10000, 20000
    — Pre-Buffer: 0, 25, 50, 75, 100
    — Update Intervall: 5, 10, 20, 50, 100
    ------ > Es tritt immer wieder auf.
  • Wiedergabe der Player ist direkt auf dem Encoder.
  • CPU Last ist ca. 10-20 Prozent für 20 mairlist Instanzen + Audiologger
  • RAM um die 3,5 GB gefüllt von 16 GB
  • Mairlist-Prozesspriorität niedrig, normal, hoch, Echtzeit getestet
  • Soundprocessing durch mairlist AGC, aber auch ohne tritt es auf
  • Streams mit verschiedenen Bitraten 128, 192 und Herzzahlen 44.1, 48 und Servertypen Icecast, Shoutcast getestet
  • Mairlist-Encoder: Shoutcast2, 192, 44.1
  • mairlist Version 4.3 (auch mit 4.2 und 4.4 getestet, gleiches Problem)
  • Kein Fehlerreport, nichts in der Logdatei…

Reproduzierbar ist es bei uns, wenn ich mehrere unendliche Streams in die Playlist einfüge und sie nacheinander überblende. Dann knackst es häufig nach dem Übergang.

Ich habe auch die Aircheck-Variante ausprobiert, wobei auch in der Wave-Aufnahme das Problem auftritt.

PS: Wenn der Stream nach einem mairlist-Neustart das erste Mal eingeladen wird, dann tritt kein Zischen auf. Wenn ich den Stream danach wieder einfüge, dann wird er sofort im Player geladen und beim Überfaden entsteht dann im neuen Stream nach kurzer Zeit dieser Aussetzer. Ist es möglich dem Stream zu sagen: Fülle den Puffer erneut komplett auf, egal, ob er schon einmal abgespielt wurde.

Aktuell besteht jetzt die weitere Problematik, dass es ohne erfindlichen Grund dazu kommt, dass sich der abgespielte Stream manchmal ca. 1 Sekunde für 3-4 Mal wiederholt.

Bitte teste mal den neuen Build 1913.

Zur Erklärung:

Auch wenn ein Stream mehrfach in der Playlist steht, wird er nur einmal heruntergeladen und die Daten dann auf die Player (und die Vorpuffer-Objekte) verteilt.

Beim ersten Öffnen ist der Puffer noch sehr gut durch die Puffermechanismen der BASS.DLL gefüllt.

Lädt man den Stream jetzt in einen weiteren Player (z.B. durch Klick auf NEXT, wenn der Stream zweimal in der Liste steht), dann bekommt dieser allerdings die ungepufferten “Live-Daten” ab.

Das “Zischen”, das du hörst, ist also wirklich ein buffer underrun. mAirList bekommt nicht genug Live-Daten vom Stream und füllt die Lücke mit Stille auf.

Ich habe den Code jetzt so ergänzt, dass jeder nachträglich abgegriffene Stream seinen Puffer mit mindestens 1000 Millisekunden an Daten füllt. Dieser Wert kann bei Bedarf in der bass.ini, Abschnitt Options, Einstellung HTTPMinBuffer=<Länge in Millisekunden> angepasst werden.

Ja jetzt funktioniert alles ohne Probleme. Vielen Dank für den schnellen Support :slight_smile: