FFmpeg es una popular biblioteca de conversión/procesamiento de video y audio, junto con la extensión PHP-FFmpeg que puede ayudarlo a crear potentes aplicaciones web de video en cuestión de minutos. FFmpeg también puede convertir multimedia sobre la marcha y aplicar filtros potentes a sus archivos de audio y video.
Importante:este método debería funcionar para CentOS 6.x y 7.x sin cPanel, solo tiene que editar el archivo php.ini correcto (generalmente ubicado en /etc/php.ini) mientras carga php-ffmpeg extensión
Instala FFmpeg y la extensión PHP-FFmpeg
A veces, este proceso de instalación puede ser difícil o puede encontrar muchos errores durante la compilación si está utilizando el código fuente; sin embargo, usaremos archivos rpm para la instalación de ffmpeg y compilaremos solo la extensión php-ffmpeg. Comencemos.
Instala el repositorio de Dag
Cree un nuevo archivo llamado dag.repo dentro de los repositorios de yum:
nano -w /etc/yum.repos/dag.repo
Pegue esto dentro exactamente como lo ve:
[dag] name=DAG RPM Repository baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag gpgcheck=1 enabled=1
Importar clave GPG de Dag
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
Instalar el paquete libdc1394:
yum install libdc1394-devel
Instale los paquetes ffmpeg y ffmpeg-devel:
yum -y install ffmpeg ffmpeg-devel
Prueba FFMPEG
Debería ver este tipo de salida:
[[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
Ahora comencemos con la extensión php-ffmpeg, que le permitirá manipular video y audio a través del lenguaje de programación PHP:
Haga una copia de seguridad de su archivo php.ini actual
cp /usr/local/lib/php.ini /usr/local/lib/php.ini.backup
Instalar Git
yum -y install git
Descargar y compilar
cd /root/ git clone https://github.com/tony2001/ffmpeg-php.git cd ffmpeg-php phpize ./configure make make install
Edite su php.ini
nano -w /usr/local/lib/php.ini
Al final del archivo, agregue la extensión para que PHP pueda cargarlo:
extension="ffmpeg.so"
Guarde su archivo y reinicie httpd para aplicar los cambios:
service httpd restart
Pruébalo:
php -i | grep ffmpeg
Eso debería darte un gran resultado como este:
[[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
¿Cómo puedo convertir un archivo de video?
De hecho, es bastante fácil, así:
$ ffmpeg -i input.mp4 output.avi
Lectura adicional:
- Documentación oficial de FFMPEG
- Ejemplos PHP-FFMPEG