字幕付きの DVD-Video を作る

(2005年07月27日新規作成,08月01日いちおう全部書き上げ,08月07日いちおうFIX)


DVD-Video 作りも,凝り始めると,字幕(subtitle)を付けたくなる。
しかし今のところ,市販の1万円くらいまでのオーサリングソフトで,字幕に対応したものはないようだ。
Adobe の Encore DVD 1.5 とか Ulead の DVD Workshop 2 Professional を使えば字幕も入れられるが,これらは4万円以上出さないと買えない。

そこまでお金をかけずとも,Ulead の DVD Workshop 2 も字幕を扱えるらしい。しかし,このソフトは使い勝手が悪い。それに1万円を超えていることには違いがない。

あまりお金をかけず,またオーサリング自体は使い慣れたソフトを使って,字幕を入れられるのが,ここで紹介する手順だ。
これはちょっと面倒で,そのくせ,それほど表現力の高い字幕が作れるわけではないし,字幕選択メニューも作れない。
それらは今後の課題。

とはいえ,この手順で,誰でもともかく字幕を付けることはできるはずだ。

[目次]


字幕付き DVD-Video を作る作業の流れ

[字幕付き DVD-Video を作る流れの図]
  1. 字幕なしの DVD-Video の作成
    素材となる MPEGファイルから,TMPGEnc DVD Author など高機能な DVD オーサリングソフトを使って,メニューなどに凝った DVD-Video を作る。
  2. 字幕入りにするトラックから映像ファイルと音声ファイルを取り出す
    あとでIfoEditを使って字幕付き DVD-Video にするために必要。 →詳細
    ここまではいわば下準備。
  3. 字幕の文言と入れるタイミングを記述したテキストファイルを作成
    Subtitle Workshopというソフトを使い,字幕を入れたいMPEGファイルを読み込んで,タイミングを目で確認しながら字幕を入れる作業をする。
    出来上がったら,MicroDVD形式のファイル(拡張子は sub,実体はテキストファイル)に保存する。 →詳細
  4. そのテキストファイルを字幕ファイルに変換
    DVDSupToolsというソフトを使い,IfoEditで編集可能な形式(*.sup)の字幕ファイルに変換する。 →詳細
  5. IfoEdit で字幕付き DVD-Video をオーサリング
    映像ファイル・音声ファイル・字幕ファイルを一つにして DVD-Videoにする。 →詳細
  6. VOBファイルの入れ替え
    5 で作ったDVD-Videoの本編のVOBファイルを,1 で作ったDVD-Video に上書きする。
  7. 微調整して完成
    IFO 情報の不整合を補正する。 →詳細
[To Top]

字幕入りにするトラックから映像ファイルと音声ファイルを取り出す

以下の説明の前提

ここで紹介している手順では,字幕入り DVD のオーサリングには IfoEdit を使うことを前提にしている。
IfoEdit は,エレメンタリーストリームのファイル(映像と音声が一緒になったものではなく,別々になったファイル)しか扱えない。
そこで,映像ファイル(*.m2v)と音声ファイル(*.m2a,*.mpa,*.ac3,*.dts,*.wav,*.mp2)に分ける必要がある。

DVDのオーサリングの素材としてもともとエレメンタリーストリームのファイルを使った場合には,分ける手間が省ける。
もっとも,オーサリングのときに少しでもカットなどをしていると,そういうわけにはいかない。
また,ここで使う PgcDemux は,分離と同時にチャプタ情報ファイルも取り出すことができる。これもあとで IfoEdit でオーサリングするときに必要となるファイルなので,やはり通常は,DVD から取り出すことになるだろう。

以下では,次のようなフォルダで作業を進めるという前提で説明を書くことにする。

  格納するもの フォルダ 備 考
1 字幕のない DVD-Video D:¥TestDVD_MASTER¥VIDEO_TS トラックは全部で3つ。そのうちの最初のトラック(VTS_01_1.VOB)に字幕を付けるとする。
2 字幕入り DVD-Video にする素材ファイル C:¥4TestAuthoring 字幕なしDVDから分離して取り出した映像ファイル,音声ファイルのほか,字幕テキストファイル,字幕ファイル,セル情報ファイルを格納。
3 字幕を入れた DVD-Video(中間生成物) D:¥TestDVD_with_SUP  
4 字幕を入れた DVD-Video(完成品) D:¥TestDVD_MASTER¥VIDEO_TS ここで紹介する手順は,2 で作ったものを 1 に上書きしてしまうことを前提にしているので,完成品の格納場所も 1 と同じ。
上書きではなく,1 と 2 からそれぞれコピーをして別のフォルダに出力するようなツール(たとえば VobBlanker)を併用するなら,1 とは別に完成品の格納場所を用意する。

