VS1011 und Shoutcast

OP #1560359
Hi,
ich habe Probleme mit meinem Webradio-Projekt, bei denen ich nicht 
weiter komme.

Mein Vorhaben ist ein VS1011 (MP3-Dekoder Chip) mit Daten von einem 
Shoutcast stream zu füttern, sodass er sie dekodiert und abspielt. Das 
haben hier im Forum ja schon einige mit dem vs1053 gemacht.

Mein Problem ist, dass der VS1011 keinen Mux von sich gibt, wenn ich ihn 
mit den Shoutcast-Daten füttere. Ich habe den Chip selber schon 
getestet, indem ich ihm eine MP3-Datei zum Abspielen gegeben habe, dass 
funktioniert wunderbar. Muss ich die Daten vom Shoutcast-Server noch 
irgendwie bearbeitet, bevor ich sie an den Chip weiterleiten darf?

Soweit ich das verstanden habe, beginnen doch direkt nach dem 
htpp-Header des Shoutcast die Audio-Daten. Der Server auf den ich mich 
verbinde liefert mir als content-type "audio/mpeg", also sollte der 
VS1011 das auch abspielen können.

Hat jemand einen Tip, was ich vergessen habe oder noch beachten muss?
Gast
Ich habe auch grade ein Radio in Arbeit (allerdings mit Vs1053, 
funktionierte auf Anhieb)
Dort gebe ich die Daten 1:1 weiter, das sollte allerdings beim VS1011 
genauso gehen.

Evtl liegt Dein Problem ja woanders (TCP/IP).
OP
Die Metadaten hatte ich auch gleich in Verdacht und habe sie deshalb 
ausgeschaltet. Das hat aber keine Änderung gebracht.

Die Stream-Daten habe ich mir mal im Debugger angeschaut (soweit das 
Möglich ist bei den Mengen) und mit denen vom Wireshark verglichen, dass 
sieht erstmal gut aus.

@Andreas Watterott
Deinen Code (vom ARM webradio) habe ich natürlich auch schon gefunden. 
Was auffällt ist, dass du bei einem Stream (lt. Kommentar) zunächst 128 
Frames überspringst und dann bei MP3 vorspulst zu einem Sync-Byte. Was 
sind bei dir 128Frames, sind damit Bytes gemeint? Wozu die Suche nach 
dem Sync-Byte?

Sowas wie ein Sync-Byte suche ich momemtan nicht in den Daten, vllt. 
liegt es ja daran?
Persönliche Seite
Also einen VS1002 kann ich auch direkt mit den Shoutcast Daten füttern. 
Wenn man Metainformationen drinne hat, hört man die als seltsames 
"Zirpen" aber der Decoder spielt weiter. Am Anfang des Streams werden 
auch bei metadaten = 0 trotzdem Informationen zum Sender übertragen. 
Dump die Daten doch mal (zb mit wget auf dem PC in eine Datei) und 
probier die dann.
Persönliche Seite
Star Keeper schrieb:
> @Andreas Watterott
> Deinen Code (vom ARM webradio) habe ich natürlich auch schon gefunden.
> Was auffällt ist, dass du bei einem Stream (lt. Kommentar) zunächst 128
> Frames überspringst und dann bei MP3 vorspulst zu einem Sync-Byte. Was
> sind bei dir 128Frames, sind damit Bytes gemeint? Wozu die Suche nach
> dem Sync-Byte?

Manche Stationen wollen beim Starten einen Puffer von ca. 64-128kByte 
aufbauen. Da das Radio ohne F-RAM das nicht schafft, werden je nach 
Bitrate Pakete verworfen und anschließend wird wieder auf die Audiodaten 
synchronisiert. Das Synchronisieren ist bei einem MP3 Stream aber nicht 
so wichtig - bei Ogg und WMA ist es aber angebracht.

Gruß
Andreas

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.