Manual de FFmpeg con ejemplos – Parte 2 de 2

Manual de FFmpeg con ejemplos – Parte 2 de 2.

Continuamos con el manual de FFmpeg, que recordemos que consta de dos partes, en cada una vemos lo siguiente:

  • Instalar ffmpeg: Parte 1 de 2
  • Como usar ffmpeg – básico: Parte 1 de 2
  • Uso de ffmpeg – avanzado: Parte 2 de 2
  • Como usar los filtros de ffmpeg: Parte 2 de 2

Vamos a la segunda parte.

Manual de FFmpeg con ejemplos - Parte 2 de 2 1

 

Manual de FFmpeg con ejemplos

Uso de ffmpeg – avanzado

Dividir un archivo multimedia:

Para dividir un archivo en varias partes independientes que sean operativas, especificamos las horas de inicio y de finalización (o duración).

Por ejemplo:

ffmpeg -i mivideo.mp4 -t 00:00:30 mivideo_1.mp4 -ss 00:00:30 mivideo_2.mp4

Según lo especificado, el primer vídeo será de 30 segundos, el segundo el resto del archivo a partir de la finalización del primer vídeo. Puedes crear todas las divisiones que quieras.

 

Concatenar archivos:

La herramienta ffmpeg es capaz de concatenar archivos multimedia (audio, video, etc…), ademas realiza está operación de manera muy simple.

Creamos un archivo de texto con nuestro editor preferido.

nano mis-videos.txt

Agregamos las rutas completas de los archivos que queremos concatenar, por ejemplo:

/home/sololinux/vídeos/video1.mp4

/home/sololinux/vídeos/video2.mp4

/home/sololinux/vídeos/video3.mp4

Guarda el archivo y cierra el editor.

Ejecuta lo siguiente:

ffmpeg -f concat -i mis-videos.txt video-completo.mp4

Vídeo concatenado.

 

Grabar la pantalla en vídeo:

Muy útil para grabar demostraciones en vídeo, ejemplos, etc… . Debes especificar la resolución de tu monitor (por ejemplo 1280 x 720), y el numero de monitor que usas (es por si estas usando más de un monitor) que normalmente es «0.0»

ffmpeg -f x11grab -s 1280x720 -i :0.0 video.mp4

Puedes evitar tener que ingresar la resolución, con:
-s $(xdpyinfo | grep dimensions | awk '{print $2;}')

El resultado del comando completo es:
ffmpeg -f x11grab -s $(xdpyinfo | grep dimensions | awk '{print $2;}') -i :0.0 video.mp4

El vídeo se reproducirá a pantalla completa independientemente de la resolución del monitor.

 

Grabar la WebCam:

Detecta donde está conectada la webcam u otro dispositivo similar. Normalmente la puedes encontrar en /dev: /dev/video0, /dev/video1, etc…

Ejecuta.

ffmpeg -i /dev/video0 video.mkv

Para detener la grabación pulsa «Q» o «CTRL+C«.

 

Grabar audio:

Las distribuciones linux manejan el audio de un sistema a través de ALSA y pulseaudio. La herramienta ffmpeg puede manejar cualquiera de los dos, pero en este caso nos decantaremos por pulseaudio.

Para poder usar pulseaudio ejecutaremos ( -f ) alsa, ademas indicaremos el valor de la entrada de audio, normalmente ( -i ) default.

ejemplo de uso…

ffmpeg -f alsa -i default musica.mp3

 

Grabar vídeo y audio:

En este ejemplo que te propongo grabamos el vídeo y el audio de forma independiente, ademas puedes modificar el codec y seleccionar los frames.

ffmpeg -i /dev/video0 -f alsa -i default -c:v libx264 -c:a flac -r 30 salida.mkv

También es posible que mientras se graba un vídeo, ir añadiendo audio de un archivo definido.
ffmpeg -f x11grab -s $(xdpyinfo | grep dimensions | awk '{print $2;}') -i :0.0 -i audio.wav -c:a copy video.mp4

