LINUX

Cómo instalar FFMPEG en CentOS 7

FFMPEG es un marco multimedia importante, capaz de decodificar, codificar, transcodificar, mux, demux, transmitir, filtrar y reproducir varios archivos de audio y video en diferentes formatos. FFMPEG es un conversor de video y audio muy rápido que también puede tomar de una fuente de audio / video en vivo. También puede convertir entre frecuencias de muestreo arbitrarias y cambiar el tamaño del video sobre la marcha con un filtro polifásico de alta calidad. Es compatible con varios archivos de biblioteca como libavcodec, libavutil, libavformat, libavfilter, libavdevice, libswscale y libswresample.

libavcodec – una biblioteca de códecs de audio / video
libavutil – biblioteca de utilidades para ayudar a la programación multimedia portátil
libavformat – biblioteca que proporciona un marco para multiplexar y multiplexar secuencias de video / audio y subtítulos
libavfilter – biblioteca que mejora un filtrado genérico de audio / video
libavdevice – biblioteca que proporciona un marco que captura y renderiza muchos marcos de dispositivos de entrada / salida multimedia comunes
libswscale – biblioteca que mejora las operaciones de conversión de formato de píxeles y espacio de color y escala de imagen altamente optimizadas
libswresample – biblioteca que promueve operaciones de remuestreo de audio, rematrixing y conversión de formato de muestra

En resumen, es un software gratuito disponible con bibliotecas y programas para manejar datos multimedia. También se puede utilizar como herramienta de línea de comandos en PHP y otros lenguajes de programación para transcodificar archivos multimedia.

Pasos de instalación para FFMPEG

Necesitamos instalar un archivo de repetición adecuado que incluya este paquete FFMPEG, que es el paso más importante de esta instalación.

Probé varios repositorios como RPMforge, EPEL y repositorios Webtatic en CentOS 7, pero estos repositorios carecían de paquetes FFMPEG. Por lo tanto, probé un nuevo repositorio que se llama Nux Dextop. Repasemos los pasos de instalación.

1. Habilite el repositorio Nux Dextop en CentOS 7

Es un repositorio RPM de terceros que contiene muchos paquetes populares relacionados con multimedia para las versiones de CentOS. Este repositorio solo funciona si el repositorio EPEL está habilitado en el servidor. Por lo tanto, primero debe asegurarse de haber habilitado el repositorio de EPEL.

Así es como instalamos el repositorio EPEL en un servidor CentOS 7.

#Install EPEL repo
yum -y install epel-release

Después de habilitar el repositorio de epel, continúe e instale el repositorio de Nux Dextop.

root@server1 [~]# rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
root@server1 [~]# rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
Retrieving http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
Preparing... ################################# [100%]
Updating / installing...
1:nux-dextop-release-0-1.el7.nux ################################# [100%]
root@server1 [~]#

***IMPORTANT ***

Nux Dextop repository is an architecture independent RPM, so you can install the same RPM on both 32-bit and 64-bit.

Ahora podemos verificar que el repositorio de Nux Dextop esté instalado correctamente.

nux1

2. Instale los paquetes de desarrollo FFMPEG y FFMPEG

Al instalar estos paquetes, todas las bibliotecas se instalarán en paralelo.

root@server1 [~]# yum -y install ffmpeg ffmpeg-devel
===============================================================================================================================================
Package Arch Version Repository Size
===============================================================================================================================================
Installing:
ffmpeg x86_64 2.6.5-1.el7.nux nux-dextop 1.5 M
ffmpeg-devel x86_64 2.6.5-1.el7.nux nux-dextop 286 k
Installing for dependencies:
SDL x86_64 1.2.15-14.el7 base 204 k
alsa-lib x86_64 1.0.28-2.el7 base 391 k
ffmpeg-libs x86_64 2.6.5-1.el7.nux nux-dextop 5.0 M
flac-libs x86_64 1.3.0-5.el7_1 base 169 k
fribidi x86_64 0.19.4-6.el7 base 63 k
gsm x86_64 1.0.13-11.el7 base 30 k
lame-libs x86_64 3.99.5-2.el7 nux-dextop 339 k
libXi x86_64 1.7.4-2.el7 base 40 k
libXtst x86_64 1.2.2-2.1.el7 base 20 k
libXv x86_64 1.0.10-2.el7 base 18 k
libass x86_64 0.13.1-1.el7 epel 90 k
libasyncns x86_64 0.8-7.el7 base 26 k
libavdevice x86_64 2.6.5-1.el7.nux nux-dextop 71 k
libcdio x86_64 0.92-1.el7 base 235 k
libcdio-paranoia x86_64 10.2+0.90-11.el7 base 70 k
libdc1394 x86_64 2.2.2-3.el7 epel 121 k
libogg x86_64 2:1.3.0-7.el7 base 24 k
libraw1394 x86_64 2.1.0-2.el7 base 63 k
libsndfile x86_64 1.0.25-10.el7 base 149 k
libtheora x86_64 1:1.1.1-8.el7 base 136 k
libusbx x86_64 1.0.15-4.el7 base 50 k
libv4l x86_64 0.9.5-4.el7 base 194 k
libva x86_64 1.2.1-3.el7 epel 68 k
libvdpau x86_64 1.1-2.el7 base 32 k
libvorbis x86_64 1:1.3.3-8.el7 base 204 k
mesa-filesystem x86_64 10.6.5-3.20150824.el7 base 23 k
openal-soft x86_64 1.16.0-2.el7 epel 282 k
openjpeg-libs x86_64 1.5.1-10.el7 base 85 k
opus x86_64 1.0.2-6.el7 base 630 k
orc x86_64 0.4.22-5.el7 base 165 k
pulseaudio-libs x86_64 6.0-7.el7 base 576 k
schroedinger x86_64 1.0.11-4.el7 epel 291 k
soxr x86_64 0.1.2-1.el7 epel 77 k
speex x86_64 1.2-0.19.rc1.el7 base 98 k
x264-libs x86_64 0.142-11.20141221git6a301b6.el7.nux nux-dextop 570 k
x265-libs x86_64 1.6-1.el7.nux nux-dextop 476 k
xvidcore x86_64 1.3.2-5.el7.nux nux-dextop 258 k

