www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik VS1011 und Shoutcast


Autor: Star Keeper (starkeeper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: doc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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).

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sind die Metadaten ausgeschaltet? Ansonsten muss man diese Filtern.
(Im HTTP-Header "Icy-MetaData: 0" setzen.)

Gruß
Andreas

Autor: Star Keeper (starkeeper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Malte __ (malte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Star Keeper (starkeeper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Malte
Das dumpen ist ein guter Ansatz, werde ich heute Abend direkt mal 
austesten. So kann ich auch raus finden, ob ich vllt. Probleme beim 
Bufferhandling habe und Bytes verloren gehen.

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.