FFMPEG - Пакетное преобразование подпапок

Я пытаюсь настроить пакетный файл Windows для преобразования ряда файлов MP4 с помощью FFMPEG. Есть несколько файлов в нескольких подпапках, поэтому мне нужно, чтобы скрипт выполнялся для каждого файла в каждой подпапке.

Боюсь, у меня нет большого опыта использования командных файлов, но из моего исследования я получил следующий текст команды:

FOR %%i in (*.mp4) /R DO (ffmpeg32 -i "%%~ni.mp4" -map 0:0 -map 0:1 -map 0:1    -c:v copy   -c:a:0 aac -b:a 128k -ac 2 -strict -2 -cutoff 15000  -c:a:1 copy "%~ni&(2).mp4")

Сценарий в основном должен добавить аудиопоток AAC в существующий файл MP4, поэтому мне нужно изменить имя вывода, добавив (2) в конце имени файла.

Я тестировал команду ffmpeg отдельно, так что я рад, что она работает - мне просто нужно получить правильные пакетные команды.

Заранее спасибо за любые указатели!

ура

2 ответа

Решение

Попробуй это:

@echo off & setlocal
FOR /r %%i in (*.mp4) DO ffmpeg32 -i "%%~fi" -map 0:0 -map 0:1 -map 0:1 -c:v copy -c:a:0 aac -b:a 128k -ac 2 -strict -2 -cutoff 15000 -c:a:1 copy "%%~dpni(2)%%~xi"

Этот пакетный сценарий Windows (.bat) удалит аудио из файлов mp4 в подпапках (или вложенных каталогах), а затем удалит старый файл. Это замедляется командой SLEEP, потому что, по-видимому, существуют проблемы с удалением файла перед его копированием в Windows и Linux.

FOR /r %%i in (*.mp4) DO ffmpeg.exe -i  "%%~fi" -vcodec copy -an "%%~dpni(2)%%~xi" &&  sleep 1 &&    del "%%~fi"

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

Вам просто нужно добавить корневую папку, файлы подпапок добавляются автоматически. Затем используйте свои параметры:

-map 0:0 -map 0:1 -map 0:1 -c:v copy   -c:a:0 aac -b:a 128k -ac 2 -strict -2 -cutoff 15000  -c:a:1 copy

далее ваш формат: mp4.

Старт, и все.

Доступно здесь: https://sourceforge.net/projects/ffmpeg-batch

Другие вопросы по тегам