Вы также можете рассмотреть простой bash oneliner вместо сценария python -
for i in *.mp3; do ffmpeg -v quiet -i "picture.jpg" -i "$i" -shortest -acodec copy "`sed 's/mp3/mp4/g'<<<$i`"; done
Это преобразует все mp3 файлы в вашем текущем каталоге в mp4 видео с picture.jpg.
Для конвертации flac в mp3 это будет
for i in *.flac; do ffmpeg -v quiet -i "$i" -ab 320k -ac 2 -ar 48000 "`sed 's/flac/mp3/g'<<<$i`"; done
Обратите внимание на «-v quiet», который закрывает громкий рот ffmpeg, а также двойные кавычки вокруг $ i и sed
- это гарантирует, что оно не потерпит неудачу с именами файлов, содержащими пробелы.
Совет: преобразование в видео занимает довольно много времени (по крайней мере, для меня). Попробуйте использовать -threads 4 (или любое другое значение, конечно. Это не имеет никакого смысла на одноядерных процессорах)
Редактировать: я узнал, что "-loop 1" (предложенный другими) создает цикл (как удивительно!) который на самом деле бесконечен. На моем gentoo это означает, что он съест все ваши вкусные кусочки. Без "-loop 1" он работает просто отлично, поэтому я предлагаю вам пойти на это.