Mit der schnellen Entwicklung des Internets ist das Video -Streaming zum Hauptweg für Benutzer geworden, um Videos anzusehen und zu teilen. Für Entwickler, die Webanwendungen entwickeln, bietet PHP einige sehr praktische Video -Streaming -Medienverarbeitungsmethoden, mit denen die Funktionen zum Video -Stream -Ausgang, Transcodieren und Streaming problemlos implementiert werden können. In diesem Artikel werden mehrere gängige PHP -Video -Streaming -Methoden im Detail vorgestellt und Code -Beispiele anhängen, um Entwicklern diese Technologien zu verbessern.
PHP kann es in den Browser ausgeben, indem sie lokale Videodateien lesen und in Video -Streams konvertieren. Hier ist ein einfacher Beispielcode:
$ Dateiname = 'Pfad/to/Video.mp4'; Header ('Content-Typ: Video/MP4'); Header ('Inhaltslänge:'. FileSize ($ Dateiname)); ReadFile ($ Dateiname);
Im obigen Code lesen wir die Videodatei direkt und geben sie in den Browser aus, indem wir den MIME -Typ auf Video/MP4 einstellen und die Funktion readFile () verwenden.
FFMPEG ist ein leistungsstarkes Open -Source -Multimedia -Verarbeitungswerkzeug, das Video -Transkodierungen, Anbaus, Verschmelzung und andere Vorgänge unterstützt. Durch die Funktion von Exec () in PHP kann FFMPEG direkt für die Verarbeitung von Video -Streams aufgerufen werden. Hier ist ein Beispiel für Video -Transcodierung:
$ inputFile = 'Pfad/to/input.mp4'; $ outputFile = 'path/to/output.mp4'; $ ffmpegcommand = "ffmpeg -i {$ inputFile} -c: v libx264 -c: a AAC -Strict Experimental {$ outputFile}"; exec ($ ffmpegcommand);
In diesem Beispiel wird der Befehl ffmpeg mit exec () ausgeführt, um die Eingabe -Videodatei in das H.264 -Video -Codierungsformat ( LIBX264 ) und das AAC -Audio -Codierungsformat zu übertragen.
Wenn Sie Videos streamen möchten, können Sie es in Stücken über PHP übertragen. Auf diese Weise kann der Browser nach und nach Video laden und abspielen, ohne darauf zu warten, dass die gesamte Datei geladen wird. Hier ist ein Beispiel für das Implementieren von Video -Streaming:
$ Dateiname = 'Pfad/to/Video.mp4'; Header ('Akzeptieren von Bytes'); $ start = 0; $ end = ideSize ($ Dateiname) - 1; Header ("Inhaltsbereich: Bytes {$ start}-{$ end}/". FileSize ($ Dateiname)); Header ("Inhaltslänge:". FileSize ($ Dateiname)); $ fp = fopen ($ Dateiname, 'rb'); if ($ fp) { FSEEK ($ fp, $ start, such_set); while (! feof ($ fp) && ($ p = ftell ($ fp)) <= $ end) { $ länge = ($ P + 1024> $ End)? $ End - $ P + 1: 1024; echo fread ($ fp, $ länge); ob_flush (); spülen(); } } fcLose ($ fp);
In diesem Code implementieren wir die Übertragung von Dateien-Chunked, indem wir die Akzeptanz- und Inhaltsbereich- Header einstellen. Verwenden Sie FSEEK (), um die Position der Dateizeiger zu steuern und Videodaten im angegebenen Bereich über Fread () zu lesen.
In diesem Artikel werden mehrere gängige Video -Streaming -Medienverarbeitungsmethoden in PHP eingeführt, einschließlich der direkten Ausgabe von Video -Streams, der Verwendung von FFMPEG für Video -Transcodierung und Verwendung von PHP zur Erzielung von Video -Streaming. Mit diesen Methoden können Entwickler Videodaten flexibler verarbeiten und ein umfassenderes Video -Wiedergaberlebnis bieten.