Comandos FFmpeg útiles para trabajar con archivos de audio y video

Publicado: 2022-02-26

FFmpeg es una herramienta de línea de comandos extremadamente poderosa y versátil para convertir archivos de audio y video. Es gratis y está disponible para máquinas Windows, Mac y Linux. Ya sea que desee unir dos archivos de video, extraer el componente de audio de un archivo de video, convertir su video en un GIF animado, FFmpeg puede hacerlo todo e incluso más.

Extraiga el audio de un archivo de video con este simple comando FFmpeg. Extraiga el audio de un archivo de video con este simple comando FFmpeg.

Comandos útiles de FFmpeg

FFmpeg es compatible con todos los formatos populares de audio y video. O puede ejecutar el comando ./ffmpeg -formats para obtener una lista de todos los formatos compatibles con su instalación de FFmpeg. Si recién está comenzando, aquí hay algunos comandos que le darán una buena idea de las capacidades de esta herramienta.

1. Corta el archivo de video en un clip más pequeño

Puede usar el parámetro de compensación de tiempo (-ss) para especificar la marca de tiempo de inicio en formato HH:MM:SS.ms, mientras que el parámetro -t es para especificar la duración real del clip en segundos.

ffmpeg -i input.mp4 -ss 00:00:50.0 -codec copy -t 20 output.mp4

2. Divide un video en varias partes

Si desea dividir un video grande en varios clips más pequeños sin volver a codificar, ffmpeg puede ayudarlo. Este comando dividirá el video de origen en 2 partes: una que termina en 50 segundos desde el inicio y la otra comienza en 50 segundos y termina al final del video de entrada.

ffmpeg -i video.mp4 -t 00:00:50 -c copy small-1.mp4 -ss 00:00:50 -codec copy small-2.mp4

3. Convierte videos de un formato a otro

Puede usar el parámetro -vcodec para especificar el formato de codificación que se usará para el video de salida. La codificación de un video lleva tiempo, pero puede acelerar el proceso forzando un ajuste preestablecido, aunque degradaría la calidad del video de salida.

ffmpeg -i youtube.flv -c:v libx264 filename.mp4

ffmpeg -i video.wmv -c:v libx264 -preset ultrafast video.mp4

4. Unir (concatenar) archivos de video

Si tiene varios archivos de audio o video codificados con los mismos códecs, puede unirlos en un solo archivo usando FFmpeg. Cree un archivo de entrada con una lista de todos los archivos de origen que desea concatenar y luego ejecute este comando.

ffmpeg -f concat -i file-list.txt -c copy output.mp4

5. Silenciar un video (Eliminar el componente de audio)

Use el parámetro -an para deshabilitar la parte de audio de una transmisión de video.

ffmpeg -i video.mp4 -an mute-video.mp4

6. Extraiga el audio del video

El interruptor -vn extrae la porción de audio de un video y estamos usando el interruptor -ab para guardar el audio como un archivo de audio MP3 de 256 kbps.

ffmpeg -i video.mp4 -vn -ab 256 audio.mp3

7. Convierte un video en un GIF animado

FFmpeg es una excelente herramienta para convertir videos en GIF animados y la calidad tampoco es mala. Use el filtro de escala para especificar el ancho del GIF, el parámetro -t especifica la duración mientras que -r especifica la velocidad de fotogramas (fps).

ffmpeg -i video.mp4 -vf scale=500:-1 -t 10 -r 10 image.gif

8. Extraiga cuadros de imagen de un video

Este comando extraerá el cuadro de video en la marca de 15 segundos y lo guardará como una imagen JPEG de 800 px de ancho. También puede usar el interruptor -s (como -s 400x300) para especificar las dimensiones exactas del archivo de imagen, aunque probablemente creará una imagen estirada si el tamaño de la imagen no sigue la relación de aspecto del archivo de video original.

ffmpeg -ss 00:00:15 -i video.mp4 -vf scale=800:-1 -vframes 1 image.jpg