PgcDemux の使い方

PgcDemux で分離する手順は,次のとおり。

[PgcDemux の使い方]
  1. 分離するトラックを指定する
    分離して映像と音声を取り出したいのは,ここでは最初のトラックだということにしているので,それに対応するIFOファイルを指定する。
  2. 書き出し先フォルダを指定する
  3. Demux video stream にチェックを付ける
    デフォルトではチェックが付いていないが,ここでは映像ファイルも取り出したいので,チェックを入れる。
  4. Create CellTimes.txt のチェックは付けたまま
    デフォルトでチェックが付いている。このファイルが,チャプタ情報のファイルである。
    元の DVD-Video には字幕は付いていないので,Demux all subpic streams のチェックは外していいし,ログも要らないので,Create Logfile のチェックも外していい。ただ,付けておいても,邪魔にはならない。
  5. Process! をクリック
    分離処理が開始する。しばらくすると,「Finished OK.」というメッセージが出て完了する。
    書き出し先フォルダを見ると,下のようにファイルが生成されている。
[Demux されたファイル]


[To Top]

Subtitle Workshop で字幕テキストファイルを作成

字幕ファイルを作るには,まずテキスト形式の字幕を用意する。
といっても,テキストエディタで書くのは人間業ではないので,普通は Subtitle Workshop のようなツールを使う。

Subtitle Workshop をダウンロードしてきてインストールし,起動したら,基本的な設定を変更する。
下の図のように,Input FPS と FPS を NTSC の設定である 29.97にすることと,charset を Shiftjis にする設定さえすれば,問題なく使えるはずだ。

[Subtitle Workshop の基本設定]

Subtitle Workshop については,いくつか解説サイトもあるし,詳細なマニュアルも付いてくるので,よりよい使い方についてはそれらを見てほしい。

設定が済んだら,字幕を入れたい映像を[Movie − Open]で読み込む。
Subtitle Workshop は VOB ファイルを読めるので,D:¥TestDVD_MASTER¥VIDEO_TS のフォルダに行って,字幕を付けたいトラックの VOB ファイル,つまり VTS_01_1.VOB を開けばいい。

そして,[File − New Subtitle]で新規の字幕ファイルの作成を開始する。
下の図は,作成開始の頃の画面。

[Subtitle Workshop で字幕ファイル作成開始]

実際には,緑の枠のあたりに映像が表示されるし(オーバーレイ表示であるために画面キャプチャできていないだけ),音も出るので,それと同期をとりながら,字幕の文字を入力していく。

完成したら(あるいは途中で保存するのでも),[File − Save as]で保存する。ここでは,保存の形式は,MicroDVD(*.sub)とする。
ここでは,上記の素材ファイルを入れるフォルダに,VTS_01.sub という名称で保存したことにしよう。

上記のような状態で保存すると,このファイルの中身は,次のようになっている。これが,MicroDVD 形式の書式というわけだ。

{1}{1}29.970
{268}{369}ついにこの年
{372}{585}最初のゲームが

[2005/08/15追記]
後掲の「字幕入りDVDを作っちゃおう!」というサイトを主宰されている nabe3net さんより,このファイルの1行目は削除したほうがよいというご指摘をいただきました。
DVDプレイヤーによっては,1行目の 29.970 というのが字幕として表示され,本来の最初の字幕が現れるまで表示されっぱなしということになるものがあるのだということです。
私自身は同様の現象を確認していませんが,この1行目の記述は,字幕作りにはあまり関係ないようなので,今後はこの1行目は削除してから SUP 形式ファイルの作成に進むことにしようと思います。
[To Top]

SUP 形式の字幕ファイルを作成

MicroDVD 形式のファイルが用意できたら,それを,SUP 形式のファイルに変換する。

ここでは,DVDSupTools というソフトを使う。

同じく MicroDVD 形式から SUP にすることのできるツールとしては,最近,SubtitleCreator が注目されている。
このほか,SUP 形式にするには,MicroDVD形式ではなく SubRip形式(*.srt)の字幕テキストファイルを作って,そこから SubtitleCreator や Srt2Sup というソフトを使って作るという方法もあるようだ。
しかしこれらの方法はいずれもまだきちんと試したことがない。

DVDSupTools は GUI のソフトではなく,コマンドラインツールなので,コマンドラインから実行するか,字幕テキストファイルをアイコン上にドロップするか,いずれかをする。
名前が複数形であることからもわかるように,これはいくつかのツールのパックで,SUP ファイルを作るためには,そのうちの,DVDSupEncode.exe を使う。私は,これのショートカットをデスクトップにおいて,そこに字幕テキストファイルをドロップして変換している。

