FFmpeg es una excelente herramienta para convertir, comprimir y transmitir grabaciones de audio y video con solo comandos.

FFmpeg; Es una biblioteca multimedia gratuita y de código abierto y una herramienta basada en terminal para manipular video, audio y otros archivos multimedia. Combina muchos codificadores y decodificadores para admitir casi todos los formatos multimedia comunes y poco comunes.

FFmpeg viene con una curva de aprendizaje, especialmente si eres nuevo en la interfaz de terminal. Deberá escribir comandos con su teclado para transcodificar archivos y secuencias multimedia. En este artículo, presentaré los comandos FFmpeg más utilizados con ejemplos para realizar diversas tareas, como convertir formatos de medios, recortar videos, extraer transmisiones de audio/video.

Antes de nada, FFmpegVamos a configurar.

Configuración de FFmpeg

Instalar FFmpeg en Pardus es bastante fácil. Abra la terminal e ingrese el siguiente comando.

sudo apt actualizar && sudo apt instalar ffmpeg

Después de que la instalación se complete con éxito, probemos si FFmpeg está realmente instalado.

Puede averiguar la versión instalada de FFmpeg ingresando el siguiente comando.

ffmpeg-versión

Puede enumerar todos los codificadores y decodificadores disponibles (codificador y decodificador) de FFmpeg con los siguientes comandos.

ffmpeg -codificadores ffmpeg -decodificadores

Ahora que la instalación está completa, podemos pasar a los comandos más utilizados.

Obtener información de video con FFmpeg

Con FFmpeg puede obtener fácilmente la información de un archivo multimedia en particular (por ejemplo, input.mp4). Normalmente, se deben especificar el archivo de entrada y el archivo de salida, pero en este caso se puede omitir el archivo de salida, ya que solo obtendremos información básica.

ffmpeg -i entrada.mp4 -hide_banner

hide_banner la bandera ayuda a ocultar los encabezados FFmpeg y otros detalles y solo muestra información del archivo multimedia

Vista previa o prueba de archivos de video o audio

El marco FFmpeg consta de FFmpeg, ffprobe y ffplay, el reproductor multimedia basado en la biblioteca FFmpeg. Si desea obtener una vista previa o probar un archivo multimedia antes o después de jugar con él, puede reproducirlo con ffplay ejecutando el siguiente comando:

entrada ffplay.mp4

Punto clave: Comando para entrar en modo de pantalla completa -fs agregar.

Conversión de archivos de video o audio a otro formato

FFmpeg es extremadamente útil para convertir su archivo de video o audio a otro formato. Sigamos con los ejemplos.

MOV a MP4 con FFmpeg

Ejecute el siguiente comando para convertir su archivo de video en formato MOV a MP4 con FFmpeg.

ffmpeg -i entrada.mov salida.mp4

WAW a MP3 con FFmpeg

Del mismo modo, puede convertir archivos de audio con FFmpeg especificando el formato de salida. Por ejemplo, FFmpeg convertirá WAV a MP3 con el siguiente comando.

ffmpeg -i entrada.wav -vn -ar 44100 -ac 2 -b:a 192k salida.mp3

Extraiga audio de video con FFmpeg (Convertir video a audio)

FFmpeg puede separar video y audio, así como convertir el archivo de video a un formato diferente. Puede extraer el audio del video con el siguiente comando.

ffmpeg -i entrada.mp4 -vn salida.mp3

quitar audio de video

Puede eliminar la transmisión de audio del video usando el siguiente comando y mantener solo la parte del video. También puede seleccionar el formato de salida (MP4 en el ejemplo a continuación) entre los formatos admitidos.

ffmpeg -i input.mp4 -an mute-output.mp4

Convertir una parte específica del video

Además de convertir el formato de todo el video, FFmpeg también le permite convertir una parte específica del formato de video o audio según sea necesario. En este caso, para especificar el tiempo -t Debe utilizar el valor. Por ejemplo, el siguiente comando convertirá los primeros 4 segundos del archivo input.mp10 al formato MKV. El tiempo hh.mm.ss Tenga en cuenta que también puede especificar el formato.

ffmpeg -i entrada.mp4 -t 10 salida.mkv

Recortar video con FFmpeg

FFmpeg también puede ayudar fácilmente a recortar archivos de video y audio. Para establecer la hora de inicio del clip -ss para establecer su valor y hora de finalización -to valor de uso. -c el valor es para configurar el códec. De manera similar, para establecer la duración del clip, en el ejemplo anterior, -t También puede utilizar el valor.

ffmpeg -i entrada.mp4 -ss 00:01:54 -to 00:06:53 -c copiar salida.mp4

Recortar secuencias de video con FFmpeg

Use el comando a continuación para recortar el marco al tamaño que desee. En el siguiente ejemplo -filter:vindica que el filtro es para video. cropindica que el filtro que necesita es el filtro de recorte. “w:h:x:y” representa el ancho, la altura y la posición del marco, respectivamente.

ffmpeg -i input.mp4 -filter: v "crop = w: h: x: y" output.mp4

cambiar el tamaño del vídeo

El siguiente comando cambiará el tamaño del video al tamaño deseado. en el comando de abajo -vf, en el ejemplo anterior -filter:v es un alias para (alias).

ffmpeg -i entrada.mp4 -vf escala=1920:1080 salida.mp4

Combinar audio y video

Si tiene un archivo de audio y video, puede mezclar su video con audio usando el siguiente comando. Tenga en cuenta que debe utilizar un formato de contenedor compatible con los formatos de codificación.

ffmpeg -i audio.mp3 -i video.mp4 video_audio_mix.mkv

Combinar vídeos

Si tiene varios clips de video codificados con el mismo códec, puede fusionar o fusionar estos videos. Cree un archivo .txt con una lista de todos los archivos de origen que desea fusionar y luego ejecute el siguiente comando.

ffmpeg -f concat -i lista de archivos.txt -c copiar salida.mp4

rotar video

Usando FFmpeg, puede rotar fácilmente un video en sentido horario y antihorario, voltear un video vertical y horizontalmente. En este caso, la propiedad que usamos es "transponer". El siguiente comando rotará el video de entrada 90 grados en el sentido de las agujas del reloj.

ffmpeg -i entrada.mp4 -vf "transponer=1" salida.mp4

transpose Los parámetros disponibles son 0, 1, 2 y 3.

  • 0: gira 90 grados en sentido contrario a las agujas del reloj y voltea verticalmente (valor predeterminado).
  • 1 – Girar 90 grados en el sentido de las agujas del reloj.
  • 2 – Girar 90 grados en sentido contrario a las agujas del reloj.
  • 3 – Girar 90 grados en el sentido de las agujas del reloj y girar verticalmente.

Para rotar videos 180 grados en el sentido de las agujas del reloj transpose Tenga en cuenta que deberá especificar el parámetro dos veces de la siguiente manera.

ffmpeg -i entrada.mp4 -vf "transposición=2,transposición=2" salida.mp4

Acelerando vídeo

FFmpeg ayuda a cambiar la velocidad de reproducción del video. Puede acelerar o ralentizar un video según sus necesidades. Por ejemplo, el siguiente comando duplicará la velocidad del video. Puede establecer el valor según sus necesidades.

ffmpeg -i entrada.mp4 -vf "setpts=0.5*PTS" salida.mp4

Comprimir video

Comprimir el video con FFmpeg reducirá el tamaño del archivo y ahorrará espacio de almacenamiento. Ejecute el siguiente comando para la compresión de video.

ffmpeg -i entrada.mp4 -vf escala=1280:-1 -c:v libx264 -preset muy lento -crf 24 salida.mp4

Acercar o alejar el video

Encontrado en FFmpeg zoompan Puede aplicar el efecto de zoom y panorámica al video dado con el filtro. El siguiente comando ampliará el video hasta 1,5x y siempre se desplazará en el centro de la imagen.

zoompan=z='min(zoom+0.0015,1.5)':d=700:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'
  • zoom, z – Establezca la expresión de zoom. El rango es 1-10. El valor predeterminado es 1.
  • d – Establecer la expresión de duración en fotogramas. El valor predeterminado es 90.
  • x, y – Establezca la expresión x e y. El valor predeterminado es 0.
  • in_w, iw, in_h, ih – Introduzca el valor de ancho/alto.

Bucle del video

Para reproducir un video en bucle con FFmpeg, debe usar el filtro de bucle. Por ejemplo, el siguiente comando repetirá el video de introducción MP4 tres veces. El valor predeterminado del recuento de bucles es 0, por lo que no hay bucles. Use -1 para bucle infinito.

ffmpeg -stream_loop 2 -i entrada.mp4 -c copiar salida.mp4

Configuración de los fotogramas por segundo (FPS)

FFmpeg también es útil para cambiar algunos parámetros, incluidos FPS y GOP. Puede cambiar el FPS para diferentes usos sin cambiar otros parámetros. Escriba y ejecute el siguiente comando; FFmpeg cambiará el FPS original al valor que establezca.

ffmpeg -i entrada.mp4 -vf "fps=30" salida.mp4

fotos grubconfigúralo (GOP)

GOP (Grupo de imágenes) significa la distancia entre dos fotogramas clave. -g Puede establecer el valor como desee. Tenga en cuenta que forzar demasiados fotogramas clave es muy perjudicial para los algoritmos de avance de algunos codificadores.

ffmpeg -i entrada.mp4 -g 300 salida.mp4

Copiar los metadatos

También puede copiar los metadatos de un archivo multimedia de origen con el comando FFmpeg a continuación. Tenga en cuenta que es posible que algunos videos no copien todos los metadatos correctamente, ya que almacenan metadatos personalizados.

ffmpeg -i input.mov -map_metadata 0 -movflags use_metadata_tags salida.mp4

Agregar subtítulos a videos

FFmpeg puede agregar un archivo de subtítulos separado a un video con el siguiente comando. Asegúrese de elegir un formato de contenedor compatible para el video de salida.

ffmpeg -i input.mp4 -i subtitle.srt -map 0 -map 1 -c copy -c:v libx264 -crf 23 -preset salida de video muy rápida.mkv

mantener la codificación original

A veces es posible que desee copiar la codificación original. El siguiente comando creará una copia duplicada del video de introducción. “-c copyEl parámetro ” hace que FFmpeg omita el paso de decodificación y codificación para el flujo especificado, por lo que solo realiza multiplexación y análisis. Solo es útil para cambiar el formato del contenedor o cambiar los metadatos a nivel del contenedor.

ffmpeg -i entrada.mp4 -c copiar salida.mkv

Crear un GIF animado

Presentaré algunas características de FFmpeg que rodean los archivos de imagen.

Primero, veamos cómo crear un GIF animado a partir de un video usando FFmpeg. La fórmula básica es simple como se muestra a continuación:

ffmpeg -i entrada.mp4 salida.gif

También puede agregar algunos parámetros para personalizar la imagen GIF de salida:

ffmpeg -ss 00:00:20 -i entrada.mp4 -to 10 -r 10 -vf escala=200:-1 salida.gif
  • -ss: especifica el punto de inicio del GIF.
  • -to : indica la posición final del GIF.
  • -r : representa la velocidad de fotogramas.
  • -vf scale: Es para escalar la imagen GIF al tamaño deseado.

Escalar imágenes con FFmpeg

También puede usar FFmpeg para cambiar el tamaño de las imágenes, de forma similar a cambiar el tamaño del video en uno de los ejemplos anteriores. El siguiente comando cambiará el tamaño de la imagen a 1920:1080. Puede establecer este valor en cualquiera de las dimensiones que desee.

ffmpeg -i entrada.png -vf "escala=1920:1080" salida.png

De las imágenes al vídeo

FFmpeg puede convertir una serie de imágenes en un video. Esto es muy útil cuando desea hacer una presentación de diapositivas. Por ejemplo, el siguiente comando sería img001.png, img002.png, etc. Creará una presentación de diapositivas con una serie de imágenes llamada -r 1/5 especifica que cada imagen tendrá una duración de 5 segundos.

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

Convertir una sola imagen en un video

Dado que el video consta de cuadros, es posible convertir una sola imagen en un archivo de video con FFmpeg. Use el parámetro -t para especificar la duración del video. También puede agregar otros parámetros como en el siguiente comando.

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

extracción de marcos

En lugar de convertir una sola imagen o una serie de imágenes en video, también puede extraer fotogramas del video. El siguiente comando extraerá 1 cuadro cada 1 segundo de su video de entrada y generará las imágenes exactas, 001.png, 002.png, etc. será referido como 3 dígitos. También puede agregar otros parámetros como -ss y -t si lo desea.

ffmpeg -i entrada.mp4 -r 1 imagen-%03d.png
  • El parámetro -ss agrega un punto de partida. Elimine este comando si desea eliminarlo del comienzo del video.
  • -t se usa para agregar un período para eliminar fotogramas. Esto se puede eliminar si no hay una necesidad especial.
  • -i es la ruta del archivo de video de entrada.
  • El -r especifica hashes para capturar e invertir cómo desea que funcione.
  • 1 significa que este comando grabará 1 cuadro cada segundo. Si desea grabar 2 cuadro cada 1 segundos, reemplace 1 con 0,5. Simplemente use la fórmula "1/segundo" y obtendrá la tasa que necesita.
  • -03%d; Generará nombres de imagen de 001 dígitos como 002, 3. Si desea obtener nombres de imágenes de 4 dígitos, use -% 04d.
  • El .png representa el formato de los cuadros que extrajo del video. También puede usar formatos jpeg, bmp.

Cambiar el volumen de los archivos de audio

Los siguientes son algunos comandos FFmpeg de uso común para archivos de audio.

Uno de los más comunes es cambiar el volumen del archivo de audio. Necesitará la opción de filtro "volumen" para esto. Por ejemplo, el siguiente comando reducirá el volumen a la mitad. Por supuesto, también puede ajustar el valor según sus necesidades.

ffmpeg -i entrada.mp3 -af 'volumen=0.5' salida.mp3

Comprimir archivos de audio

Al igual que comprimir un video, también puede comprimir un audio para reducir el tamaño del archivo. de FFmpeg -ab El parámetro establecerá la tasa de bits para el audio de destino y le ahorrará algo de espacio de almacenamiento. Las tasas de bits de audio disponibles son 96 kbps, 112 kbps, 128 kbps, 160 kbps, 192 kbps, 256 kbps y 320 kbps. Para comprimir el audio, simplemente use un valor más pequeño que el archivo fuente.

ffmpeg -i entrada.mp3 -ab 128 salida.mp3

Aumentar o disminuir la velocidad de reproducción de audio

Del mismo modo, podemos usar FFmpeg para acelerar o ralentizar la velocidad de reproducción del audio. En este caso, utilizaremos el filtro de sonido “atempo”. Cualquier valor entre 0,5 y 2,0 se puede utilizar para el audio. Por ejemplo, el siguiente comando duplicará la velocidad del sonido.

ffmpeg -i entrada.mp3 -filtro:a "atempo=2.0" -vn salida.mp3

Adición de vídeo a audio

¿Alguna vez has intentado subir un audio MP3 a YouTube y has fallado? Si tu respuesta es sí, agregar una imagen al audio con FFmpeg puede ayudar con esta situación. El siguiente comando convertirá su audio a un video MP4 con una imagen específica. También puede elegir otro contenedor compatible según el formato de codificación de su audio.

ffmpeg -loop 1 -i image.jpg -i input.mp3 -c:v libx264 -c:a aac -strict experimental -b:a 192k -salida más corta.mp4

Obtener ayuda de FFmpeg

Para obtener ayuda sobre un elemento en particular en las herramientas ff* (incluido FFmpeg), siempre puede usar el parámetro -h para imprimir la salida de ayuda en su pantalla.

ffmpeg-h

El contenido anterior explica algunos de los parámetros de FFmpeg más utilizados con ejemplos de FFmpeg. Siempre oficial para más información y ejemplos de uso Documentación de FFmpeg Puedes aplicar.