Make your own free website on Tripod.com

字幕の吸出し for Virtual Dub

Last modified 2001/03/11
Authored by vagrantz

1.はじめに

前回の「字幕の吸出し」作成以降、久しぶりにVobSubが1.21(現在は1.49までバージョンアップしています)までアップデートしたため改めて字幕の吸出しについて手順を記述してみました。今回は、DVD2AVIを使用して直接AVIUTILTMPGencまでもっていく方法を使用しています。非常に多くの処理が含まれるため、エンコード時間はかなりかかりますが予め了承ください。尚、イメージとしては「DVD2AVIでVOBtoMPEG」「3.DVD2AVI解説」「4.AVIUTILでインターレース解除」の章の間に挟み込まれる内容となりますので、DVD2AVIAVIUTILTMPGencなどの個所については適宜「DVD2AVIでVOBtoMPEG」を参照ください。全体の流れ図は以下のようになります。


流れ図

2.必要なソフトウェア

必要なソフトウェアは以下のようになります。


1.VirtualDub V1.4c
後述のVobSub Plug-inを使用するためのAVI編集ツールです。http://www.geocities.com/virtualdub/より入手してください。
2.VobSub for VirtualDub, AviUtl & Avisynth Version 1.49
VirtualDubを使用して字幕を挿入するためのプラグインです。http://w3.swi.hu/gabest/もしくはhttp://go.to/doom9より入手してください。解凍したら、vobsub.dllファイルをvobsub.vdfにリネームし、VirtualDub[plugins]ディレクトリにコピーしておいてください。
3.VFAPI Reader Codec 1.03(若しくはこれ以降)
VFAPI形式のファイルをVFAPI Reader Codec形式の AVIファイルへ変換してくれるツールです。平たく言えば、DVD2AVIのプロジェクトファイル.d2vVirtualDubで読み込めるようにするためのツールです。堀氏のページhttp://www.yks.ne.jp/~hori/より入手してください。適当なディレクトリに解凍したら、同梱のvifpset.batを実行しておいてください。

以上になります。VirtualDubのインストールは解凍するだけですが、フレームサーバを有効にするためには以下の作業を行う必要があります。

1.フレームサーバを使えるようにする

※この作業はフレームサーバーを使用する直前に行ってください。これをONにしたままですとAVIファイルが正常に保存されなくなってしまいます(ReaderCodec使用時も含みます)。

フレームサーバ機能は、VirtualDubで手を加えた映像ソースをそのまま他のツールに中継するための機能です。この機能を使用することで、VirtualDubで字幕を合成してその他のエンコーダ(TMPGenc等)でエンコードすること等が可能になります。
VirtualDubに同梱されているAuxSetup.exeを実行すると、以下のウィンドウが表示されますので、[Install handler]をクリックします。


右のような画面が表示されます(パス等は環境により異なります)。以上終わり。


フレームサーバを有効にする際は、VirtualDub[aviproxy]ディレクトリ中のproxyon.regを実行することで行いますが、これはフレームサーバを実行する直前に行うようにします。また、オフにするのを忘れた場合、AVIファイルでの保存が出来なくなってしまうので注意してください。フレームサーバーをオフにするには、proxyon.regと同じディレクトリにあるproxyoff.regを実行することで行います。

3.字幕の合成

まず、予めDVD2AVIを使用して映像ソースを用意しておきます。DVD2AVIを使用して.d2vファイルを作成する方法については「DVD2AVIでVOBtoMPEG」の「3.DVD2AVI解説」を参照ください。

1.VFAPI Reader Codecの使用

DVD2AVIの出力するプロジェクトファイル形式.d2vVirtualDubで読めるように.avi形式に変換します。先ずVFAPIConv.exeを起動し、[ジョブを追加]をクリックします。


字幕を合成したい.d2vファイルを選択し、[開く]をクリックすると右のウィンドウが表示されますので、出力先を適当に指定して[OK]をクリックします。


ジョブが追加されますので、[実行]をクリックします。変換が正常に行われた場合は、正常に終了した旨のメッセージが表示されます。

2.Virtual Dubの使用

VirtualDubVFAPI Reader Codecを使用して作成されたAVIファイルを読み込みます。VirtualDub[File]->[Open video file]から先ほど「1.VFAPI Reader Codecの使用」の項で出力先に指定した.aviファイルを開きます(例でいけば[G:\IRIA.avi])。

1.VobSub Plug-inの追加

[Video]->[Filters]を開き、[Add]ボタンをクリックすると以下の画面が表示されますのでVobSub 1.49を選択します。


VobSub 1.49を選択すると、以下のウィンドウが表示されますので、[Open]ボタンをクリックします。


IFOファイルを指定します。通常は[VTS_01_0.IFO]ファイルだと思われますが、字幕を合成したい映像が例えば[VTS_03_x.VOB]から抜き出したものであった場合は、選択するIFOファイルは[VTS_03_0.IFO]ということになります。

※一度インデックスを作成している場合は、インデックスを保存したディレクトリにある(若しくはコピーされている)IFOファイルを指定することで、余計なIndexing作業を省くことが出来ます。

IFOファイルを選択するとVobSubは同一ディレクトリ内に.idxというインデックスファイルが無いかを調査し、無い場合はインデックスファイルを作成するためのフォルダを指定するための以下のウィンドウを表示するので、インデックスファイルを作成するフォルダを指定します。

※次回にIFOファイルを読み込む際にはここで指定したフォルダにあるIFOファイルを指定することで余計なIndexing作業を省くことが出来ます。


適切なIFOファイルを選択し、次に新規に作成するインデックスファイルの出力先を指定すると右図になります。

ここでは、吸い出す字幕とセクションを選択します。DVD1枚に複数話収録されている場合などで、途中の話から切り出したい場合は相当するVobIDを選択します。また、VobUTIL等で既に切り出したVobファイルを使用する場合は[I've stripped the source files and crossed my fingers]を押すことで切り出されます。


初めての場合はインデックスの作成が始まります。インデックスの作成と読み込みが終了すると以下の様に表示されますので、合成したい字幕の言語を左のメニューより選択し、[OK]をクリックします。


VirtualDubのスライドバーを動かしてみることで、字幕が合成されていることが確認できると思います。

2.フレームサーバの設定

フレームサーバ機能を利用すると、VirtualDubからAVIファイルを読み込めるツールに対して映像を中継できるようになります。フレームサーバを有効にするためにはまず、VirtualDubの[aviproxy]ディレクトリ中のproxyon.regを実行します。次に、VirtualDubメニューから、[File]->[Start frame server]を選択します。


[Frameserver setup]というダイアログボックスが表示されます。ここは、ファイルネームをデフォルトの名前から適当な名前に変更し、[start]ボタンをクリックします(以前は、そのまま[start]を押せと書いておりました。お詫びして訂正いたします。[2001-03-11])。

[Save.VDR signpost for AVIFile handler]というダイアログボックスが表示されますので、ここでは中継先のツールに読み込ませるファイルネームを入力します(何でも良いです)。拡張子は.vdrとなっていますが、無視して.aviとして適当なフォルダに保存します。


フレームサーバが正常に動き始めると、右のウィンドウが表示されます。

あとは、AVIUTILなりTMPGencなりで.aviファイルを読み込んでインターレース解除やエンコード等の処理を行います。TMPGencでの24fps化やインターレース解除設定については、DVD2AVIでVOBtoMPEG6.TMPGencでインターレース解除(24fps化)を参照してください。
※中継先のツールからAVI出力を行う際は、VirtualDubの[aviproxy]ディレクトリ中のproxyoff.regを実行しておく必要があります。一度動作させておけば、offにしてもフレームサーバ自体は動作します。新規にフレームサーバを起動する際にはやはりonにしておく必要があるかもしれませんが・・・。

5.総括

なんだか冗長な文章になってしまいました。余り参考にはならないかもしれません(^^;。VobSub1.49(これ以前からそうでしたが)については、例えばDVD1枚に3話入っていて、そのうち2話目だけ切り出してきて字幕をつけることが出来るようになっています。かなり扱いやすくなっていると思います。

それから、長時間ものでの音声と字幕のズレ等に関しては検証を行っていませんので、そういう可能性も無きにしも非ずです(^^;。どうしても駄目ならやはりDVD2MPEG squeezerを使用することになるでしょう。

とりあえず、本文に関する疑問質問指摘等は掲示板或いはメールにて宜しくお願いします。


Valid XHTML 1.0!Valid XHTML 1.0!メニューにもどる