DVDSupTools にはインストーラーなどはない。ダウンロードしてきて,任意のフォルダに解凍するだけだ。
ただ,DVDSupTools に含まれるファイルのうち,DVDSupEncode.ini というファイルを,適切な内容に書きあらためて,ユーザーフォルダの直下に置かなければならない。これは忘れないように。
ユーザーフォルダとは,つまり,C:¥Documents and Settings¥<ユーザー名>のフォルダのこと。

DVDSupEncode.exe は,デフォルトでは,このファイルの [Default] のパートに書かれた内容を読みにいってそれに従って変換するので,そのパートを次のように適切に変更する(;[セミコロン]以下はコメント行として扱われるので,そこにメモを書くことができる)。

[Default]
FrameW=352 ; ※1
FrameH=480 ; ※1
FrameRate=29.97 ; ※2
Delay=0
Contour=2
Palette=3210 ; ※3
Alpha=FFF0
OnTop=0
;Indent=40
;DynamicSize=0
;RightToLeft=0
ShowBitmap=0
FontName=MS UI GOTHIC ; ※4
FontCharSet=128 ; ※5
FontSize=18 ; ※6
FontStyle=REGULAR
※1
DVD-Video に格納されたMPEGの画面のサイズに合わせて変更する。フルサイズのMPEG なら,720×480。
※2
ダウンロードした時点では,PAL に準拠して 25 となっているが,NTSC では 29.97。
※3
字幕色に使うパレットを指定。ここはダウンロード時のままにしておく。そうしておけば,後で字幕色を設定する際に,このソフトのマニュアルのとおりの設定値が使える。
※4
ダウンロード時は Arial となっているが,日本語を使うので MS ゴシックに変更する。
※5
ダウンロード時 238。これはよくわからないが,後掲の「字幕入りDVDを作っちゃおう!」のサイトに記載のとおり,128に変更。
※6
ダウンロード時 23。好みに応じて変更する。

VTS_01.sub を 変換すると,同じフォルダに拡張子だけ変わった VTS_01.sup が出来上がる。
これが,バイナリになった字幕ファイルである。



[To Top]

IfoEdit で字幕入りのオーサリング

字幕テキストファイルができたら,それを映像ファイル・音声ファイルと合わせて IfoEdit でオーサリングする。

この作業には,IfoEdit のほかに Rejig というソフトも使えるらしい。Rejig は,IfoEdit よりやや高いマシンスペックを要求する代わりに,少しだけ気の利いたことができるらしい。操作はIfoEditとほぼ同じ感じ。
しかし,私が試したかぎりでは,いつもエラーが出てしまうので,使えない。
だから素朴に,IfoEdit を使う。

IfoEdit にもインストーラなどはない。
ダウンロードしてきて,任意のフォルダに解凍するだけだ。あとは,ショートカットを作成してデスクトップに置くなどして,起動しやすくする。

IfoEdit を起動し,[DVD Author − Author new DVD] をクリックすると,次のようなダイアログが出る。
DVD のオーサリングはここで行う。

[IfoEdit で新しい DVD をオーサリング]
  1. 映像ファイルを指定
  2. 音声ファイルを指定
    以上の2つは,PgcDemux を使って取り出したもの。
    なお,音声ファイルに日本語音声であることの設定もしておく。音声ファイル名をクリックして図のように反転表示させると,音声の言語名が指定可能になる。
  3. 字幕ファイルを指定
    DVDSupTools で変換した字幕ファイルを指定する。
    音声ファイルと同様に,日本語字幕であることの設定もしておく。
  4. チャプタ情報を指定する
    参照ボタンを押して Celltimes.txt を指定すると,図のようにチャプタ情報が読み込まれる。
  5. 出力先フォルダを指定
  6. [OK]をクリックする
    オーサリングが始まる。
    経過を示すウィンドウがしばらく表示されて,完了すると,次のようなウィンドウが現れる。
[日本語字幕の存在を確認]

ここで,図のように VTS_01_0.IFO を選択して,下の領域に日本語字幕の存在が表示されれば,ひとまず成功である。

これで字幕は入ったわけだが,この状態で PowerDVD などで再生すると,字幕の字も背景もすべて黄緑色の,一見したところバカに太い黄緑の字幕が表示される。
字幕の色を設定しなければならない。

[字幕の色を設定]

図のように,ツリーを展開して VTS_PGC_1 の内容を下の領域に表示させ,下の方にずっとスクロールしていくと,赤枠で囲った記述が現れる。
同じ形式の記述は全部で16行あるが,赤枠で囲った最初の4行が第1字幕(つまり,今回作成した字幕)の分なのだそうだ。

ここを,次のように変える。

[字幕の色を設定後]

