FFmpeg Convertir Video y Audio Linux + Script

FFmpeg La Herramienta Definitiva para Convertir Formatos de Video y Audio en Linux + Script Bash

FFmpeg es una herramienta de código abierto extremadamente poderosa y versátil, utilizada ampliamente en sistemas Linux para la manipulación y conversión de archivos multimedia. Con FFmpeg, los usuarios pueden convertir videos entre diferentes formatos populares como MP4, AVI, MKV, WebM, y extraer audio en formatos como MP3. Esta herramienta soporta una amplia variedad de códecs y contenedores, lo que la convierte en una opción ideal para gestionar la compatibilidad entre dispositivos y plataformas.

En Linux, FFmpeg es valorado por su eficiencia y flexibilidad, permitiendo realizar conversiones de alta calidad mediante la línea de comandos. Además de convertir videos, permite tareas como la compresión de archivos, la extracción de pistas de audio, la edición de metadatos y mucho más. Su integración en scripts bash facilita la automatización de procesos, lo que resulta especialmente útil para desarrolladores y administradores de sistemas que buscan optimizar flujos de trabajo multimedia.

Página oficial de FFmpeg https://ffmpeg.org/

Instalación de FFmpeg

Lo primero que tenemos que hacer, obviamente, es instalar la aplicación FFmpeg si no la tenemos ya instalada

sudo apt update
sudo apt upgrade
sudo apt install ffmpeg

Ahora que lo tenemos instalado, lo más fácil me parece que es utilizar un script, aunque puedes fijarte en los comandos que usa, y verás que el uso de FFmpeg es muy sencillo, el script lo que consigue es agilizar el proceso y proporcionar un menú más amigable.

Crea un archivo con el nombre que quieras, en mi caso lo he llamado «convertersheep.sh». Cuando lo tengas, copia el código del script en su interior y guarda los cambios

#!/bin/bash
# Verifica si se ha proporcionado un archivo de entrada
if [ -z "$1" ]; then
    echo "Uso: $0 archivo_de_entrada"
    exit 1
fi
input_file="$1"
input_filename=$(basename "$input_file")   # Nombre del archivo
input_extension="${input_filename##*.}"    # Extensión del archivo
output_name="${input_filename%.*}"         # Nombre sin extensión
# Verifica si el archivo de entrada existe
if [ ! -f "$input_file" ]; then
    echo "El archivo $input_file no existe."
    exit 1
fi
# Menú de opciones
echo "Selecciona el formato de salida:"
echo "1) webm"
echo "2) mp4"
echo "3) mkv"
echo "4) avi"
echo "5) Extraer solo el audio a mp3"
echo "6) Salir"
read -p "Opción: " option
case $option in
    1)
        output_format="webm"
        ;;
    2)
        output_format="mp4"
        ;;
    3)
        output_format="mkv"
        ;;
    4)
        output_format="avi"
        ;;
    5)
        output_format="mp3"
        ;;
    6)
        echo "Saliendo..."
        exit 0
        ;;
    *)
        echo "Opción no válida."
        exit 1
        ;;
esac
# Archivo de salida
output_file="${output_name}.${output_format}"
# Comando ffmpeg para convertir
if [ "$output_format" == "mp3" ]; then
    echo "Extrayendo audio a $output_file ..."
    ffmpeg -i "$input_file" -q:a 0 -map a "$output_file"    # Extrae solo el audio
else
    echo "Convirtiendo $input_file a $output_file ..."
    ffmpeg -i "$input_file" "$output_file"    # Convierte el video completo
fi
# Verifica si la conversión fue exitosa
if [ $? -eq 0 ]; then
    echo "Conversión completada: $output_file"
else
    echo "Error durante la conversión."
    exit 1
fi

Cuando lo tengas, para poder ejecutarlo como un comando mas de sistema, tenemos que añadirlo a nuestra carpeta de ejecutables, y darle permisos de ejecucion

##lo muevo a la carpeta, y le quito la extensión, para que el comando a utilizar luego sea solo "convertersheep"
sudo mv convertersheep.sh /usr/local/bin/convertersheep
##le otorgo permisos de ejecución para todos los usuarios
sudo chmod a+rx /usr/local/bin/convertersheep

Ahora ya podemos ejecutar nuestro script desde cualquier carpeta en nuestra terminal.
Para usarlo, solo tenemos que llamar al script, e indicarle cuál es el archivo a convertir.

convertersheep video_de_entrada.webm

Este mostrara un menu donde podremos escoger el formato de salida

Selecciona el formato de salida:
1) webm
2) mp4
3) mkv
4) avi
5) Extraer solo el audio a mp3
6) Salir
Opción: 

Proceso de conversión. Se mostrará abajo de la pantalla, el porcentaje de tarea completada. Según el tamaño del video, esto puede llegar a tardar bastante. Tenlo en cuenta 😀

FFmpeg Convertir Video y Audio Linux + Script

Cuando el proceso termine, el archivo de salida se encontrará al lado del archivo de origen, con el mismo nombre, pero con distinto formato y extensión

Si te ha servido y te ha gustado, regálame un like, o deja tu comentario si tienes alguna duda!

 

Deja un comentario

Descubre más desde Ovejeando

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo