FFmpeg est une bibliothèque de conversion/traitement vidéo et audio populaire, ainsi que l'extension PHP-FFmpeg qui peut vous aider à créer de puissantes applications Web vidéo en quelques minutes. FFmpeg peut également convertir du multimédia à la volée et appliquer de puissants filtres à vos fichiers audio et vidéo.
Important :cette méthode devrait fonctionner pour CentOS 6.x et 7.x sans cPanel, il vous suffit de modifier le fichier php.ini correct (généralement situé dans /etc/php.ini) lors du chargement de php-ffmpeg extension
Installer FFmpeg et l'extension PHP-FFmpeg
Parfois, ce processus d'installation peut être difficile ou vous pouvez trouver beaucoup d'erreurs lors de la compilation si vous utilisez le code source, cependant nous utiliserons des fichiers rpm pour l'installation de ffmpeg et ne compilerons que l'extension php-ffmpeg. Commençons.
Installez le dépôt Dag
Créez un nouveau fichier appelé dag.repo dans les dépôts yum :
nano -w /etc/yum.repos/dag.repo
Collez ceci à l'intérieur exactement comme vous le voyez :
[dag] name=DAG RPM Repository baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag gpgcheck=1 enabled=1
Importer la clé GPG de Dag
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
Installez le package libdc1394 :
yum install libdc1394-devel
Installez les packages ffmpeg et ffmpeg-devel :
yum -y install ffmpeg ffmpeg-devel
Tester FFMPEG
Vous devriez voir ce type de sortie :
[[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
Commençons maintenant avec l'extension php-ffmpeg, qui vous permettra de manipuler la vidéo et l'audio via le langage de programmation PHP :
Sauvegardez votre fichier php.ini actuel
cp /usr/local/lib/php.ini /usr/local/lib/php.ini.backup
Installer Git
yum -y install git
Télécharger et compiler
cd /root/ git clone https://github.com/tony2001/ffmpeg-php.git cd ffmpeg-php phpize ./configure make make install
Modifiez votre php.ini
nano -w /usr/local/lib/php.ini
À la fin du fichier, ajoutez l'extension pour que PHP puisse le charger :
extension="ffmpeg.so"
Enregistrez votre fichier et redémarrez httpd pour appliquer les modifications :
service httpd restart
Testez-le :
php -i | grep ffmpeg
Cela devrait vous donner un gros résultat comme celui-ci :
[[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
Comment puis-je convertir un fichier vidéo ?
C'est assez simple en fait, comme ceci :
$ ffmpeg -i input.mp4 output.avi
Lectures complémentaires :
- Documentation officielle FFMPEG
- Exemples PHP-FFMPEG