行の上でダブルクリックすると,値を変更するウィンドウが現れるので,1行目は 10 80 80,2行目は 20 80 80,3行目は 80 80 80,4行目は EB 80 80 と入力して変更するのである。
DVDSupTools のマニュアルに,DVDSupEncode.ini で Palette を 3210 とした場合にはここの値をそうしろ,と書いてあるので,それに従う。

変更が終わったら,ウィンドウの左下にある[Save]をクリックして,VTS_01_0.IFO を上書き保存し,IfoEdit を終了する。

ここまでの操作で,D:¥TestDVD_with_SUP の中の DVD-Video は,字幕付きの DVD-Video になっているはず。
PowerDVD などで再生して,確認してから,次に進もう。



[To Top]

VOB ファイルの入れ替えと IFO 情報の補正

さて,いよいよ最終段階である。メニューのない DVD-Video から VOB ファイルを取り出し,メニューありの DVD-Video に上書きしてから,崩れた情報を補正する。

実は,ここがなかなかうまくいかなかった。

VOB ファイルの入れ替え

まず,D:¥TestDVD_with_SUP から D:¥TestDVD_master¥VIDEO_TS に上書きする。
前提としている例では,一番最初の「流れ」の図を見てもわかるように,入れ替えるファイルの名前が同じ(VTS_01_1.VOB)なので,ごく単純な上書きをする。
元の(メニューあり・字幕なしの)DVD-Video の第2トラックを入れ替える場合なら,字幕付きで作った DVD-Video の VOB ファイルの名前を(VTS_02_1.VOB と)変更したうえで上書きするということになる。

ここでの VOB ファイルの入れ替えは,VobBlanker というソフトを使うと,もっとスマートにできる。そのうえ,これを使えば,次項で扱う IFO 情報の補正も同時にできてしまうはずなのだった。

しかし,私が試した限りでは,これを使っても,VOB ファイルの入れ替えはできるが IFO 情報の補正ができたことはない。結局,別途補正が必要になる。

それなら,何もそんなツールを起動することはない,ということで,ファイルの上書きによって入れ替えをすればいいと思う。

IFO 情報の補正

最後に使うのは,IfoUpdate というソフトだ。

このソフトは,日本語環境だとエラーを起こす。
ユニコード非対応であることが原因らしい。
対象フォルダを指定しただけで,次のようなメッセージを出して強制終了してしまうのだ。

Run time error 6.
Overflow

したがって,英語環境にして使う必要がある。

起動させたら,オプションを次のように設定する。
これは,それぞれの理由は理解していない。IfoUpdate の使い方を解説した,Web上のフォーラムでのある発言(DVD Subtitle Guide using DVD-lab PRO)を鵜呑みにしただけ。

[IfoUpdate の設定]

その後,ファイル等を次のように設定する。

[IfoUpdate でIfo情報を補正]
  1. Original IFO Path
    変更対象にする IFO ファイルの場所を指定する。変更対象にするのは,ここでは,VOB ファイルの中の字幕の存在を知らない IFO ファイル,つまり D:¥TestDVD_master¥VIDEO_TS の中の VTS_01_0.IFO なので,それを指定する。
  2. Authored IFO Path
    字幕付きであることを知っている IFO ファイル,つまりD:¥TestDVD_with_SUP の中の VTS_01_0.IFO を指定する。
  3. Backup IFO Path
    1 の IFO ファイルは書き換えられてしまうので,書き換えの前にバックアップされるようになっている。そのバックアップファイルの名前を指定する。
  4. [Update IFO]をクリックする
    上書きするけどいいのか,他のファイルも書き換えるかもしれないけどいいのか,と2度確認メッセージが出るが,いずれにも自信を持って[はい]と答えていけば,IFO 情報の補正が完了する。

以上。
これで,字幕の切り替えが可能な DVD-Video が出来上がり。
ただ,最初にも書いたように,字幕メニューは付けられないので,DVDプレイヤーの字幕切り替えボタンなどで切り替えるしかない。



[To Top]

参考になるサイト

DVD-Video に字幕を入れる方法について解説したサイト

字幕付き DVD-Video に関しては,現在のところ,次のサイトが最も情報量が豊富だ。

本ページで書いていることも,このサイトに多くを負っている。
そのうえ,このサイトでは,DVDAuthorGUI-J という字幕対応のオーサリングソフトも配布されている。このソフトを使えば,字幕選択メニューを作ることもできるようだ。

ただ,私には,このサイトはさまざまな方法について書かれているためにかえって少しわかりづらい印象があった。DVDAuthorGUI-J もまだ使い方がよくわからない。
そこで,一つの方法に絞って書いてみることにも意義があると考えて,本ページを作成した次第です。

ツールを入手できるサイト



[To Top]
All About スタイルストア




[「デジタルビデオ編集の基礎知識」トップページを新しいウィンドウで開く]