Script de shell para convertir archivos de video MP4 o WEBM a MP3 con miniaturas

Hola, soy un inútil.
Si convierto directamente un video a un archivo de audio con ffmpeg, olvido la miniatura, así que intenté escribirlo en un script de shell.
Simplemente convierte, luego extrae y combina la miniatura, elimina lo innecesario y restaura el nombre.
#!/bin/bash
# Rutas de cada directorio
input_dir=“/media/m”
output_dir=“/media/m/mp3”
# Crear el directorio de salida si no existe
mkdir -p “$output_dir”
# Especificación de formato *Actualmente solo convierte a mp3, pero por si acaso me animo a añadir ramas para otros formatos...
in=“mp4”
out=“mp3”
# Aplicar a todos los archivos en el directorio
for file in “$input_dir”/*.${in}; do
# Especificar base
base=$(basename “$file” .${in})
# Especificar ruta del MP3
output=“${output_dir}/${base}.${out}”
# Especificar ruta de la miniatura
thumbnail=“${output_dir}/${base}_thumbnail.jpg”
# Convertir archivo de video a mp3
ffmpeg -i “$file” -vn -acodec libmp3lame -qscale:a 2 “$output”
# Extraer miniatura del archivo de video
if ffmpeg -i “$file” -an -vframes 1 -q:v 2 “$thumbnail” -y; then
echo “Thumbnail extracted for $base”
ffmpeg -i “$output” -i “$thumbnail” -map 0 -map 1 -c copy -id3v2_version 3 -metadata:s:v title=“Alb
um cover” -metadata:s:v comment=“Cover (front)” -y “${output_dir}/${base}_with_thumbnail.${out}”
rm “${output_dir}/${base}.${out}”
rm “${output_dir}/${base}_thumbnail.jpg”
mv “${output_dir}/${base}_with_thumbnail.${out}” “${output_dir}/${base}.${out}”
else
echo “No found for $base”
fi
done
Conceder permisos de ejecución
chmod +x convert.sh
Como estaba conectado por SSH, lo haré funcionar en segundo plano incluso si la sesión se desconecta
nohup ./convert.sh &
Fin.