So streamen Sie eine Medien-Datei mit Hilfe von PHP?
Ich versuche, eine Anwendung zu erstellen, in der ich zum streamen von media-Dateien (audio und video) an den browser. Ich lese die Datei über php und das senden der Daten zum browser. Ich bin mit dem folgenden code.
header("Cache-Control: no-cache, must-revalidate"); //HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); //Date in the past
header("Content-Type: {$file->getMimetype()}");
header("Content-Disposition: inline; filename=".$filename.";");
header("Content-Length: ".strlen($file_content));
echo $file_content;
Alles funktioniert Prima, außer wenn ich versuche das video weiterleiten oder audio, (ich meine, angenommen, das aktuelle play-Position ist 0:15 und gehen Sie direkt zu 1:25), media nicht, und wenn ich drücken Sie die play-Taste erneut, startet es von Anfang an.
Ich denke, dass das problem mit der Pufferung, aber es kann nicht herausfinden. Mache ich etwas falsch im Kopf oder etwas anderes erforderlich ist.
Dank.
- Ich bevorzuge Flash-streaming 😉 , weniger Dateigröße = schnellere Ladezeiten.. Auch einfacher zu integrieren in eine website.
- AFAIK Flash nicht den streaming-server macht. Sie müssen noch ein server-seitiges script zum streamen von flv-sonst müssten Sie warten, bis die gesamte Datei zu laden, bevor Sie Sie anzeigen können.
- folow, dass Sie nach vorne schnellen lässt : codesamplez.com/programming/php-html5-video-streaming-tutorial
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, Sie implementieren müssen, um den Range-header, sodass der client kann das springen zu einer bestimmten position in der Datei. Sie können sich wahrscheinlich finden Sie heraus, was schief geht, von schnüffeln die Anfrage der Spieler sendet.
Was Sie wollen, ist "Content-Range requests"
Haben Sie einen Blick hier Fortsetzbare downloads, wenn mit Hilfe von PHP um die Datei zu senden?
Stieß ich auf dieses kürzlich die Ihnen helfen können:
http://www.jasny.net/articles/how-i-php-x-sendfile/
Anstatt die ganze Datei durch PHP (das frisst Speicher), können Sie mit x-sendfile. Dies ist ein Apache Modul, welches es erlaubt Ihnen, eine PHP-Programm, aber die Kontrolle zurück an den web-server für die Verarbeitung der eigentlichen Datei herunterladen, sobald Ihr code hat getan, was es tun muss (Authentifizierung, etc).
Es bedeutet, dass Ihre PHP-code nicht zu befürchten, wie die Datei serviert wird; lassen Sie den web-server tun, was Sie für entworfen.
Hoffe, das hilft.
Hier ist ein gutes tutorial dafür, Sie wollen nur das PHP-Abschnitt, aber immer noch:
http://www.devshed.com/c/a/PHP/Video-Streaming-PHP-Script-Tutorial/3/