Скрипт оболочки для конвертации видеофайлов MP4 или WEBM в MP3 с миниатюрой

Привет, я бездарь.
Если просто конвертировать видео в аудиофайл с помощью ffmpeg, то теряется миниатюра, поэтому я попробовал написать это в виде скрипта.
Просто конвертируем, затем извлекаем и объединяем миниатюру, удаляем ненужное и возвращаем имя.
#!/bin/bash
# Пути к соответствующим директориям
input_dir=“/media/m”
output_dir=“/media/m/mp3”
# Создать выходную директорию, если она не существует
mkdir -p “$output_dir”
# Указание формата *В настоящее время только конвертация в mp3, но на всякий случай, если появится мотивация, добавлю ветвление для других форматов...
in=“mp4”
out=“mp3”
# Применить ко всем файлам в директории
for file in “$input_dir”/*.${in}; do
# Указать base
base=$(basename “$file” .${in})
# Указать путь к MP3
output=“${output_dir}/${base}.${out}”
# Указать путь к миниатюре
thumbnail=“${output_dir}/${base}_thumbnail.jpg”
# Конвертировать видеофайл в mp3
ffmpeg -i “$file” -vn -acodec libmp3lame -qscale:a 2 “$output”
# Извлечь миниатюру из видеофайла
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
Предоставить права на выполнение
chmod +x convert.sh
Поскольку я был подключен по SSH, я сделал так, чтобы он работал в фоновом режиме, даже если сессия будет разорвана.
nohup ./convert.sh &
Конец.