(FFMPEG) Перекодировать аудио, используя qaac.exe
Я использовал скрипт для пакетного перекодирования аудио в AAC с использованием кодера libvo-aac.
@ECHO OFF
FOR %f IN (*.mkv) DO call ffmpeg.exe -i "%f" -c:v copy -c:a libvo_aacenc -b:a 256k "%f"
Тем не менее, поскольку я работаю в Windows, сборка ffmpeg с помощью fdk-aac представляет собой небольшую боль, и qaac считается лучшим кодировщиком, поэтому я хотел бы передать в ffmpeg вместо этого qaac.
Я не слишком осведомлен о ffmpeg, но я нашел здесь комментарий: Как использовать ffmpeg для понижающего микширования 5.1 DTS HD MA или Dolby TrueHD для стерео AAC с Dolby Pro Logic II? (последний комментарий)
после попытки этой команды я получаю эту ошибку:
ERROR: CoreAudioToolbox.dll: The specified module could not be found.
Однако у меня действительно есть quicktime и Apple Application Support, а также библиотеки libc и libsnd в папке ffmpeg.
Я использую Zeranoe Windows x64 Static build
РЕДАКТИРОВАТЬ: Я получил его работать с 32-битными библиотеками qaac и flac, но он все равно не будет работать с 64-битными версиями.
2 ответа
Решил эту проблему, установив 64-разрядную версию Itunes (на самом деле я только что извлек AppleApplicationSupport64.msi из установщика.) Поскольку 64-разрядный установщик для этого не был включен в QuickTime, я был довольно смущен.
Я заметил, что вы вводили MKV?
Я использую qaac и ffmpeg в пакетном файле Windows, чтобы преобразовать звук в MKV в aac, а затем смешать его обратно в контейнер MKV.
@ echo off
for %%a in (*.mkv) do ("ffmpeg" -i "%%~na.mkv" -f wav - | qaac -a 160 - -o "%%~na.m4a" --threading)
for %%a in (*.mkv) do (ffmpeg -i "%%~na.mkv" -i "%%~na.m4a" -c:v copy -c:a copy -map 0:0 -map 1:0 "%%~na_.mkv")
Я знаю, что это немного грязно, но это работает для меня. Я использую средний битрейт 160 и многопоточность (я также кодирую видеопоток, но здесь он только копируется). Также ffmpeg и qaac находятся в моих переменных окружения, поэтому мне не нужно помещать весь путь.exe в командную строку.