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.
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
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
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
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.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);
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 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
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);
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 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');
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!