So verwenden Sie PHP und FFMPEG zum Verarbeiten und Transkodieren von Audio und Video

WBOY
Freigeben: 2023-06-25 16:48:01
Original
1679 Leute haben es durchsucht

Mit der rasanten Entwicklung von Audio- und Videomedien sind wir in unserem Leben und unserer Arbeit zunehmend mit Audio- und Videodateien in verschiedenen Formaten konfrontiert. Allerdings können unterschiedliche Geräte, unterschiedliche Anlässe und unterschiedliche Anforderungen Audio- und Videodateien in unterschiedlichen Kodierungsformaten erfordern. Daher ist die Transkodierung von Audio- und Videodateien zu einer wesentlichen Anforderung geworden. In diesem Artikel stellen wir vor, wie Sie PHP und FFMPEG (ein Open-Source-Audio- und Videocodec) zum Verarbeiten und Transkodieren von Audio und Video verwenden.

  1. FFMPEG installieren

Zuerst müssen wir FFMPEG auf dem Server installieren. Der Installationsprozess ist relativ langwierig, aber die Hauptschritte sind wie folgt:

1.1 Abhängigkeiten installieren

Zuerst müssen wir die Bibliotheken installieren, von denen FFMPEG abhängt. Auf einem Ubuntu-System können Sie den folgenden Befehl zur Installation verwenden:

sudo apt-get update
sudo apt-get install autoconf automake build-essential libass-dev libfreetype6-dev libsdl2-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo wget zlib1g-dev
Nach dem Login kopieren

1.2 FFMPEG herunterladen

Anschließend müssen wir den FFMPEG-Quellcode herunterladen. Sie können die neueste Version von der offiziellen Website herunterladen (https://www.ffmpeg .org) oder verwenden Sie den folgenden Befehl:

wget https://www.ffmpeg.org/releases/ffmpeg-4.4.tar.gz
tar xvf ffmpeg-4.4.tar.gz
Nach dem Login kopieren

1.3 Kompilieren und installieren Sie FFMPEG. Als nächstes müssen wir FFMPEG kompilieren und installieren. Sie können den folgenden Befehl verwenden:

cd ffmpeg-4.4
./configure --enable-shared --disable-static --enable-gpl --enable-libfreetype --enable-libvorbis --enable-libx264 --enable-libx265 --enable-nonfree
make -j8
sudo make install
Nach dem Login kopieren

Nachdem die Kompilierung und Installation abgeschlossen ist, werden wir kann FFMPEG auf dem Server verwenden.

Verwenden Sie PHP, um FFMPEG für die Audio- und Videoverarbeitung aufzurufen.
  1. Nachdem wir den Installationsprozess von FFMPEG verstanden haben, können wir überlegen, wie wir PHP verwenden, um FFMPEG aufzurufen, um Audio- und Videodateien zu transkodieren und zu verarbeiten.

2.1 Verwenden Sie die Exec-Funktion, um FFMPEG aufzurufen.

PHP stellt die Exec-Funktion bereit, mit der Befehle in der Systembefehlszeile ausgeführt werden können. Daher können Sie die exec-Funktion in PHP verwenden, um FFMPEG für die Audio- und Videoverarbeitung aufzurufen. Mit dem folgenden Code kann beispielsweise eine Videodatei im MP4-Format in das AVI-Format konvertiert werden:

$cmd = "ffmpeg -i input.mp4 output.avi";
exec($cmd);
Nach dem Login kopieren

2.2 Verwenden Sie die PHP-Erweiterung, um FFMPEG zu kapseln

Obwohl FFMPEG bequem mit der Exec-Funktion aufgerufen werden kann, bestehen klare Sicherheitsrisiken und jeder Befehl kann implementiert werden, daher wird seine Verwendung nicht empfohlen. Zu diesem Zweck können wir PHP-Erweiterungen verwenden, um die FFMPEG-API zu kapseln und FFMPEG bequemer aufzurufen. In PHP gibt es zwei Haupterweiterungen, die zum Kapseln von FFMPEG verwendet werden können: FFMPEG-Erweiterung (http://ffmpeg-php.sourceforge.net) und PHP-FFMpeg (https://github.com/PHP-FFMpeg/PHP- FFMpeg ).

2.2.1 Verwendung der FFMPEG-Erweiterung

Die FFMPEG-Erweiterung kann über das PECL-Tool installiert werden und kann mit dem folgenden Befehl installiert werden:

sudo pecl install ffmpeg
Nach dem Login kopieren

Nach Abschluss der Installation muss die Erweiterung zur Datei php.ini hinzugefügt werden. die wie folgt in die Datei eingefügt werden können:

extension=ffmpeg.so
Nach dem Login kopieren

Mit der FFMPEG-Erweiterung können Sie ganz einfach die FFMPEG-API für die Audio- und Videoverarbeitung aufrufen. Beispielsweise kann der folgende Code Videodateien im MP4-Format in das AVI-Format konvertieren:

$movie = new ffmpeg_movie("input.mp4");
$cmd = "ffmpeg -i input.mp4 output.avi";
exec($cmd);
Nach dem Login kopieren

2.2.2 Verwendung der PHP-FFMpeg-Erweiterung

PHP-FFMpeg ist eine auf FFMPEG basierende PHP-Erweiterung, die eine einheitliche API für die Audioverarbeitung und Videoverarbeitung bereitstellt . Zur Installation können Sie den folgenden Befehl verwenden:

composer require php-ffmpeg/php-ffmpeg
Nach dem Login kopieren

Nach Abschluss der Installation können Sie den folgenden Code zum Verarbeiten von Audio und Video verwenden:

$ffmpeg = FFMpegFFMpeg::create();
$video = $ffmpeg->open('video.mp4');
$format = new FFMpegFormatVideoWMV();
$format->setAudioCodec("wmav2")
       ->setVideoCodec("wmv2");
$video->save($format, 'video.wmv');
Nach dem Login kopieren

Fazit
  1. In diesem Artikel wird erläutert, wie Sie PHP und FFMPEG zum Verarbeiten und Verarbeiten verwenden Audio und Video transkodieren. In der tatsächlichen Entwicklung ist es notwendig, die geeignete Methode zur Audio- und Videoverarbeitung und -transkodierung entsprechend den spezifischen Anforderungen auszuwählen.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie PHP und FFMPEG zum Verarbeiten und Transkodieren von Audio und Video. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!