Вот цикл в оболочке, использующий ваш текущий метод для преобразования .mp4 в .avi. Если у вас есть другие форматы и расширения имени файла, вам придется его улучшить:
for i in *.mp4; do ffmpeg -i "$i" -vcodec mpeg4 -qscale:v 1 -aspect 16:9 "$(basename "$i" .mp4).avi"; done
Итак, в файле с несколькими пробелами:
#!/bin/sh
for i in *.mp4; do
ffmpeg -i "$i" -vcodec mpeg4 -qscale:v 1 -aspect 16:9 "$(basename "$i" .mp4).avi"
done
i - это переменная, перебирающая все файлы, соответствующие * .mp4. Команда basename удаляет расширение .mp4, затем мы можем добавить .avi. Все кавычки предназначены для обработки файлов любого типа, включая файлы с пробелами или другие специальные символы, не нарушая весь процесс. $(), который обозначает вывод команды изнутри, может быть заключен в кавычки и без проблем содержать кавычки внутри.