vob ファイルから wav(音声) の作成

作成 2000.03.14
修正 2000.03.21

必要なツール

  1. AyeSeeThreeDecode
  2. ac3dec_wave(ac3dec_w05.zip)
  3. Filter Graph Editor

変換方法

vob からの音声部分の変換
Vob ファイルから音声情報を取り出す方法は (私の知る限り)3種類存在する。

  1. AyeSeeThreeDecode を用いる

    AyeSeeThreeeDecode(コマンド名 ac3dec)は .vob .mpg .m2v ファイルから 音声パートを抽出して、 wav ファイルを作成する Win32 Console アプリケーションである。
    wav ファイルに出力する他、 サウンドデバイスに直接出力することもできる。

    基本的には、
    ac3dec input.vob -wav output.wav
    	      
    のように使う。
    ac3dec input.vob -info
    	      
    と入力することで、 vob ファイル内の Audio substrem の 情報を確認することが出来る。
    複数の substream 情報を持っている場合は、
    ac3dec input.vob  -wav output.wav -substream 0x80
    	      
    のように substream 番号を指定することで 切り取ることが出来る。


    AyeSeeThreeDecode によってデコードされた音は 音量がかなり小さくなるようだ。 音量の調整を行うオプションが存在するのだが、 これを調整しても変化が感じられないのはなぜ?

  2. ac3dec_wav を用いる

    ac3dec_wav は Catalin Beju 氏によって作れれた Win32 Console アプリケーション。 こちらは .vob からさらに抽出された .ac3 ファイル をデコードして .wav ファイルに変換する。
    現在、入手可能な最新の ac3dec_wav は ac3dec_w05.zip というアーカイブでバージョンは v0.84。
    実行コマンドの名前は ファイル名は AyeSeeThreeeDecode と同じ ac3dec.exe なので どちらかをリネームすること。

    ac3dec_wav の使用するためにはまず、 .vob 中の音声データの抽出が必要。 Mpeg Utils や Vob Snoopy を用いて .ac3 ファイルを 抽出する。 WAVE 化したいファイルが input.ac3 の場合、 コマンドラインオプションは下記のようになる。
    ac3dec input.ac3
    	      
    出力ファイルは decode.wav に固定である。


    AyeSeeThreeDecode と違い音量は十分。 5.1ch 等のダウンミックスのレベルにも不満はない。 ただ、 .ac3 ファイルによっては、 ac3dec_wav でデコードができず途中でエラー停止して しまうことがある。 .vob の切り方に原因があるのかもしれない。

  3. Filter Graph Editor を用いる
    DirectX Media SDK 中に存在する Filter Graph Editor を利用すると、 市販の Software DVD Player のエンジンを利用して 音声パートのデコードが可能である。

    Filter Graph Editor の手順は下のようになる。

    • (1) 「Graph」→「Insert Filter」メニューを選択して、 「Which filters do you want to insert?」を選択する。
    • (2) 必要なフィルタを挿入する。
      ダイアログ中のリストビュー内のから 必要なフィルタを選択する。 必要なフィルタはすべて 「DirectShow Filtes」のノードの以下にある。

      (2.1)「File Source (Async.)」
      .vob ファイルを読み込むためのフィルタ。
      (2.2)「MPEG-2 Splitter」
      .vob の mpeg2 ストリームを音声部と映像部に 分離するフィルタ。
      (2.3) Software DVD Player の音声デコーダー
      市販の Software プレイヤーの音声デコーダーを 指示する。
      (2.4) WAV Dest
      2.3 で得られた PCM データに ヘッダーファイル等を付加して .wav ファイル化 するフィルタ。
      (2.5) File writer
      ファイルを書き込むためのフィルタ。 出力したい .wav ファイルの名前を設定する。

    • フィルタ間を線で結ぶ。
    • 「Edit」→「Play」メニューを選択する。



wav ファイルの mp3 化
しかし、 Windows には mp3 をエンコードできる codec はフリーでは存在しない。 48kHz streo のリニア PCM の wav ファイルを出力して、 おいて既存のエンコードツールを用いた方がよい。

mp3 化には 「午後の午後のこ〜だ」を用いるのが正しい。
「午後の午後のこ〜だ」のコーダの出力は .mp3 なので、 MP3 Wrapper を用いて WAVタグ付きの mp3 に変換する。

画像と音声を結合する
Video Maid などを用いて映像と音声を結合する。

Video Maid の場合は、 音声なし avi と wav ファイルを読み込んでおいて、 「編集」→「連結」コマンドを用いて音声付 avi 形式とし、 連結してできたファイルを「ファイル」→「名前を付けて保存」で 保存する。
その際、 映像側は「再圧縮なし」、音声側もオリジナルの設定を選択 すること。