Cómo convertir videos usando FFMPEG en Ubuntu

Cómo convertir videos usando FFMPEG en Ubuntu

En el mundo moderno, con YouTube y otras aplicaciones de redes sociales como la forma general de ver los medios digitales, cargar videos se ha convertido en una práctica común. Se ha vuelto tan común, de hecho, que la creación y la edición de archivos de audio y video se han convertido en la nueva normalidad en el lapso de solo unas pocas décadas. Obviamente, hay herramientas caras que uno puede comprar para satisfacer las necesidades, pero ¿qué pasaría si pudiéramos hacer esto gratis?? ¿Qué pasaría si algunas líneas de código pudieran hacer casi cualquier tarea relacionada con el video que necesite??

FFMPEG es una herramienta de conversión de video, extracción y edición gratuita y de código abierto que proporciona 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, generar videos a partir de archivos de imagen, extraer audio de video, recortar videos y fotos, recortar videos, RE, RE -sizando videos, impulso de volumen y creación de 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 ffmpeg

El instalación de apt-get 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 en cualquier otro formato de archivo detectando automáticamente los tipos de archivo por nombre. Como tal, no hay necesidad de un código adicional para especificar los tipos de archivos.

FFMPEG -I Originial_File.mp3 convertido_file.mp4

Puede agregar sus propios nombres y tipos de archivos a esta línea de código. Esta es solo la sintaxis básica para el uso.

Conversión de video

También puede convertir los 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 original_file.MP4 convertido_file.webm

Conversión de fotos

¿Qué es cierto para los archivos de video y audio se aplica a los archivos de imagen, también?. 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 original_file.JPG convertido_file.png

Extraer imagen del 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 output_file.JPG

En este caso, la etiqueta -i representa el archivo de video desde el cual se extraerán los archivos de imagen. Sin embargo, todavía no hemos dado al programa ninguna especificación sobre la calidad de imagen o el momento de la captura de pantalla. Por lo tanto, primero es necesario especificar estos detalles antes de ingresar el código.

Si escribimos lo siguiente:

FFMPEG -I Video.mp4 output_file%D.JPG

El valor %d que sigue el nombre del archivo de salida representa una variable que puede personalizar de acuerdo con el número de cuadros por segundo que desea generar desde el video. Cuando las imágenes se generan en un cuadro por segundo, cada foto se etiquetará como salida_file1.JPG; a dos cuadros por segundo, output_file2.JPG; a tres cuadros por segundo, output_file3.JPG; etc. Si la película tiene 35 cuadros por segundo, y es un segundo largo, entonces dar a la variable %d un valor de 1 generará 35 fotos.

A continuación, ¿qué pasa si queremos capturar las imágenes a ciertos marcos por segundo?? El valor de FPS define esto en la sintaxis FFMPEG. Para capturar 1 cuadro por segundo, establecería el valor de FPS igual a 1.

FFMPEG -I Video.mp4 -vf fps = 1 output_file%d.JPG

Del mismo modo, al definir el valor de FPS a 1/6000, el siguiente comando generará 1 imagen por 6,000 segundos de video:

FFMPEG -I Video.mp4 -vf fps = 1/6000 output_file%6d.JPG

En 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, output_file000002.JPG, etc.

Ahora, suponga que no quiere capturar todos los marcos. En cambio, desea ser más selectivo y desea capturar un número establecido de imágenes entre dos plazos. Entonces, la sintaxis se vería algo así:

ffmpeg -ss 00:00:01 -T 00:00:04 -I Video.mp4 output_file%3d.JPG

Este código capturará imágenes, comenzando a las 00:00:01, durante 4 segundos. En otras palabras, la captura de la imagen comenzará a las 00:00:01 y terminará a las 00:00:05 en el video. Como de costumbre, el número en nombre del archivo de salida tendrá tres dígitos (i.mi., output_file001.jpg, output_file002.JPG, etc.).

Generar video a partir de archivos de imagen

¿Qué pasa si quieres hacer todo lo contrario y armar 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 output_file.mp4

