2

Следующая команда берет mp3, присоединяет к нему изображение и преобразует его в mp4:

ffmpeg -i input.mp3 -loop 1 -i image.png -c:a copy -c:v libx264 -shortest output.mp4

Мне нужно сделать это для всех mp3-файлов в папке. Как бы я это закодировал?

2 ответа2

2

Предполагая, что Linux или какой-то вариант UNIX и image.png являются буквальными:

cd /media/volume/mp3_directory

ls *.mp3 | while read mp3File ; do outputFile=$(basename "${mp3File}" .mp3) ; ffmpeg -i "${mp3File}" -loop 1 -i image.png -c:a copy -c:v libx264 -shortest "${outputFile}".mp4 ; done
0

Если вы хотите выполнить пакетное преобразование, вы должны использовать для него оболочку (при условии, что в Linux). Используйте find, чтобы вернуть все файлы в каталоге и '| xargs ', чтобы применить данную команду ffmpeg к каждому.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .