Cómo usar el comando FFmpeg para procesar audio y video en Linux
Casi todos los que trabajan con video probablemente hayan oído hablar de FFmpeg antes. Para aquellos que no están familiarizados, FFmpeg es un programa gratuito y de código abierto que puede convertir cualquier formato de video a otro y cambiar su códec.
FFmpeg admite casi todos los códecs de audio/video (H.264, H.265, VP8, VP9, AAC, OPUS, etc.), formatos de archivo (MP4, FLV, MKV, TS, WEBM, MP3, etc.). ) e incluso protocolos de streaming (HTTP, RTMP, RTSP, HLS, etc.).
Así es como puede instalar y usar FFmpeg para procesar archivos de audio y video en Linux.
Instalar FFmpeg en Linux
FFmpeg es una herramienta gratuita de código abierto disponible en los repositorios predeterminados de casi todas las principales distribuciones de Linux. También puede obtener el código fuente de forma gratuita si desea compilarlo usted mismo.
# Debian sudo apt install ffmpeg # Fedora sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm sudo dnf -y install ffmpeg # RHEL/CentOS yum install ffmpeg ffmpeg-devel # Arch Linux pacman -S ffmpeg
Si todo salió bien durante la instalación, debería poder ver la versión de FFmpeg usando el - argumento de la versión.
ffmpeg -version
Obtener información de video con FFmpeg
La información sobre el video que desea editar con FFmpeg se puede ver usando el y bandera:
ffmpeg -i example-video.mp4 -hide_banner
Aquí, el trabajo de -hide_banner El parámetro es ocultar información innecesaria. Puede eliminar este parámetro y ver la diferencia en la salida.
Como puede ver, es posible obtener mucha información, como el tipo de códec de video, la fecha de creación, los metadatos y la estructura del codificador del video de muestra.
Convierte archivos de video o audio a otro formato
Una de las características más útiles de FFmpeg es que puede convertir video o audio a otro formato. Puedes hacer esto con un simple comando.
Convierta MOV a MP4 con FFmpeg
Puede convertir archivos de video MOV a MP4 usando FFmpeg con el siguiente comando:
ffmpeg -i input-mov-video.mov output-video.mp4
Primer uso y parámetro , que significa video de entrada. Luego importe el archivo que desea convertir. Finalmente, ingrese el formato al que desea convertir. Puede dar a su salida cualquier nombre.
Mientras se ejecuta FFmpeg, el comando le mostrará los cambios que ha realizado en la pantalla de comandos.Su archivo de salida se almacenará en el directorio de trabajo actual.
Convierte WAV a MP3 con FFmpeg
Similar al video, puede hacer las mismas conversiones para archivos de audio.Por ejemplo, puede convertir archivos de audio WAV a MP3 de la siguiente manera:
ffmpeg -i example-wav.wav -vn -ar 48000 -ac 2 -b:a 256 output.mp3
Este comando tiene más parámetros que el método de conversión de video, pero no son difíciles de entender. Se pueden explicar de la siguiente manera:
- -vn : A veces los archivos de audio que escuchas tienen imágenes. Estas imágenes a menudo se extraen de videos. Si no desea tales imágenes en la salida, puede usar este parámetro.
- -Arkansas : este parámetro le permite establecer la frecuencia del archivo de audio que desea convertir. Puedes ajustar la calidad del sonido y la frecuencia con valores como 8kHz, 44,1kHz o 48kHz.
- -C.A : Es posible que haya escuchado los términos mono y estéreo antes. Este parámetro puede ayudarlo a establecer la cantidad de canales de audio.
- -b: un : Este parámetro le permite establecer la tasa de bits de audio por segundo. Cuanto mayor sea el kilobit, mayor será la calidad del sonido.
Trabajo de audio con FFmpeg
FFmpeg también puede separar el audio del video. Para hacer esto, solo use -vn parámetro:
ffmpeg -i example-video.mp4 -vn output.mp3
Si desea separar el audio del video, ahora puede intentar eliminar el audio del video. La diferencia aquí es -un debe considerar este parámetro si desea silenciar todos los sonidos del video:
ffmpeg -i example-video.mp4 -an output-mute.mp4
Procesamiento de tamaños de video con FFmpeg
El tamaño de los videos a veces puede ser bastante molesto, especialmente cuando quieres subirlos a algún lado. Ya no necesitas descargar programas para cortarlos porque FFmpeg puede hacerlo por ti. Sin embargo, hay algunos parámetros que debe conocer al respecto:
- -ss : use este parámetro para establecer la hora de inicio del clip
- -a : Le permite especificar la hora de finalización del clip
- -°C : Configure el códec para su clip usando este parámetro
- -T : use este parámetro para establecer la duración del clip
Puede obtener muchos ejemplos usando estos parámetros. Por ejemplo, si desea recortar el video, puede usar algo como:
ffmpeg -i example-video.mp4 -ss 00:02:25 -to 00:03:50 -c copy output-trim.mp4
También es posible recortar solo la imagen del video, pero no todo el video. Para esto puedes usar algo como:
ffmpeg -i example-video.mp4 -filter:v "crop=w:h:x:y" output-crop.mp4
Estos son los parámetros utilizados en el comando anterior:
- -filtro :v : este parámetro especifica el filtro que se aplicará al video
- cosecha : este parámetro para indicar que se debe realizar una operación de recorte
- ancho: alto: x: y : Como puede suponer, las variables w, h, x e y representan el ancho, el alto y la posición del cuadro de recorte, respectivamente
Edite videos en Linux con FFmpeg
La edición de video no se trata solo de recortar. A veces tú también deberías cambiar la relación de aspecto del video. El siguiente comando cambiará el tamaño del video al tamaño deseado:
ffmpeg -i example-video.mp4 -vf scale=1920:1080 output-scale.mp4
- -vf : Este parámetro funciona como -filtro:v argumento visto arriba
- escala : puede especificar las dimensiones de escala que desea en su salida usando este parámetro
FFmpeg también te permite combinar múltiples videos. Imagine tener varios clips codificados con el mismo códec. Importe la lista de videos que desea fusionar en un archivo .txt. Luego ejecute el siguiente comando:
ffmpeg -f concat -i my-video-list.txt -c copy sum-output.mp4
El parámetro concat aquí combina sus archivos. También es posible rotar un video usando FFmpeg:
ffmpeg -i example-video.mp4 -vf "transpose=2" output-rotate.mp4
- transpose=0: voltear verticalmente (predeterminado)
- transponer = 1: girar 90 grados en el sentido de las agujas del reloj
- transpose=2: Girar 90 grados en sentido contrario a las agujas del reloj
- transpose=3: voltear verticalmente
Para rotar un video 180 grados en el sentido de las agujas del reloj, debe especificar el parámetro de transposición 2 veces:
ffmpeg -i example-video.mp4 -vf "transpose=2,transpose=2" output-rotate.mp4
FPS y GOP.Operación
Como sabes, FPS significa fotogramas por segundo. Un GOP (grupo de imágenes) es la distancia entre dos fotogramas clave. FFmpeg también es útil para cambiar varios parámetros, incluidos FPS y GOP. Si usa el siguiente comando, FFmpeg cambiará el FPS inicial al valor que establezca:
ffmpeg -i example-video.mp4 -vf "fps=60" output-fps.mp4
Para GOP puedes usar - Señor parámetro y establecer su valor a lo que quieras. Tenga en cuenta que forzar demasiados fotogramas clave puede dañar los algoritmos de transición de algunos codificadores.
ffmpeg -i example-video.mp4 -g 200 output-gop.mp4
Crea GIF animados con FFmpeg
FFmpeg también es perfecto para convertir videos a GIF animados. Puede usar un simple comando de cambio para hacer esto:
ffmpeg -i example-video.mp4 output-gif.gif
Pero a veces es posible que desee personalizar el GIF. Puede usar varios parámetros discutidos anteriormente para lograr esto:
ffmpeg -ss 00:01:15 -i example-video.mp4 -to 10 -r 10 -vf scale=250:-1 output-gif.gif
-r parámetro aquí significa velocidad de fotogramas Como puede ver, muchas personalizaciones diferentes son posibles en un comando de una sola línea.
Extrae cuadros de video con FFmpeg
Además de convertir una o más imágenes en un video, también puede extraer fotogramas del video. El siguiente comando extraerá un cuadro por segundo de su video de entrada. Además, estas imágenes extraídas tendrán nombres de dos dígitos como 01.jpeg, 02.jpeg, etc. Si lo desea, puede agregar otros parámetros que haya aprendido.
ffmpeg -i example-video.mp4 -r 1 image-%02d.jpeg
También puede usar otros formatos como PNG y BMP para las imágenes extraídas.
Deja una respuesta