Después de leer las secciones anteriores, ahora sabe cuál es el término IMG%03.PNG representa: los archivos de imagen fuente que se compilarán en el video. En esta sintaxis, la etiqueta -c: V representa el códec para el video, FPS representa los marcos por segundo valor y R representa la fotograma del video de salida.

Extraer audio de video

¿Qué hay de extraer archivos de audio de un archivo de video?? Hay herramientas en la web que puede usar 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 -map a output_file.mp3

En la sintaxis anterior, video.MP4 es el archivo de video de entrada y la salida_file.mp3 es el archivo de audio de salida. La etiqueta -map a toma la transmisión de audio predeterminada y excluye cualquier subtítulos, C: A especifica el códec para el audio que se utilizará, y Q: 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 entre 00:00:08 y 00:00:10:

FFMPEG -I Video.MP4 -SS 00:00:08 -T 00:00:10 -Q: A 0 -C: A libmp3Lame -q: A 0 -map a output_file.mp3

Obviamente, hay muchos más detalles que puede agregar, si lo desea, pero el ejemplo anterior es un excelente punto de partida.

Videos y fotos de cultivos

¿Qué pasa si quieres recortar videos?? Puede tomar el tiempo y el dinero para encontrar software de cultivo en otro lugar, o puede usar una línea de código con FFMPEG para recortar el video para dimensionar.

FFMPEG -I Video.mp4 -filter: v "cultivo = w = ancho: h = altura: x: y" output_file.mp4

Por ejemplo:

FFMPEG -I Video.mp4 -filter: v "cultivo = w = 550: h = 200: x = 100: y = 200" output_file.mp4

Como ejemplo, tomé mi propia foto e intenté recortarla con el siguiente código:

ffmpeg -i Photo44.jpg -filter: v "cultivo = w = 500: h = 200" fuera.JPG

Videos de recorte

Recortar archivos de video requiere cortarlos de una hora específica a otra hora específica. Por ejemplo, cortar un archivo de video en dos o tres segmentos sería recortarlo. Una vez más, recortar archivos de video o audio se puede realizar fácilmente usando FFMPEG.

FFMPEG -I Video.MP4 -SS 00:00:20 -T 00:00:10 -C: V H264 -C: AAC Output_File.mp4

En este caso, la etiqueta -ss significa comenzar a buscar, o el momento en 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 de corte será de 10 segundos. Finalmente, la etiqueta C: V es para el códec del video utilizado, mientras que C: A es para el códec de audio utilizado.

Cambiar tamaño de video

El cambio de tamaño de los videos es tan fácil como recortar y recortar videos.

FFMPEG -I Video.MP4 -VF Scale = 320: 240 output_file.mp4

Alternativamente, también puede hacer lo siguiente:

FFMPEG -I Video.mp4 -vf scale = "iw/1: ih/2" output_file.mp4

Aquí, el valor IW define el ancho de entrada, mientras que IH define la altura de entrada. Este último también lo escalará.

Boost Volumen de video

En este artículo, ha visto cómo recortar, recortar y convertir archivos de video e imagen, pero ¿qué hay de aumentar el volumen de archivos de audio y video??

FFMPEG -I Video.mp3 -filter: un "volumen = 2" output_file.mp3

En el último caso, humildemente le pedimos a FFMPEG que duplique el volumen del archivo.

Crear grabación de pantalla

La grabación de su pantalla es una tarea que es frecuentemente necesaria para realizar, ya sea para presentaciones, intercambio de videos o reuniones en línea. Cualquiera sea la razón para grabar su escritorio, por lo general, necesitaría 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 Desktop -C: V LIBX264 Output_File.mp4 -f dshow -i audio = "Stereo mix (Realtek Audio)" Output_file.mp4

En el comando anterior, la etiqueta -f representa el formato de la grabación de video de su pantalla. Siguiendo el valor de audio, colocará su fuente de audio.

Además, el siguiente código solo tomará el video de la grabación de la pantalla, sin ningún sonido agregado:

ffmpeg -f gdigrab -Framerate 30 -I Desktop -C: V libx264 -qp 0 salida.mp4

Conclusió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 caras en línea para satisfacer sus necesidades de edición, o puede probar estas funciones de forma gratuita instalando la utilidad FFMPEG.