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?
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).
Sind die Metadaten ausgeschaltet? Ansonsten muss man diese Filtern. (Im HTTP-Header "Icy-MetaData: 0" setzen.) Gruß Andreas
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?
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.
@ 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.
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.