Пакетное конвертирование видео с помощью FFmpeg: объедините изображение и звук

983
Fazle Rabbi

У меня есть папка, полная аудио файлов с расширением .mp3 .amr и .wav. У меня есть изображение .jpg. Я хочу объединить файл image.jpg с каждым аудиофайлом в этой папке и преобразовать их в отдельный файл vidoe.mp4. Как мне сделать это с FFmpge?

1

1 ответ на вопрос

1
Alex Schroedsen

Вот два других ответа на вопросы, которые должны помочь вам в достижении вашей цели.

Источник «Объединение одного изображения + один аудиофайл для создания одного видео с использованием FFmpeg»: Объединение одного изображения + одного аудиофайла для создания одного видео с использованием FFmpeg

Порядок параметров в командной строке имеет значение. Следующие работы для моего случая:

ffmpeg -loop 1 -shortest -y -i image8.jpg -i sound11.amr -acodec copy -vcodec mjpeg result.avi 

В более общем случае, где image.jpgи когда audio.wavвы вводите данные, вы можете использовать следующую команду, адаптированную из вики FFmpeg :

ffmpeg -loop 1 -i image.jpg -i audio.wav -c:v libx264 -tune stillimage -c:a aac -strict experimental -b:a 192k -pix_fmt yuv420p -shortest out.mp4 

Это будет использовать libx264кодировщик и обеспечит вам лучшее сжатие, чем кодек MJPEG, использованный выше. Звук - AAC, со встроенным ffmpegкодером AAC.


"Как сделать цикл в командной строке Windows?" источник: https://stackoverflow.com/questions/11192039/how-to-do-a-for-loop-in-windows-command-line

Интерпретатор командной строки действительно имеет конструкцию FOR, которую вы можете использовать из командной строки или из пакетного файла.

Для вашей цели вы, вероятно, хотите что-то вроде:

FOR %i IN (*.ext) DO my-function %i 

Это приведет к тому, что имя каждого файла с расширением * .ext в текущем каталоге будет передано my-function (например, это может быть другой файл .bat).

Часть (* .ext) - это «спецификация файлов», и она довольно гибкая в отношении того, как вы указываете наборы файлов. Например, вы можете сделать:

FOR %i IN (C:\Some\Other\Dir\*.ext) DO my-function %i 

Чтобы выполнить операцию в другом каталоге.

Есть множество опций для спецификаций файлов и FOR в целом. Увидеть

HELP FOR 

из командной строки для получения дополнительной информации.

Хорошо, содержание теперь содержится в самом посте благодаря сообщению от Дональда Дака: D

Хотя ваш ответ на 100% правильный, он также может стать на 100% бесполезным, если эта ссылка будет перемещена, изменена, объединена с другой или основной сайт просто исчезнет ... **: - (** Поэтому, пожалуйста, [отредактируйте] свой ответьте и скопируйте соответствующие шаги из ссылки в ваш ответ, тем самым гарантируя ваш ответ в течение 100% срока службы этого сайта! **; -) ** Вы всегда можете оставить ссылку внизу ответа в виде источник для вашего материала ... Donald Duck 7 лет назад 0

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