mp3 Streamingclient
-
Hi!
Auf meinem Webserver liegen .mp3 Dateien.
Nun möchte ich eine Applikation entwickeln, die diese abspielen kann, ohne sie vorher ganz herunterladen zu müssen, also quasi nach einer Pufferung direkt mit dem Abspielen beginnen. Als Webserver benutze ich einen VServer mit Debian Sid und Apache.Habt ihr eine Ansatzidee für mich?
Danke!
-
Naja, was du brauchst:
- Sockets (irgendwie musst du ja die Verbindung zum server herstellen)
- du musst was ueber das Protokoll wissen (http oder ftp, je nachdem was du nutzen willst), sprich Bescheid wissen, wie der Server dir deine Daten schickt und auch vertsehen, was er dir sagt
- Du brauchst eine API um entweder direkt den mp3-stream an eine geeignete ausgabe (Soundtreiber) zu senden oder den bereits irgendwie decodierten audiostream. IN letzterem Fall muesstest du auch noch irgendwie den mp3-stream decodieren (gibts bestimmt ne bibliothek fuer)
- evtl etwas, um eine GUI zu bauen (wuerde ich spaeter machen), z.B. qtDas sind die Zutaten. Was das Programm dann machen sollte? Naja:
- IP/Adresse des Servers abfragen oder aus Configfile auslesen
- verbinden
- server nach einer Liste der vorhandenen mp3s fragen
- den benutzer aus der Liste was auswaehlen lassen
- Datei vom Server anfordern
- buffern und an die Ausgabe weiterleiten.
-
Nun ja, die GUI habe ich (GTK). Als Protokoll würde ich - da der Webserver ja schon läuft - am Liebesten HTTP benutzen. Socketverbindung habe ich auch - was mir halt fehlt, ist die API, die du angesprochen hast. Am Besten weil Einfachsten wäre natürlich, wenn ich der den Socketstream übergeben könnte.
Kennst du da was?
-
was hast du denn damit vor??? willst du einfach deine musik vom server direkt hören??? dazu musst du nicht ein programm schreiben. jedes normale mp3 prog kann es direkt abspielen ohne das es gezogen werden muss. zb. winamp, xmms oder vlc. einfach die url der mp3 angeben und fertig. wenn du es von der html seite machen willst dann mit
<embed src="music.mp3">und wenn du es streamen willst kannst du auch den vlc benutzen. als streamer und als empfänger dann wieder vlc, xmms, winamp oder so was ähnliches (windoofs media player geht auch
). du kannst dir den vlc oder mplayer zb als plugin in firefox einbinden, dann werden filme und musik auch direkt geöffnet ohne download.
und wenn du playlisten erstellst kannst die auch uls url verwenden. dann musst du nicht jedes mp3 stück einzeln angeben...
-
Na, er will doch die herausforderung angehn und das Ding selber schreiben
Dass es schon fertige Software gibt die das kann duerfte er schon gewusst haben.@willi: Leider kenne ich keine derartige API, hab mich bisher weder mit winAPI noch GUIs noch anderem drumrum beschaeftigt.
-
@pumuckl:
du hast es erfasst
außerdem möchte ich die MP3s in verschiedene Gruppen einteilen. Die Informationen dazu liegen in einer MySQL Datenbank und sollen vom Steamingclient berücksichtigt werden..
-
Da das ja schon halbwegs umfangreich wird, kannst du ja für den Anfang und zum Testen der Verbindungs-Sachen erstmal .wav-Dateien vom Server laden. Da brauchst du nur den Header abzuwarten, die Daten danach schickst du bequem in den Soundbuffer!
Die Mp3-Funktionalität, quasi nur das Dekodieren, würde ich dann einbauen, wenn der Rest schon läuft.
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
-
also dazu muss ich sagen, dass rad jedesmal neu zu erfinden ist immer eine spitzen idee...
die gruppen kannst du im apache festlegen, also wer zugrif auf bestimmte ordner auf deinem server hat. und die autentifizierung geht dann trotzdem mit den ganzen standard playern... einfach mit user:password@domain.tld/test.mp3. ist nur ein beispiel, aber ich bin halt eh nicht so der immer alles selber machen typ dafür...
-
pi88el, es geht nicht darum, etwas zu erfinden, sondern ums lernen
Wenn man so ein Projekt durchzieht und fertigstellt, lernt man nicht nur Projektplanung und -Design, sondern auch Sockets, Protokolle, Sound-Krams und anderes. Abgesehen davon macht das auch ne Ecke mehr Spaß als den Apache zu konfigurieren..
-
Falls das ganze auf windows laufen soll und dir es nicht darum geht zu lernen wie man irgend welche DirectShow source filter schreibt die per HTTP lesen sondern um das datenbank zeug drumherum: nimm das media player SDK.
Ein MediaPlayer control in einer App einzubauen sind 20 Zielen code (http://msdn2.microsoft.com/en-us/library/bb262335.aspx) und ein MP3 üder HTTP abzuspielen eine ( put_URL).