Mp3-Stream-Push

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mp3-Stream-Push

    Ich push so einen stream ins mp3 format um dies einem Flash zu übergeben:

    PHP-Code:
         <?php

        
    // Verbindungsdaten des Streams

        
    $streamname $_REQUEST['url']; // Server (Host)
        
    $port $_REQUEST['port']; // Port des Streams
        
    $path "/"// Zusätzliche Pfadangaben zum Stream

        
    $stream_quality=128// Kbit/s
        
    $buffer_time=3// Die Anzahl der Minuten, die der Stream Puffern soll

        
    $stream_quality_kbytes=$stream_quality/8;
        
    $stream_quality_kbytes_per_minute=$stream_quality*60;

        
    $content_length=$buffer_time*1024*$stream_quality_kbytes_per_minute;

        
    $length_header="Content-length: ".$content_length;

        
    header("Content-type: audio/mpeg");
        
    header($length_header);
        
    $sock fsockopen($streamname,$port);

        
    fputs($sock"GET $path HTTP/1.0\r\n");
        
    fputs($sock"Host: $streamname\r\n");
        
    fputs($sock"User-Agent: WinampMPEG/2.8\r\n");
        
    fputs($sock"Accept: */*\r\n");
        
    fputs($sock"Icy-MetaData:0\r\n");
        
    fputs($sock"Connection: close\r\n\r\n");

        
    fpassthru($sock);
        
    fclose($sock);

        
    ?>
    Kann man irgendwie auch titel und interpret vorgaugeln? wenn ja wie? Wenn ichs (wir) hinbekomm(en) habt geb ich den webradio-flashplayer auch frei zum download
    Signatur-Text ...

  • #2
    man kann doch mp3s auslesen .. auch die id3 tags

    PHP-Code:
    function id3($filename "")
    {
      global 
    $genre;

      if (!
    is_file($filename) or filesize($filename) < 128)
      {
         return 
    false;
         break;
      }

      
    $fp fopen($filename"r");
      
    fseek($fpfilesize($filename) - 128);
      
    $id3 fread($fp128);
      
    $arr = array();

      if (
    strtoupper(substr($id303)) == "TAG")
      {
         
    $arr["song"]    = trim(substr($id3330));
         
    $arr["artist"]  = trim(substr($id33330));
         
    $arr["album"]   = trim(substr($id36330));
         
    $arr["year"]    = trim(substr($id3934));
         
    $arr["comment"] = trim(substr($id39730));
         
    $arr["genre"]   = $genre[ord($id3[127])];
         return 
    $arr;
      } else {
         return 
    false;
      }
      
    fclose($fp);

    vllt hilft di das ja weiter
    Gruß
    Uzu

    private Homepage

    Kommentar


    • #3
      iss aba ja keine mp3 sondern n stream der fürs flash mp3 vorgaugelt - das prob iss dass ich auch n id3 tag erzeugen will - aba wie?
      Signatur-Text ...

      Kommentar


      • #4
        Der Stream ist doch schon im MP3-Format!? ich sehe jedenfalls nirgends eine Konvertierung.
        [FONT="Helvetica"]twitter.com/unset[/FONT]

        Shitstorm Podcast – Wöchentliches Auskotzen

        Kommentar


        • #5
          Also ohne mich da näher mit auszukennen, du tust ja nichts anderes als den entsprechenden Header vor dem Stream zu senden.

          Wenn man die ID3-Tags generell zwischen Header und Content setzen kann, dann kannst du deinen Titel ganz simpel dazwischen einsetzen.

          Wenn das (aufgrund der Strucktur einer MP3-Datei) nicht geht, dann hast du wohl keine große Möglichkeit, außer du parst den kompletten Stream, was vermutlich nicht sehr performant sein dürfte.

          Kommentar


          • #6
            du kannst eine .pls-datei nicht im flash öffnen. daher wird mit dem skript eine mp3 vorgetäuscht. diese binde ich in flash ein was auch klappt - nun will ich mit dem flash die daten dieses skriptes auslesen (nicht das audio!) nur hat ja diese "mp3" ausgabe kein id3 tag - verstehsu nu?
            Signatur-Text ...

            Kommentar


            • #7
              Original geschrieben von TobiaZ
              Also ohne mich da näher mit auszukennen, du tust ja nichts anderes als den entsprechenden Header vor dem Stream zu senden.

              Wenn man die ID3-Tags generell zwischen Header und Content setzen kann, dann kannst du deinen Titel ganz simpel dazwischen einsetzen.

              Wenn das (aufgrund der Strucktur einer MP3-Datei) nicht geht, dann hast du wohl keine große Möglichkeit, außer du parst den kompletten Stream, was vermutlich nicht sehr performant sein dürfte.
              und wie geb ich diese daten an? das auslesen des stream hab ich ja dies iss kein prob...
              so?
              PHP-Code:
                 header("Title: Dies und jenes Radio"); 
              ?
              Signatur-Text ...

              Kommentar


              • #8
                du kannst eine .pls-datei nicht im flash öffnen. daher wird mit dem skript eine mp3 vorgetäuscht.
                Das "vortäuschen" besteht lediglich darin, dass du einen entsprechenden Header vorher sendest. Die Nutzdaten werden kein bisschen verändert.

                (Hast du das Script selbst geschrieben?)
                und wie geb ich diese daten an?
                Vermutlich so wie in jeder normalen MP3-Datei auch.

                Kommentar


                • #9
                  Original geschrieben von TobiaZ
                  Das "vortäuschen" besteht lediglich darin, dass du einen entsprechenden Header vorher sendest. Die Nutzdaten werden kein bisschen verändert.

                  (Hast du das Script selbst geschrieben?) Vermutlich so wie in jeder normalen MP3-Datei auch.
                  Ja zum Teil - mit hilfe von nem flash forum - nu iss das ja keine normale mp3 ... sondern n php skript ...
                  Signatur-Text ...

                  Kommentar


                  • #10
                    nu iss das ja keine normale mp3 ... sondern n php skript ...
                    Ja und?? Du hast doch selbst gesagt, dass das Script "eine MP3 vorkaukelt", was so zwar nicht ganz richtig ist. Aber immerhin ist das Ergebnis so ziemlich das was man eine MP3-Datei nennen kann.

                    Kommentar


                    • #11
                      ja und in dieser erzeugten "mp3" (nennen wirs ma so) sind ja KEINE ID3 - Daten. Verstehsus nu? ich hab nich des prob dass der stream daten hat, die hab ich, ich kann die aber in dem skript net ausgeben und hab auch keine ahnung wie ich des anstellen soll ...
                      Signatur-Text ...

                      Kommentar


                      • #12
                        Verstehsus nu?
                        Das habe ich schon länger verstanden, daher
                        Wenn man generell die ID3-Tags zwischen Header und Content setzen kann, dann kannst du deinen Titel ganz simpel dazwischen einsetzen.

                        und wie geb ich diese daten an?
                        Vermutlich so wie in jeder normalen MP3-Datei auch.

                        ich kann die aber in dem skript net ausgeben und hab auch keine ahnung wie ich des anstellen soll ...
                        echo

                        Kommentar


                        • #13
                          also entweder bin ich heut schwer von begriff - ach ich weiß auch net - wie soll denn das bitte schön gehen? ich schreib einfach echo "mein titel" oder wie?
                          Signatur-Text ...

                          Kommentar


                          • #14
                            wie die funktion dir dort oben schon zeigt .. eine mp3 datei hat in den ersten 128 bytes alle infos drinne die du brauchst .. also müsstest du in deinem stream in den ersten 128 bytes die infos unterbringen
                            Gruß
                            Uzu

                            private Homepage

                            Kommentar


                            • #15
                              wow ! und wie? das iss ja das prob!
                              Signatur-Text ...

                              Kommentar

                              Lädt...
                              X