Transaction Summary
===============================================================================================================================================
Install 2 Packages (+37 Dependent packages)


3. Verifique y confirme la versión de FFMPEG

Puede usar este comando para verificar la versión de ffmpeg instalada y para confirmar la configuración.

root@server1 [~]# ffmpeg
ffmpeg version 2.6.5 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.8.3 (GCC) 20140911 (Red Hat 4.8.3-9)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic" --enable-bzlib --disable-crystalhd --enable-gnutls --enable-ladspa --enable-libass --enable-libcdio --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
libavutil 54. 20.100 / 54. 20.100
libavcodec 56. 26.100 / 56. 26.100
libavformat 56. 25.101 / 56. 25.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 11.102 / 5. 11.102
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

Ahora hemos completado con la instalación de ffmpeg. Ya ves lo sencillo que es instalarlo cuando vamos por el camino correcto.

Te daré un ejemplo para convertir un archivo mp3 a formato oog usando este módulo en CLI.

Descargue un archivo mp3 y ejecute el comando ffmpeg para convertir el archivo mp3 a formato ogg.

root@server1 [/usr/local/src]# wget https://ia802508.us.archive.org/5/items/testmp3testfile/mpthreetest.mp3
--2016-02-09 09:01:43-- https://ia802508.us.archive.org/5/items/testmp3testfile/mpthreetest.mp3
Resolving ia802508.us.archive.org (ia802508.us.archive.org)... 207.241.228.198
Connecting to ia802508.us.archive.org (ia802508.us.archive.org)|207.241.228.198|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 198658 (194K)
Saving to: ‘mpthreetest.mp3’

100%[=====================================================================================================>] 1,98,658 999KB/s in 0.2s

2016-02-09 09:01:44 (999 KB/s) - ‘mpthreetest.mp3’ saved [198658/198658]

root@server1 [/usr/local/src]# ffmpeg -i mpthreetest.mp3 -c:a libvorbis -q:a 4 mpthreetest.ogg
ffmpeg version 2.6.5 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.8.3 (GCC) 20140911 (Red Hat 4.8.3-9)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic" --enable-bzlib --disable-crystalhd --enable-gnutls --enable-ladspa --enable-libass --enable-libcdio --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
libavutil 54. 20.100 / 54. 20.100
libavcodec 56. 26.100 / 56. 26.100
libavformat 56. 25.101 / 56. 25.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 11.102 / 5. 11.102
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
[mp3 @ 0x16e2e40] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from 'mpthreetest.mp3':
Metadata:
title : Test of MP3 File
artist : Me
album : Me
date : 2006
comment : test
track : 1
genre : Other
Duration: 00:00:12.42, start: 0.000000, bitrate: 128 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, mono, s16p, 128 kb/s
Output #0, ogg, to 'mpthreetest.ogg':
Metadata:
title : Test of MP3 File
artist : Me
album : Me
date : 2006
comment : test
track : 1
genre : Other
encoder : Lavf56.25.101
Stream #0:0: Audio: vorbis (libvorbis), 44100 Hz, mono, fltp
Metadata:
encoder : Lavc56.26.100 libvorbis
title : Test of MP3 File
artist : Me
album : Me
date : 2006
DESCRIPTION : test
TRACKNUMBER : 1
genre : Other
Stream mapping:
Stream #0:0 -> #0:0 (mp3 (native) -> vorbis (libvorbis))
Press [q] to stop, [?] for help
size= 105kB time=00:00:12.40 bitrate= 69.1kbits/s
video:0kB audio:100kB subtitle:0kB other streams:0kB global headers:3kB muxing overhead: 4.706274%

Ahora nuestro archivo de prueba MP3 se convierte al formato de compresión de audio Vorbis (ogg), que es mucho mejor en comparación con el mp3.

Del mismo modo, podemos codificar, decodificar y convertir cualquier formato de archivo de video, imágenes o audio usando esta herramienta de línea de comandos. Incluso podemos hacer uso de este módulo en PHP mediante la codificación adecuada. Puede obtener más información sobre el uso de esta herramienta consultando la página del manual que puede obtener ejecutando el comando «hombre ffmpeg«.

root@server1 [~]# man ffmpeg

proceso de transcodificación

Espero que haya disfrutado leyendo esta documentación sobre FFMPEG. ¡Recomendaría sus valiosas sugerencias y comentarios sobre esto!

Que tenga un lindo día 🙂

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar