web-dev-qa-db-ja.com

(FFMPEG)qaac.exeを使用してオーディオを再エンコードする

スクリプトを使用して、libvo-aacエンコーダーを使用してオーディオを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を使用しているので、fdk-aacを使用してffmpegを構築するのは少し面倒で、qaacは優れたエンコーダーと見なされているため、代わりにqaacを使用するようにffmpegをパイプします。

私はffmpegについてあまり知識がありませんが、ここでコメントを見つけました: ffmpegを使用して5.1をダウンミックスする方法DTS HDMAまたはDolbyTrueHDをDolbyPro Logic IIでステレオAACに? (最後のコメント)

そのコマンドを試した後、私はこのエラーを受け取ります:

ERROR: CoreAudioToolbox.dll: The specified module could not be found.

しかし、私は確かにQuickTimeを持っており、Appleアプリケーションサポートがインストールされており、ffmpegフォルダーにflacライブラリとlibsndライブラリもあります。

enter image description here

Zeranoe Windowsx64静的ビルドを使用しています

編集:32ビットのqaacおよびflacライブラリで動作するようになりましたが、64ビットバージョンでは動作しません。

1
Aver

この問題は、64ビットバージョンのiTunesをインストールすることで解決しました(実際には、インストーラーからAppleApplicationSupport64.msiを抽出しました)。quicktimeに含まれる64ビットインストーラーがなかったため、かなり混乱しました。

1
Aver

MKVを入力していることに気づきましたか?

私はWindowsでqaacとffmpegを使用していますバッチファイル 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の両方が環境変数に含まれているため、path.exe全体をコマンドラインに配置する必要はありません。

0
Greg