Массовое преобразование файлов MKV в MP4 с помощью AAC с использованием пакетного файла Windows

Итак, я несколько дней пытался понять, как это сделать, и этот сайт помог мне, но я все еще застрял.

В основном я хочу запустить пакетный файл, и он проходит через папку, включая все подкаталоги, и изменяет контейнер всех файлов mkv на mp4, преобразуя звук в AAC, если это необходимо. Предпочтительно он создаст новый файл mp4 в том же месте с тем же именем, а затем удалит файл mkv.

Все, что у меня есть до сих пор, это то, что, если я помещу его в определенную папку, создаст mp4 в указанной папке с именем newfiles. Я не уверен, правильно ли я использовал libfaac. Был бы очень признателен за любой совет. Я хотел бы использовать libfdk_aac, но я перепробовал все, чтобы получить его, и не могу его найти.

for %%a in ("*.mkv") do C:\ffmpeg\bin\ffmpeg -i "%%a" -vcodec copy -acodec libfaac "Z:\newfiles\%%~na.mp4"
pause

person TechnicPuppet    schedule 27.02.2015    source источник
comment
Что происходит, когда вы запускаете этот код? Есть ошибки?   -  person Matt Williamson    schedule 27.02.2015
comment
Никаких ошибок, он создает подпапку с именем Newfiles и начинает создавать mp4. Хотя звук не супер.   -  person TechnicPuppet    schedule 27.02.2015
comment
Итак, я отсортировал первую часть, теперь я могу создать mp4 в той же папке, удалив часть newfiles.   -  person TechnicPuppet    schedule 28.02.2015


Ответы (1)


Попробуйте это для переменной скорости передачи данных (VBR):

for %%a in (*.mkv) do C:\ffmpeg\bin\ffmpeg -i "%%~a" -vcodec copy -c:a libfaac -q:a 100 "%%~na.mp4"
pause

Диапазон для -q:a составляет 10-500 и аналогичен использованию параметра -q в автономном faac. 100 — хорошее значение, чтобы попробовать.


или попробуйте это для среднего битрейта (ABR):

for %%a in (*.mkv) do C:\ffmpeg\bin\ffmpeg -i "%%~a" -vcodec copy -c:a libfaac -b:a 192k "%%~na.mp4"
pause

Руководство по кодированию FFmpeg и AAC: libfaac

Обратите внимание, что вы не получите таких хороших результатов, как с libfdk_aac. Лицензия libfdk_aac несовместима с GPL, поэтому GPL не разрешает распространение двоичных файлов, содержащих код, лицензированный по этим лицензиям, когда также включен код под лицензией GPL. Поэтому этот кодировщик был обозначен как «несвободный», и вы не можете загрузить готовый ffmpeg, который его поддерживает. Это можно решить, самостоятельно скомпилировав ffmpeg. Вы можете сделать это, например, с помощью этого проекта.

person Endoro    schedule 27.02.2015
comment
Спасибо, очень помогло со звуком. Я узнал от кого-то, кому вы помогли здесь link, что /r может выполнять поиск по папкам. Просто пытаюсь настроить этот сценарий, чтобы он соответствовал моим потребностям сейчас. - person TechnicPuppet; 28.02.2015