FFmpeg ist eine beliebte Video- und Audiokonverter-/-verarbeitungsbibliothek. Zusammen mit der PHP-FFmpeg-Erweiterung können Sie innerhalb von Minuten leistungsstarke Video-Web-Apps erstellen. FFmpeg kann auch Multimedia im Handumdrehen konvertieren und leistungsstarke Filter auf Ihre Audio- und Videodateien anwenden.
Wichtig:Diese Methode sollte für einfaches CentOS 6.x und 7.x ohne cPanel funktionieren, Sie müssen nur die richtige php.ini-Datei (normalerweise unter /etc/php.ini) bearbeiten, während Sie php-ffmpeg laden Erweiterung
Installieren Sie FFmpeg und die PHP-FFmpeg-Erweiterung
Manchmal kann dieser Installationsprozess schwierig sein oder Sie können beim Kompilieren viele Fehler finden, wenn Sie den Quellcode verwenden. Wir verwenden jedoch RPM-Dateien für die ffmpeg-Installation und kompilieren nur die php-ffmpeg-Erweiterung. Fangen wir an.
Installieren Sie das Dag-Repository
Erstellen Sie eine neue Datei namens dag.repo in den Yum-Repositories:
nano -w /etc/yum.repos/dag.repo
Fügen Sie dies genau so ein, wie Sie es sehen:
[dag] name=DAG RPM Repository baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag gpgcheck=1 enabled=1
Importieren Sie den GPG-Schlüssel von Dag
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
Paket libdc1394 installieren:
yum install libdc1394-devel
Installieren Sie die Pakete ffmpeg und ffmpeg-devel:
yum -y install ffmpeg ffmpeg-devel
FFMPEG testen
Sie sollten diese Art von Ausgabe sehen:
[[email protected]:~]ffmpeg -version ffmpeg version 2.2.1 built on Apr 13 2014 13:00:18 with gcc 4.4.6 (GCC) 20120305 (Red Hat 4.4.6-4) configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-shared --enable-runtime-cpudetect --enable-gpl --enable-version3 --enable-postproc --enable-avfilter --enable-pthreads --enable-x11grab --enable-vdpau --disable-avisynth --enable-frei0r --enable-libopencv --enable-libdc1394 --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --disable-stripping libavutil 52. 66.100 / 52. 66.100 libavcodec 55. 52.102 / 55. 52.102 libavformat 55. 33.100 / 55. 33.100 libavdevice 55. 10.100 / 55. 10.100 libavfilter 4. 2.100 / 4. 2.100 libswscale 2. 5.102 / 2. 5.102 libswresample 0. 18.100 / 0. 18.100 libpostproc 52. 3.100 / 52. 3.100
Beginnen wir nun mit der Erweiterung php-ffmpeg, mit der Sie Video und Audio über die PHP-Programmiersprache bearbeiten können:
Sichern Sie Ihre aktuelle php.ini-Datei
cp /usr/local/lib/php.ini /usr/local/lib/php.ini.backup
Installieren Sie Git
yum -y install git
Herunterladen und kompilieren
cd /root/ git clone https://github.com/tony2001/ffmpeg-php.git cd ffmpeg-php phpize ./configure make make install
Bearbeiten Sie Ihre php.ini
nano -w /usr/local/lib/php.ini
Fügen Sie am Ende der Datei die Erweiterung hinzu, damit PHP sie laden kann:
extension="ffmpeg.so"
Speichern Sie Ihre Datei und starten Sie httpd neu, um die Änderungen zu übernehmen:
service httpd restart
Testen Sie es:
php -i | grep ffmpeg
Das sollte Ihnen eine große Ausgabe wie diese geben:
[[email protected]:~]php -i | grep ffmpeg ffmpeg ffmpeg-php version => 0.7.0 ffmpeg-php built on => Aug 4 2015 23:38:38 ffmpeg-php gd support => disabled ffmpeg libavcodec version => Lavc55.52.102 ffmpeg libavcodec license => GPL version 3 or later ffmpeg libavformat version => Lavf55.33.100 ffmpeg libavformat license => GPL version 3 or later ffmpeg swscaler version => SwS2.5.102 ffmpeg swscaler license => GPL version 3 or later
Wie kann ich eine Videodatei konvertieren?
Es ist eigentlich ziemlich einfach, genau so:
$ ffmpeg -i input.mp4 output.avi
Weiterführende Literatur:
- Offizielle FFMPEG-Dokumentation
- PHP-FFMPEG-Beispiele