(FFMPEG) Перекодировать аудио, используя qaac.exe

1793
Aver

Я использовал скрипт для пакетного перекодирования аудио в 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.

(FFMPEG) Перекодировать аудио, используя qaac.exe

Я использую Zeranoe Windows x64 Static build

РЕДАКТИРОВАТЬ: Я получил его работать с 32-битными библиотеками qaac и flac, но он все равно не будет работать с 64-битными версиями.

1

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

1
Aver

Solved this issue by installing the 64-bit version of Itunes (actually I just extracted AppleApplicationSupport64.msi from the installer.) Since there was no 64-bit installer for this included in quicktime I was rather confused.

0
Ehrlichia

I noticed that you were inputting an MKV?

I use qaac and ffmpeg in a Windows batch file to convert audio in the MKV to aac then Mux it back into the MKV container.

@ 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") 

I know this is a little messy but it works for me. I use an average bitrate of 160 and threading (I also encode the video stream but here it is only copied). Also both ffmpeg and qaac are in my environment variables so I don't have to put the whole path.exe on the command line.