Heim  >  Artikel  >  Backend-Entwicklung  >  So konvertieren Sie Videodateien mit PHP in das MP4-Format

So konvertieren Sie Videodateien mit PHP in das MP4-Format

PHPz
PHPzOriginal
2023-04-10 09:43:3411269Durchsuche

PHP ist eine häufig verwendete Skriptsprache für die Website-Entwicklung und die Erstellung dynamischer Webseiten. PHP kann jedoch auch zur Videokonvertierung verwendet werden. In diesem Artikel erfahren Sie, wie Sie Videodateien mit PHP in das MP4-Format konvertieren.

Zuerst müssen wir ein paar Konzepte verstehen. Eine Videodatei besteht aus mehreren Bildern, wobei jedes Bild einen Moment der Videoaufnahme darstellt. Diese Frames werden in einer bestimmten Reihenfolge komprimiert und in einer Datei in einem speziellen Format gespeichert. Das Konvertieren von Videodateien umfasst hauptsächlich den Prozess, diese Frames zu dekodieren, zu bearbeiten und sie dann in ein neues Format neu zu kodieren.

Um eine Videokonvertierung zu erreichen, müssen wir zwei PHP-Bibliotheken verwenden: FFmpeg und FFprobe. FFmpeg ist eine Open-Source-Bibliothek zur Verarbeitung von Audio und Video. Sie bietet viele Funktionen zum Dekodieren, Bearbeiten und Kodieren von Videos. FFprobe ist ein Tool zum Erkennen von Videodateien und Extrahieren von Informationen.

Um diese beiden Bibliotheken nutzen zu können, müssen Sie sie auf dem Server installieren. Dies erfordert normalerweise die Verwendung der Befehlszeilenschnittstelle des Linux-Systems. Sie können sie über den folgenden Befehl installieren:

sudo apt-get install ffmpeg
sudo apt-get install ffprobe

Nach Abschluss der Installation können wir diese beiden Bibliotheken mit PHP aufrufen, um Videokonvertierungsvorgänge durchzuführen. Hier ist ein einfaches PHP-Skript zum Konvertieren von Videodateien in das MP4-Format:

<?php

$ffmpeg_command = &#39;/usr/bin/ffmpeg&#39;;
$ffprobe_command = &#39;/usr/bin/ffprobe&#39;;

$input_file = &#39;input_video.mp4&#39;;
$output_file = &#39;output_video.mp4&#39;;

// 获取视频信息
$cmd = "$ffprobe_command -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 $input_file";
exec($cmd, $output, $retval);
$duration = floor($output[0]);

// 转换视频文件
$cmd = "$ffmpeg_command -i $input_file -vcodec h264 -acodec mp3 -shortest -preset fast -strict experimental -t $duration -f mp4 -y $output_file";
exec($cmd, $output, $retval);

?>

Mal sehen, wie dieses Skript funktioniert. Zuerst haben wir zwei Variablen $ffmpeg_command und $ffprobe_command definiert, um die Speicherorte von FFmpeg und FFprobe anzugeben. Als nächstes geben wir die Namen der Eingabe- und Ausgabedateien sowie das Format der Ausgabedatei (MP4) an.

Im nächsten Schritt verwenden wir FFprobe, um die Dauer der Eingabevideodatei zu ermitteln. Wir verwenden einen Systembefehl, um FFprobe auszuführen, führen den Befehl über die Funktion -exec() aus und erfassen die Ausgabe. Der von FFmpeg erhaltene Dauerwert wird in der Variablen $duration gespeichert.

Schließlich verwenden wir FFmpeg für die eigentliche Videokonvertierung. Wir haben die Namen der Eingabe- und Ausgabedateien angegeben und den -h264-Encoder und -mp3-Audio-Encoder verwendet. Wir stellen die Länge auf die Dauer des Videos ein und verwenden die Voreinstellung -fast, um die Konvertierung zu beschleunigen. Wir haben außerdem die experimentelle Option -strict angegeben, um sicherzustellen, dass bei der Konvertierung die neuesten Codecs verwendet werden.

Durch die Verwendung von FFmpeg und FFprobe auf diese Weise können wir Videodateien in fast jedes Format konvertieren und eine Vielzahl von Bearbeitungsvorgängen durchführen. Dies macht PHP zu einer sehr leistungsstarken Plattform für Anwendungen zur Audio- und Videobearbeitung und -verarbeitung.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie Videodateien mit PHP in das MP4-Format. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn