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:v
indica que el filtro es para video. crop
indica 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 copy
El 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.