Ich habe native C-Dateien von Shoutcast Wrapper zusammen mit einer Beispiel-Android-App entwickelt, die Sie vom Geräte-Mikrofon streamen können - & gt; android-icecast-sendung .
Es ist erfasst, codiert PCM-Audio vom Mikrofon. und sendet Ice Server.
Ich möchte Audiodaten auf SHOUTcast- oder Icecast-Servern bereitstellen, ohne einen eigenen Sender zu verwenden, da ich dies auf verschiedenen Plattformen einschließlich Mobile verwenden werde.
Ich brauche Protokollbeschreibungen, Open-Source-Projekte oder Samples, um Audiodaten (von Mic oder File) mit Objective-C, C oder C ++ an SHOUTcast- und Icecast-Server senden zu können.
Wo finde ich die Informationen, die benötigt werden, um einen geeigneten SHOUTcast / Icecast-Quellclient zu erstellen?
Kommentar: Es wird Zeit, dass jemand einen SHOUTcast-Quellclient für Mobilgeräte erstellt. Ich brauche das schon eine Weile, aber habe keine Zeit, es zu bauen, also ein großes Lob an dich. Bitte mach irgendwann eine Android Version.
Als erstes sollten Sie Wireshark herunterladen.
Starten Sie die Paketerfassung, starten Sie einen SHOUTcast-Server, starten Sie einen Quell-Client und verbinden Sie ihn mit dem Server. Bereite dich auf die erschreckende Einfachheit dieses Protokolls vor.
CrLf
(oder \r\n
). Wenn das Passwort falsch ist, wird invalid password
oder etwas ähnliches angezeigt. Wenn es korrekt ist, werden Sie etwas wie folgt erhalten:
OK2
icy-caps:11
Beachten Sie, dass hinter jeder Zeile CrLf
steht, und nachdem diese zwei Header gesendet wurden, gibt es ein Paar CrLf
.
Nun ist es Sache des Quellmandanten, einige Header zu senden: icy-name
, icy-genre
, icy-pub
, icy-br
, icy-url
, icy-irc
, icy-icq
, icy-aim
, content-type
. Sende sie so:
icy-name:My Awesome Station
Auf jede Zeile sollte CrLf
folgen, und nachdem Sie alle Header gesendet haben, senden Sie ein Paar CrLf
.
Sobald dies alles erledigt ist, beginnen Sie mit dem Senden Ihrer Stream-Daten! Keine Notwendigkeit, an einer bestimmten Stelle zu beginnen, senden Sie einfach Daten. Es liegt an den Clients auf der Empfangsseite, mit dem Rahmen zu synchronisieren. Der SHOUTcast-Server ist für den durch ihn fließenden Verkehr völlig "dumm". Sie können sich mit einem Telnet-Client verbinden und eine Menge Text senden, wenn Sie möchten.
Sie fragen sich wahrscheinlich, wie Sie Informationen für den nächsten Track senden und was nicht. Das Lustige ist, das ist völlig out-of-band von der Verbindung, wo Sie Audiodaten senden.
Alles, was Sie tun müssen, ist eine Web-Anfrage an die Port-Basis (8000 in unserem Beispiel):
%Vor%Falls das schwer zu lesen ist, sind dies die Parameter:
Sie werden feststellen, dass diese und andere Parameter alle im SHOUTcast Admin-Panel gefunden werden können.
Ich habe native C-Dateien von Shoutcast Wrapper zusammen mit einer Beispiel-Android-App entwickelt, die Sie vom Geräte-Mikrofon streamen können - & gt; android-icecast-sendung .
Es ist erfasst, codiert PCM-Audio vom Mikrofon. und sendet Ice Server.
Tags und Links objective-c audio broadcast shoutcast icecast