FFmpeg: Пакетное преобразование всех аудио (mp3) в папке в видео (mp4) с обложкой альбома - PullRequest
1 голос
/ 24 января 2020

Я хочу конвертировать все аудио (mp3) в папке в видео (mp4) с обложками альбомов. Это для загрузки Aud ios на YouTube. У меня есть почти рабочий код, но я хочу полностью автоматизировать его.

Вот код из файла .bat, который я использую.

(источник: Пакетное изображение FFMpeg + несколько аудио для видео )

echo off
for %%a in ("*.mp3") do "C:\ffmpeg\bin\ffmpeg" -loop 1 -i  "C:\ffmpeg\bin\input.jpg.jpg" -i "%%a" -c:v libx264 -preset veryslow -tune stillimage -crf 18 -pix_fmt yuv420p -c:a aac -shortest -strict experimental -b:a 192k -shortest "C:\mp4\%%~na.mp4"
pause
  • "C: \ ffmpeg \ bin \ ffmpeg" папка с кодом c
  • "C: \ ffmpeg \ bin \ input.jpg" путь к изображению
  • "C: \ mp4 \ %% ~ na.mp4" выходная папка
  • -vf scale = 854: 480 Вы можете указать разрешение видео 16: 9 для видео на YouTube
  • - c: aa c - самое короткое использование c код c, указав -shortest the длина видео будет соответствовать длине аудио

Это прекрасно работает, за исключением того, что мне приходится каждый раз вручную вставлять обложку альбома. Я хочу, чтобы ffmpeg автоматически извлекал обложку альбома из каждого аудиофайла, а затем конвертировал ее в видео в пакетном режиме.

Это код для извлечения обложки альбома из файлов .mp3

ffmpeg -i input.mp3 -an -vcodec copy cover.jpg

Спасибо.

1 Ответ

0 голосов
/ 24 января 2020

Просто переместите команду извлечения в l oop. Что-то вроде (не проверено) это:

echo off
for %%a in ("*.mp3") do (
  ffmpeg -i "%%a" -an -vcodec copy "C:\mp4\%%~na.jpg"
  "C:\ffmpeg\bin\ffmpeg" -loop 1 -i  "C:\mp4\%%~na.jpg" -i "%%a" -c:v libx264 -preset veryslow -tune stillimage -crf 18 -pix_fmt yuv420p -c:a aac -shortest -strict experimental -b:a 192k -shortest "C:\mp4\%%~na.mp4" )
pause
...