FakeAacWavでエラーが発生したときの対処法のメモでは、
FAWサイズを1/2にすることで何とかエンコードができました。
ただ手間が結構かかるのと、そもそも音質にこだわらないソースなら
無理にFAWを使う必要もないので、音声の再圧縮ありで、
なるべくエンコードの手順が変わらない方法を探ってみました。
bassAudioSourceの準備
DGIndexで映像(d2v)と音声(aac)に分離後、aacを擬似wavに変換するところで
失敗しているので、aacをそのまま音声として扱うように手順を変更します。
AviSynthでaacを直接読み込むには、bassAudioSourceを使用します。
プラグインが必要なので、以下の手順でインストールします。
- BeHappyのサイトからBeHappy-xxxxx.7zをダウンロードします。
- BeHappy-xxxxx.7zを任意のフォルダに解凍します。
- \BeHappy\plugins32\ にある以下の3ファイルを、AviSynthのpluginsフォルダ
(C:\Program Files (x86)\AviSynth\plugins\ など)にコピーします。- bass.dll
- bass_aac.dll
- BassAudio.dll
以上でbassAudioSourceの準備は完了です。
avsファイルの編集
avsファイルはDGIndexが自動で作成してくれますが、
音声としてFakeAacWavで変換したwavファイルを読み込むように
設定されているので、aacファイルを読み込むように変更します。
- 変更前
1234567891011LoadPlugin("D:\AviUtl\DGIndex\DGDecode.dll")d2v = "D:\Video\Edit\欅坂46 MV特集 (20170720-2100 エムオン!HD)_CS1(325).d2v"aac = "D:\Video\Edit\欅坂46 MV特集 (20170720-2100 エムオン!HD)_CS1(325) PID 104d DELAY -368ms.aac"wav = LeftStr(aac, FindStr(aac, "DELAY") + 5) + "0ms_aac.wav"v = MPEG2Source(d2v, upconv=1)a = WavSource(wav)AudioDub(v, a)return last - 変更後
12345678910111213LoadPlugin("D:\AviUtl\DGIndex\DGDecode.dll")d2v = "D:\Video\Edit\欅坂46 MV特集 (20170720-2100 エムオン!HD)_CS1(325).d2v"aac = "D:\Video\Edit\欅坂46 MV特集 (20170720-2100 エムオン!HD)_CS1(325) PID 104d DELAY -368ms.aac"# wav = LeftStr(aac, FindStr(aac, "DELAY") + 5) + "0ms_aac.wav"v = MPEG2Source(d2v, upconv=1)# a = WavSource(wav)a = bassAudioSource(aac)AudioDub(v, a)DelayAudio(-0.368)return last
不要になった行はコメントアウト(#)し、追加行はハイライトしています。
DelayAudioの値は、aacファイルの DELAY xxxms の数値を参考に設定します。
AviUtlで編集する
AviUtlに編集したavsファイルを読み込ませます。
エラーになってしまう場合は、avsファイルが誤っていないか、
プラグインがちゃんとインストールされているかを確認してみてください。
読み込みが問題なければ、通常通り編集やフィルタの設定などを行います。
出力する
拡張 x264 出力(GUI) Exを使用して出力します。
音声のエンコーダはqaacに設定します。
ビットレートは128~256kbpsあたりからお好みで。
MP4を確認する
できあがったMP4を再生してみたところ、
問題なく再生でき、音ズレもありませんでした。
個人的にはビットレートが192kbps以上あれば
音声の劣化も気にならないので、FakeAacWavでエラーが
発生したときの対処は、この方法を主に使うことになりそうです。
参考