Manual de FFmpeg con ejemplos - Parte 2 de 2 2

 

Como usar los filtros de ffmpeg:

Los filtros de ffmpeg son su característica más poderosa. Existen multitud de filtros disponibles para su uso, lamentablemente no podemos hablar de todos, pero si veremos los más habituales y útiles.

La sintaxis de los filtros es la siguiente:

ffmpeg -i entrada.mp4 -vf "filter=setting_1=value_1:setting_2=value_2,etc" salida.mp4

ffmpeg -i entrada.wav -af "filter=setting_1=value_1:setting_2=value_2,etc" salida.wav

Especificar filtros:
  • De vídeo: -vf
  • De audio: -af

Los filtros se insertan entre comillas dobles (  ) y se pueden encadenar separándolos por comas ( , ). Los filtros y sus valores se deben separar unos de otros con dos puntos ( : ), se permite insertar todos los filtros que necesites en un mismo comando.

 

Escalado de un vídeo:

Tan solo ajustamos el ancho y el alto.

ffmpeg -i video.mp4 -vf "scale=w=800:h=600" video2.mp4

 

Rotar vídeo:

La rotación siempre es en sentido de las agujas del reloj, y se calcula por un valor en radianes (PI rad = 180 grados). Para que la operación resulte un poco mas simple puedes especificar un valor en grados y convertirlo a radianes multiplicando el valor con PI / 180.

Por ejemplo: rotar 90 grados a la derecha.

ffmpeg -i video.avi -vf "rotate=90*PI/180"

Otro ejemplo: rotar 180 grados (el vídeo estará al revés).
ffmpeg -i input.mp4 -vf "rotate=PI"

 

Reasignar canales de audio:

Muy útil si en una grabación dañada o muy antigua, escuchas por ejemplo solo el canal de la derecha.

ffmpeg -i input.mp3 -af "channelmap = 1-0 | 1-1" output.mp3

 

Aumentar o disminuir el volumen de un archivo:

Para modificar el volumen de un archivo tan solo debes modificar el valor multiplicador.

Aumentar: por ejemplo 1.75%.

ffmpeg -i audio.wav -af "volume=1.75" audio2.wav

Disminuir (bajar): por ejemplo 0.5%.
ffmpeg -i audio.ogg -af "volume=0.5" audio1.ogg

Manual de FFmpeg con ejemplos - Parte 2 de 2 3

 

TIP – Velocidad de reproducción:

En formato vídeo.

El filtro que modifica la velocidad de reproducción en un  video es setpts (PTS), y tiene una particularidad… su función es inversa,  a mayor valor se obtiene una reproducción más lenta.

Por ejemplo, para doblar la velocidad de reproducción:

ffmpeg -i video.mkv -vf "setpts=0.5*PTS" video1.mkv

Para disminuirla a la mitad…
ffmpeg -i video.mp4 -vf "setpts=2*PTS" video1,mp4

 

En formato audio.

El filtro que modifica la velocidad de reproducción de un audio es «atempo«.

OJO!!!, este filtro solo toma valores entre 0.5 (la mitad de la velocidad) y 2 (el doble de la velocidad). Para solventar este inconveniente podemos encadenar varios filtros atempo.

En este ejemplo ralentizamos 1/4 la velocidad de reproducción habitual.

ffmpeg -i musica.wav -af "atempo=0.75" musica2.wav

Ahora aumentamos la velocidad por cuatro, y como el filtro no permite 4, ejecutamos 2 x 2.
ffmpeg -i audio.mp3 -af "atempo=2.0,atempo=2.0" audio1.mp3

 

Y con este ultimo tip damos por concluido el articulo:

«Manual de FFmpeg con ejemplos»

Espero te resulte de gran utilidad.

Compártelo en tus redes sociales.

 

Agregar comentario