はじめに
最近WOWOWを契約したりBSが見れるようになって、
映画の録画が増え続けてるえーみるです。
過去にもtsの変換方法については書いていたのですが、
一部の録画ファイルが変換をミスするようになり…
困ったので解決策を探してみました。
原因について
DGIndexで分離した後の「m2v」ファイルの変換は、
うまくいっているのですが、
その後の「FAW」を使った、
疑似「wav」の変換ができず、
下記のエラーが表示されました。
「mux後ファイルが小さすぎます。muxに失敗したものと思われます。」
このエラーが発生すると
どうしようもなくなってしまうので、
出たものについては諦めてたりしていたのですが、
使用していた「DGIndex 1.5.8」は、
音声出力に不具合があるのを知っていて
修正版を使うことも無かったので、
今回ビルドをしてその修正版を使ってみたところ、
音声エンコードにエラーが出ず、
うまく変換することが出来ました。
修正版の利用方法
修正版を使う場合は自分にてビルドが必要となります。
参考にさせて頂いたのは、「ココ」になります。
- VisualStudio 2019 コミュニティをダウンロード
- DGIndexのソースコードをダウンロード
- NASMをダウンロード
- バッチファイルの修正
- DGIndexのビルド
VisualStudio 2019 コミュニティをダウンロード
VisualStudio 2019 コミュニティをダウンロードします。
「ココ」にアクセスして「無料ダウンロード」を押下します。

「vs_community__1298107860.1552917305.exe」が
ダウンロードされるので起動します。
※ダウンロード時期で「vs_community__」以下は変わります。
ワークロードの箇所で、「.NET」と「C++」の箇所に
チェックを入れてインストールを行います。
DGIndexのソースコードをダウンロード
DGIndexのソースコードをダウンロードします。
「ココ」にアクセスして、
「Clone or Download > Download ZIP」の順に押下します。

ソースコードがダウンロードされるので
解凍して分かりやすいフォルダに配置します。

上記だと「C:\DGMPGDec-workaround」に配置をしています。
NASMをダウンロード
NASMをダウンロードします。
「ココ」へアクセスして、「2.14.02」を押下します。

「win64」を押下します。

「nasm-2.14.02-win64.zip」を押下してダウンロードします。

ダウンロードしたら解凍して分かりやすいフォルダに配置します。

バッチファイルの修正
バッチファイルを修正します。
「C:\DGMPGDec-workaround」の中の
「DGMPGDec_Build_Release_msvc16.bat」を修正します。
45行目の「rem set WINXPISDEAD=1」を
「set WINXPISDEAD=1」に変更して保存します。
DGIndexのビルド
「DGIndex」のソースファイルのある
pathで「cmd」と入力して、
コマンドプロンプトを起動します。

「set NASMPATH=C:\nasm-2.14.02\」
「DGMPGDec_Build_Release_msvc16.bat」
の順にコマンドを入力します。

最後に「ビルドに成功しました」が表示されれば完了です。

ビルドされた「DGIndex」は、
「C:\DGMPGDec-workaround\bin\msvc16.0\Release」の中にあります。

あとはこのビルドした「DGIndex」を使って
映像と音声を分けるだけです。
FakeAACWavで出力したaacを変換してエラーが出なければ、
正常に出力できていると考えて良いと思います。
またなんかエラーとか出たら記載します…。
Wavの変換が上手く出来なかった時の対応
FakeAACWavの変換がうまくいかなくて
下記のエラーが出たものがありました。

この場合は、aacのファイルをwavに変換してその後、
音ズレを調整するために表示されている秒数を元に
音声をカット又は追加する必要があります。
この手順をしないと、変換後のファイルに音ズレが発生します。
まずは、DGIndexで分離したaacファイルをwavに変換します。

追加したファイルを右クリックして
Convert > Quick convertの順に選んでクリックします。

表示されたポップアップでWAVを選択してConvertを押下します。

保存先を選んで、保存を押下します。

変換が完了したら、Audacityで読み込みます。
読み込むと下記のように表示されます。

ファイル名のDELAYの箇所を見て時間調整を行います。
今回のファイルの場合だと、『DELAY -354ms』の為、
-364ms短くする必要があります。
右下にある、選択範囲の開始点と終了点の箇所に
364と入力してEnterキーを押下します。

編集>削除の順に選んで選択範囲をカットします。

カットができたら、
ファイル>書き出し>WAVとして書き出しの順で選んで、
保存先を決めて書き出しをします。

書き出しが完了したらAviUtlで読み込んで編集すればOKです。
出力の際は、FAWを使用していませんので、
音声の箇所は別のエンコーダーを指定してくださいね。

無音を追加したい場合は、
ジェネレーター>無音の順に押下します。

出てきたポップアップで追加したい無音の秒数を入力して
OKを押下すれば追加されます。

以上がエラーが出た時の対応の仕方でした。


コメント