9. Convierte videos en imágenes

Puede usar FFmpeg para extraer automáticamente cuadros de imagen de un video cada 'n' segundos y las imágenes se guardan en una secuencia. Este comando guarda cuadros de imagen del video cada 4 segundos.

ffmpeg -i movie.mp4 -r 0.25 frames_%04d.png

10. Combinar un archivo de audio y video

También puede especificar el conmutador -shortest para finalizar la codificación cuando finalice el clip más corto.

ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -strict experimental output.mp4

ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -strict experimental -shortest output.mp4

11. Cambiar el tamaño de un video

Use el interruptor de tamaño (-s) con ffmpeg para cambiar el tamaño de un video mientras mantiene la relación de aspecto.

ffmpeg -i input.mp4 -s 480x320 -c:a copy output.mp4

12. Crea una presentación de diapositivas de video a partir de imágenes.

Este comando crea una presentación de diapositivas de video usando una serie de imágenes que se nombran como img001.png, img002.png, etc. Cada imagen tendrá una duración de 5 segundos (-r 1/5).

ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p slideshow.mp4

13. Agregue una imagen de póster al audio

Puede agregar una imagen de portada a un archivo de audio y la duración del video de salida será la misma que la del flujo de audio de entrada. Esto puede ser útil para cargar archivos MP3 en YouTube.

ffmpeg -loop 1 -i image.jpg -i audio.mp3 -c:v libx264 -c:a aac -strict experimental -b:a 192k -shortest output.mp4

14. Convierte una sola imagen en un video

Use el parámetro -t para especificar la duración del video.

ffmpeg -loop 1 -i image.png -c:v libx264 -t 30 -pix_fmt yuv420p video.mp4

15. Agrega subtítulos a una película

Esto tomará los subtítulos del archivo .srt. FFmpeg puede decodificar todos los formatos de subtítulos comunes.

ffmpeg -i movie.mp4 -i subtitles.srt -map 0 -map 1 -c copy -c:v libx264 -crf 23 -preset veryfast output.mkv

16. Recorta un archivo de audio

Esto creará un archivo de audio de 30 segundos a partir de los 90 segundos del archivo de audio original sin transcodificación.

ffmpeg -ss 00:01:30 -t 30 -acodec copy -i inputfile.mp3 outputfile.mp3

17. Cambia el volumen del audio

Puede usar el filtro de volumen para alterar el volumen de un archivo multimedia usando FFmpeg. Este comando reducirá a la mitad el volumen del archivo de audio.

ffmpeg -i input.wav -af 'volume=0.5' output.wav

18. Rotar un video

Este comando rotará un clip de video 90° en el sentido de las agujas del reloj. Puede establecer la transposición en 2 para rotar el video 90° en el sentido contrario a las agujas del reloj.

ffmpeg -i input.mp4 -filter:v 'transpose=1' rotated-video.mp4

Esto rotará el video 180° en sentido antihorario.

ffmpeg -i input.mp4 -filter:v 'transpose=2,transpose=2' rotated-video.mp4

19. Acelera o ralentiza el video

Puede cambiar la velocidad de su video usando el setpts (establecer marca de tiempo de presentación) de FFmpeg. Este comando hará que el video sea 8x (1/8) más rápido o use setpts=4*PTS para hacer que el video sea 4x más lento.

ffmpeg -i input.mp4 -filter:v "setpts=0.125*PTS" output.mp4

20. Acelerar o ralentizar el audio

Para cambiar la velocidad del audio, utilice el filtro de audio atempo . Este comando duplicará la velocidad del audio. Puede utilizar cualquier valor entre 0,5 y 2,0 para el audio.

ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv

Stack Exchange tiene una buena descripción general para comenzar con FFmpeg. También debe consultar la documentación oficial en ffmpeg.org o la wiki en trac.ffmpeg.org para conocer todas las cosas posibles que puede hacer con FFmpeg.

Ver también: Comandos esenciales de Linux