Auf modernen Websites ist die Online-Wiedergabe von Videos zu einer gängigen Funktion geworden. In diesem Artikel wird erläutert, wie Sie mithilfe von PHP und FFmpeg ein Basissystem implementieren, mit dem Filme oder Videos online abgespielt werden können. Dabei wird der gesamte Prozess von der Umgebungskonfiguration bis zur Einbettung des Videoplayers abgedeckt.
Zunächst müssen Sie die PHP-FFmpeg- Bibliothek für die Videoverarbeitung und Streaming-Medienkonvertierung installieren. Diese Bibliothek basiert auf dem FFmpeg-Tool und unterstützt Vorgänge wie Formatkonvertierung, Videobearbeitung, Screenshots und Streaming-Medienausgabe. Es kann über Composer installiert werden:
composer require php-ffmpeg/php-ffmpeg
Als nächstes definieren Sie die Videoquelle, die abgespielt werden soll. Die Videoquelle kann der lokale Dateipfad des Servers oder die URL eines Remote-Videos sein.
$ffmpeg = FFMpeg\FFMpeg::create();
$video = $ffmpeg->open('path/to/video.mp4');
Videostreams werden zur Steuerung der Wiedergabeausgabe, Auflösungsanpassung usw. verwendet. Mit dem folgenden Code kann der Videostream eingerichtet und synchron ausgegeben werden:
$stream = $video->filters()
->resize(new FFMpeg\Coordinate\Dimension(640, 480))
->synchronize();
Nachdem Sie den Stream erstellt haben, müssen Sie das Video an einen angegebenen Pfad ausgeben oder es direkt an den Browser übertragen. Das folgende Beispiel zeigt, wie eine WebM- Formatdatei generiert wird:
$stream->save('path/to/output.mp4', array(
'webm' => true,
'format' => 'webm',
'audioCodec' => 'libvorbis',
'videoCodec' => 'libvpx'
));
Schließlich die Verwendung von HTML5 in Webseiten Tags ermöglichen die Online-Wiedergabe. Legen Sie einfach das src -Attribut so fest, dass es auf die neu generierte Videodatei verweist:
<video width="640" height="480" controls>
<source src="path/to/output.mp4" type="video/webm">
</video>
Durch die oben genannten Schritte haben wir die Kernfunktion der Online-Videowiedergabe in PHP abgeschlossen. Von der Erstellung der Videoquelle bis zur Einbettung des Players ist der gesamte Prozess flexibel und skalierbar. Sie können außerdem Transkodierung, Auflösungsauswahl, Videocover und andere Funktionen hinzufügen, um das Wiedergabeerlebnis zu verbessern.