Aktueller Standort: Startseite> Neueste Artikel> Detaillierte Erläuterung der PHP -Videobearbeitungsfunktion: So verwenden Sie FFMPEG zum Bearbeiten von Videos

Detaillierte Erläuterung der PHP -Videobearbeitungsfunktion: So verwenden Sie FFMPEG zum Bearbeiten von Videos

gitbox 2025-06-14

1.1. Einführung in FFMPEG

1.2. PHP -Videoverarbeitungsfunktion

PHP verarbeitet Videos über mehrere Funktionen, und in den folgenden Auflagen sind mehrere gängige Funktionen aufgeführt.

1.2.1. ffmpeg_open ()

FFMPEG_OPEN () wird verwendet, um eine Videodatei zu öffnen und ein Video -Handle zurückzugeben. Hier ist ein Beispiel für die Nutzung:

 
$ffmpeg = ffmpeg_open('video.mp4');
    

1.2.2. ffmpeg_seek ()

Die Funktion ffmpeg_seek () wird verwendet, um den angegebenen Speicherort in der Videodatei zu finden. Suchen Sie beispielsweise den Wiedergabeinzeiger des Videos auf die 30. Sekunde:

 
ffmpeg_seek($ffmpeg, 30); // Bewegen Sie den Videozeiger auf30Zweite
    

1.2.3. ffmpeg_frame_to_png ()

Die Funktion ffmpeg_frame_to_png () wird verwendet, um einen bestimmten Frame im Video als PNG -Bilddatei zu speichern. Der Beispielcode lautet wie folgt:

 
ffmpeg_frame_to_png($ffmpeg, 'output.png');
    

2. Anwendungsbeispiel: Video zu GIF -Animation

Wir werden PHP verwenden, um das Video in GIF -Animation zu übertragen. Zunächst müssen Sie die FFPHP -Erweiterung von PHP installieren und den folgenden Befehl verwenden, um sie zu installieren:

 
sudo pecl install ffphp
    

Nach Abschluss der Installation finden Sie hier den vollständigen Code, um das Video in eine GIF -Animation umzuwandeln:

 
$ffmpeg = ffmpeg_open('video.mp4');
$frames = 30; // 每Zweite生成30rahmen
$width = 240;  // GIFFigurenbreite
$height = 180; // GIFFigurenhöhe

$gif = new GifEncoder();

for ($i = 0; $i < $frames; $i++) {
    ffmpeg_seek($ffmpeg, $i * 1 / $frames * $duration); // 计算每一rahmen对应的时间点
    $tmp_file = tempnam(sys_get_temp_dir(), 'movie_frame');
    ffmpeg_frame_to_png($ffmpeg, $tmp_file); // 获取当前rahmen并保存为PNGFormat

    $im = imagecreatefrompng($tmp_file); // WillePNGKonvertieren zuGDBild
    imagedestroy($im); // Freier Speicher

    $gif->addFrame($im); // Wille当前rahmen添加到GIFIn der Animation
    unlink($tmp_file); // Temporäre Dateien löschen
}

$gif->finish(); // BeendenGIFDateigenerierung
    

Im obigen Code konvertieren wir den Videoband in die GIF -Animation über die GifeCoder -Klasse. Sie können die Klasse von GitHub herunterladen, eine reine PHP -Implementierung von GIF -Encoder.

3. Schlussfolgerung

PHP bietet leistungsstarke Funktionen für die Videoverarbeitung. Durch die Verwendung der integrierten FFMPEG-Funktion können wir die Videobearbeitung, Transkodierung, Bildextraktion und andere Operationen problemlos implementieren. In diesem Artikel zeigen wir, wie eine Videodatei in eine GIF -Animation konvertiert wird. Ich hoffe, diese Beispiele helfen Ihnen und ermöglichen es Ihnen, die Videobearbeitung in PHP besser durchzuführen.