@bratischev

Как написать bash скрипт для ffmpeg большого количества файлов?

Здравствуйте. Сразу отмечу, что с программированием я на уважительное Вы, я не умею этого делать совсем. Но стоит задача, которую можно автоматизировать, если не быть мною.
У меня есть много mp3 файлов, которые я бы хотел залить на ютуб в виде "Видео с одной картинкой". Для конвертирования я использую скрипт ffmpeg

ffmpeg -i image.jpg -i Video001.mp3 -acodec copy Video001.mp4

Меня полностью устраивает, как работает эта вещь, но видео более ста штук, а названия видео в функции я меняю каждый раз.

Мне бы очень хотелось автоматизировать процесс.

В моей голове этой работает так. Я выбираю 100 аудиофайлов в папке с одним изображением (изображение не меняется), и кидаю их на скрипт. В скрипте 1 переменная - имена входного и выходного файлов, которые различаются только расширением. Мне нужно, чтобы вместо этой переменной подставлялось имя входного файла без расширения.

Все файлы у меня mp3, все конечные видео должны быть mp4.

Понимаю, что если бы у меня было чуть больше 3 извилин, то я бы научился это делать, но к сожалению имеем то, что имеем.

Если это важно, я на MacOS

Заранее благодарю за ответы.
  • Вопрос задан
  • 290 просмотров
Пригласить эксперта
Ответы на вопрос 1
ipatiev
@ipatiev
Потомок старинного рода Ипатьевых-Колотитьевых
Непонятно, к чему столько телодвижений
просто заходим в папку и выполняем в командной строке несложную команду
for file in *.mp3; do ffmpeg -i image.jpg -i "$file" -acodec copy  "${file%.*}.mp4"; done


Общий принцип "выполнить команду для всех файлов" легко гуглится. Единственная хитрость - обрезка расширения, но вполне можно было ведь и оставить.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы