HTTP Headers abschneiden

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

  • HTTP Headers abschneiden

    Hallo.

    Ich lade eine Videodatei per fopen, fgets runter und will den HTTP Header rausschneiden. Mein Versuch ging dahin nach 2 Zeilenumbrüchen zu suchen und von da aus alles zu speichern:

    $videoFile = strstr($videoFile, "\r\n\r\n");

    Das scheint aber falsch zu sein, weil die Datei dann nur nur 0 Byte groß ist. Wie schneide ich den Header am besten aus?

  • #2
    Mit fopen bekommt man keine HTTP-Header.

    Kommentar


    • #3
      Das erklärt einiges. Die Videos haben nach dem Download macken, lassen sich nicht vorspulen. Ich dachte der Header wäre schuld. Naja, danke für die Hilfe.

      Kommentar


      • #4
        Vorspulen ist Sache des Players. Wenn er das ganze Video schon runtergeladen hat, springt er im Puffer einfach an die entsprechende Stelle. Aber die meisten (Flash-)Player unterstützen auch Sprünge zu Positionen, die noch nicht im Puffer sind. Sie senden dann einfach einen neuen Request an den Server und teilen darin mit ab welchem Offset sie das Filmchen haben wollen.
        Dein Player kann das vielleicht auch, aber dein Server wird solche Offset-Anfragen vermutlich nicht unterstützen - weil es kein Streaming-Server ist …?

        Kommentar


        • #5
          Zitat von ruck32 Beitrag anzeigen
          Das erklärt einiges. Die Videos haben nach dem Download macken, lassen sich nicht vorspulen. Ich dachte der Header wäre schuld. Naja, danke für die Hilfe.
          Falsch konfigurierte Server (und manchmal auch Clients) interpretieren Binärdateien manchmal als Text und basteln Zeilenumbrüche um. Eine so verunstaltete Datei nennt man auch "cooked". Mit ein wenig Glück und passenden Tools kann man sie wieder geradebiegen.

          uncook cooked download - Google-Suche

          Vielleicht ist dir aber auch schon geholfen, wenn du in deinem Script fgets() durch fread() ersetzt. Ersteres holt Zeilen (die nur in Text-Dateien existieren). Letzteres holt Binärdateien (bei Videos angebrachter).
          Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

          Kommentar


          • #6
            Vielleicht ist dir aber auch schon geholfen, wenn du in deinem Script fgets() durch fread() ersetzt.
            Das hab ich jetzt mal probiert, klappt weder bei Win noch bei Linux. Datei wird auch im rb Mode also readbinary geöffnet. Die "Uncooktools" guck ich mir mal an. Vielleicht hilft das irgendwie weiter.

            @onemorenerd
            Es geht nicht um Streaming. Ich versuche die Videos auf dem Heimrechner mit dem VLC abzuspielen.
            Zuletzt geändert von ruck32; 10.05.2010, 19:21.

            Kommentar


            • #7
              Hallo,

              kannst du die Videos denn überhaupt abspielen, wenn du sie von Hand (also im Browser) runterlädst? Vielleicht hat es ja gar nichts mit PHP zu tun und dir fehlen einfach Codecs oder das Video hat einen falschen FourCC?

              Gruß,

              Amica
              [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
              Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
              Super, danke!
              [/COLOR]

              Kommentar

              Lädt...
              X