Comandos FFmpeg útiles para trabajar con archivos de audio y video
Publicado: 2022-02-26FFmpeg 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.
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