En el mundo moderno, con YouTube y otras aplicaciones de redes sociales como la forma principal de ver los medios digitales, subir videos se ha convertido en una práctica común. De hecho, se ha vuelto tan común que la creación y edición de archivos de audio y video se ha convertido en la nueva normalidad en el lapso de solo unas pocas décadas. Obviamente, existen herramientas caras que uno puede comprar para satisfacer sus necesidades, pero ¿y si pudiéramos hacerlo gratis?? ¿Qué pasaría si unas pocas líneas de código pudieran hacer casi cualquier tarea relacionada con el video que necesite??
Ffmpeg es una herramienta de conversión, extracción y edición de video gratuita y de código abierto que brinda una respuesta a esta pregunta! ¿Qué no puede hacer ffmpeg?? Casi nada. Las tareas que se pueden realizar con la ayuda de ffmpeg incluyen conversión de archivos de audio, conversión de archivos de video, conversión de fotos, extracción de archivos de imagen de archivos de video, generación de videos a partir de archivos de imagen, extracción de audio de video, recortar videos y fotos, recortar videos, volver a -dimensionar videos, aumentar el volumen y crear grabaciones de pantalla.
Instalación de FFmpeg en Ubuntu
Ffmpeg no viene preinstalado en Ubuntu de forma predeterminada, por lo que primero tendrá que instalar este programa para usarlo. Para completar la instalación, debe ser el usuario root. A continuación, escriba lo siguiente para instalar FFmpeg:
sudo apt-get install ffmpegLa apt-get install El comando funcionará para todas las versiones de Ubuntu excepto 14.04.
Conversión de audio
La conversión del tipo de archivo de un archivo de audio se puede realizar en una sola línea de código utilizando la utilidad ffmpeg. En este caso, solo necesita pasar dos parámetros: el nombre del archivo original y el nombre del nuevo archivo. Este comando le permite convertir cualquier formato de archivo a cualquier otro formato de archivo detectando automáticamente los tipos de archivo por nombre. Como tal, no hay necesidad de código adicional para especificar los tipos de archivos.
ffmpeg -i archivo_original.mp3 archivo_convertido.mp4Puede agregar sus propios nombres y tipos de archivos a esta línea de código. Esta es solo la sintaxis básica para su uso.
Conversión de video
También puede convertir tipos de archivos de video usando ffmpeg. Al ingresar el comando, todo lo que necesita es el nombre del archivo original y el nombre del archivo de salida. La etiqueta -i denota el archivo de entrada.
ffmpeg -i archivo_original.mp4 archivo_convertido.webmConversión de fotos
Lo que es cierto para los archivos de video y audio también se aplica a los archivos de imagen. Puede convertir un formato de foto a otro formato rápida y fácilmente con ffmpeg simplemente usando la sintaxis que se muestra a continuación:
ffmpeg -i archivo_original.jpg archivo_convertido.pngExtraer imagen de archivo de video
Ffmpeg también se puede usar para extraer imágenes de archivos de video. En otras palabras, este programa puede tomar capturas de pantalla en momentos precisos durante un video y guardar las capturas de pantalla como una colección de archivos de imagen. Por ejemplo:
ffmpeg -i video.mp4 archivo_de_salida.jpgEn este caso, la etiqueta -i representa el archivo de vídeo del que se extraerán los archivos de imagen. Sin embargo, todavía no hemos proporcionado al programa ninguna especificación en cuanto a la calidad de la imagen o el tiempo de captura de pantalla. Entonces, primero es necesario especificar estos detalles antes de ingresar el código.
Si escribimos lo siguiente:
ffmpeg -i video.mp4 archivo_de_salida% d.jpgEl valor% d que sigue al nombre del archivo de salida representa una variable que puede personalizar de acuerdo con la cantidad de fotogramas por segundo que le gustaría generar a partir del video. Cuando las imágenes se generan a un fotograma por segundo, cada foto se etiquetará como output_file1.jpg; a dos fotogramas por segundo, output_file2.jpg; a tres fotogramas por segundo, output_file3.jpg; etc. Si la película tiene 35 fotogramas por segundo y dura un segundo, dar a la variable% d un valor de 1 generará 35 fotos.
A continuación, ¿qué pasa si queremos capturar las imágenes a una determinada velocidad de fotogramas por segundo?? El valor de fps define esto en la sintaxis de ffmpeg. Para capturar 1 fotograma por segundo, debe establecer el valor de fps en 1.
ffmpeg -i video.mp4 -vf fps = 1 archivo_salida% d.jpgAsimismo, al definir el valor de fps en 1/6000, el siguiente comando generará 1 imagen por 6,000 segundos de video:
ffmpeg -i video.mp4 -vf fps = 1/6000 archivo_de_salida% 6d.jpgEn el comando anterior, el término% 6d generará una variable con seis dígitos. Los archivos de salida se etiquetarán de la siguiente manera: output_file000001.jpg, archivo_de_salida000002.jpg, etc.
Ahora, suponga que no desea capturar todos los fotogramas. En su lugar, desea ser más selectivo y desea capturar un número determinado de imágenes entre dos períodos de tiempo. Entonces, la sintaxis se vería así:
ffmpeg -ss 00:00:01 -t 00:00:04 -i video.mp4 archivo_de_salida% 3d.jpgEste código capturará imágenes, comenzando a las 00:00:01, durante 4 segundos. En otras palabras, la captura de imágenes comenzará a las 00:00:01 y terminará a las 00:00:05 en el video. Como de costumbre, el número en el nombre del archivo de salida tendrá tres dígitos (i.mi., output_file001.jpg, archivo_de_salida002.jpg, etc.).
Generar video a partir de archivos de imagen
¿Qué pasa si quieres hacer todo lo contrario y juntar imágenes para formar un video?? Ffmpeg viene al rescate una vez más!
ffmpeg -r 1/5 -i img% 03d.png -c: v libx264 -vf fps = 25 -pix_fmt yuv420p archivo_de_salida.mp4Después de leer las secciones anteriores, ahora sabe cuál es el término img% 03.png significa: los archivos de imagen de origen que se compilarán en el video. En esta sintaxis, la etiqueta -c: v representa el códec del vídeo, fps representa el valor de fotogramas por segundo y r representa la velocidad de fotogramas del vídeo de salida.
Extraer audio de video
¿Qué pasa con la extracción de archivos de audio de un archivo de video?? Hay herramientas en la web que puede utilizar para realizar esta tarea, pero con ffmpeg, una línea de código puede hacer el trabajo igual de bien.
ffmpeg -i video.mp4 -c: a libmp3lame -q: a 0 -mapea un archivo_salida.mp3En la sintaxis anterior, video.mp4 es el archivo de video de entrada y output_file.mp3 es el archivo de audio de salida. La etiqueta -map a toma el flujo de audio predeterminado y excluye los subtítulos, c: a especifica el códec para el audio que se utilizará, yq: a define una tasa de bits variable para el audio.
Si desea extraer solo una parte del archivo de audio de un archivo de video, puede usar la siguiente sintaxis para hacerlo. En el siguiente código, solo se extrae la sección de audio comprendida entre las 00:00:08 y las 00:00:10:
ffmpeg -i video.mp4 -ss 00:00:08 -t 00:00:10 -q: a 0 -c: a libmp3lame -q: a 0 -mapea un archivo_de_salida.mp3Obviamente, hay muchos más detalles que puede agregar, si lo desea, pero el ejemplo anterior es un excelente punto de partida.
Recortar videos y fotos
¿Qué pasa si quieres recortar videos?? Puede tomarse el tiempo y el dinero para encontrar software de recorte en otro lugar, o puede usar una línea de código con ffmpeg para recortar el video al tamaño.
ffmpeg -i video.mp4 -filter: v "crop = w = width: h = height: x: y" archivo_de_salida.mp4Por ejemplo:
ffmpeg -i video.mp4 -filter: v "crop = w = 550: h = 200: x = 100: y = 200" output_file.mp4Como ejemplo, tomé mi propia foto e intenté recortarla con el siguiente código:
Recortar videos
Recortar archivos de video requiere cortarlos de un momento específico a otro momento específico. Por ejemplo, cortar un archivo de video en dos o tres segmentos sería recortarlo. Una vez más, el recorte de archivos de video o audio se puede hacer fácilmente usando ffmpeg.
ffmpeg -i video.mp4 -ss 00:00:20 -t 00:00:10 -c: v h264 -c: un archivo_salida aac.mp4En este caso, la etiqueta -ss significa comenzar a buscar, o el momento en el que comenzar el proceso de recorte. En el comando anterior, comenzaremos a cortar o recortar a las 00:00:20. La etiqueta t representa la duración del clip. Aquí, la duración del clip cortado será de 10 segundos. Finalmente, la etiqueta c: v es para el códec del video usado, mientras que c: a es para el códec de audio usado.
Cambiar tamaño de video
Cambiar el tamaño de los videos es tan fácil como recortar y recortar videos.
ffmpeg -i video.mp4 -vf scale = 320: 240 output_file.mp4Alternativamente, también puede hacer lo siguiente:
ffmpeg -i video.mp4 -vf scale = "iw / 1: ih / 2" output_file.mp4Aquí, el valor iw define el ancho de entrada, mientras que ih define la altura de entrada. Este último también lo escalará.
Aumente el volumen de video
En este artículo, ha visto cómo recortar, recortar y convertir archivos de video e imagen, pero ¿qué pasa con aumentar el volumen de los archivos de audio y video??
ffmpeg -i video.mp3 -filter: un archivo de salida "volumen = 2".mp3En el último caso, pedimos humildemente a ffmpeg que duplique el volumen del archivo.
Crear grabación de pantalla
Grabar su pantalla es una tarea que con frecuencia es necesario realizar, ya sea para presentaciones, uso compartido de videos o reuniones en línea. Cualquiera que sea el motivo para grabar su escritorio, por lo general, necesitará ejecutar algún tipo de software para hacerlo. A diferencia de las alternativas costosas, ffmpeg puede hacer esto por usted de forma gratuita!
ffmpeg -f gdigrab -framerate 30 -i escritorio -c: v libx264 output_file.mp4 -f dshow -i audio = "Mezcla estéreo (Realtek Audio)" archivo_salida.mp4En el comando anterior, la etiqueta -f representa el formato de la grabación de video de su pantalla. Siguiendo el valor de audio, pondrá su fuente de audio.
Además, el siguiente código solo capturará el video de la grabación de la pantalla, sin ningún sonido agregado:
ffmpeg -f gdigrab -framerate 30 -i escritorio -c: v libx264 -qp 0 salida.mp4Conclusión
En general, ffmpeg es un programa extremadamente útil que le permite lograr muchas cosas en una sola línea de código. Puede comprar herramientas costosas en línea para satisfacer sus necesidades de edición, o puede probar estas funciones de forma gratuita instalando la utilidad ffmpeg.