AviUtl+VobSubでDVDの字幕が大幅にずれるときの対処方法
少しタイミングがずれるとか、徐々にずれていくとか、そんなのではなく、大きくズレ過ぎていて映画の再生中には字幕が一切、表示されないというそんな症状です。
字幕が表示されないのに、なぜ、ずれていると分かったのかというと、試しに、設定→VobSubの設定→Configureで開く「Filter: VobSub」ウィンドウの「Time offset (ms)」項目に大きな値を入れてみたところ、字幕が表示されるようになったから(もちろんずれていますが)。
どうやら、DVDが複数のパートに分かれているときに、timestampが全体に対するものだったり、部分に対するものだったり、そのへんが合っていないとか、まあ、そんな感じなんじゃないかと(憶測)。
では、この項目にどのような数値を入れれば、いいのでしょうか?
試行錯誤の結果、たどり着きました。
VobSubが作った "VTS_xx_0.idx" をテキストエディタで開きます。すると、各字幕に対するtimestampが記録されている部分があることが分かります。例えば、英語の字幕だと、↓こんな感じ。
# English
id: en, index: 1
# Decomment next line to activate alternative name in DirectVobSub / Windows Media Player 6.x
# alt: English
# Vob/Cell ID: 2, 3 (PTS: 139972)
timestamp: -02:51:56:788, filepos: 000001000
timestamp: -02:51:53:785, filepos: 000001800
timestamp: -02:51:49:047, filepos: 000003800
...
ここの最初のタイムスタンプ「-02:51:56:788」をミリ秒に換算します。
2*60*60*1000 + 51*60*1000 + 56*1000 + 788 = 10316788
もう一つ、DVD Decrypterが出力ファイル "VTS_xx - Stream Information.txt" を
0x20 - Subtitle - Japanese / Normal Captions - [SubPicture 01: Wide] / LBA: 63945 / PTS: 00:02:44.277 / Delay: 163997ms
0x21 - Subtitle - English / Normal Captions - [SubPicture 02: Wide] / LBA: 64013 / PTS: 00:02:44.444 / Delay: 164164ms
0x22 - Subtitle - Japanese / Normal Captions - [SubPicture 03: Wide] / LBA: 63947 / PTS: 00:02:44.277 / Delay: 163997ms
ここのDelayの数字を確認します。
Delay: 164164ms
で、先ほどの数字と足して、
10316788 + 164164 = 10480952
この数字をVobSubの設定ウィンドウの、Time offset欄↓に設定したところ、字幕と映像が合うようになりました。
理屈をあまり理解していないので、すべての場合にうまくいくかどうかは分かりませんが、お試しあれ、うまくいかなかったから、ごめんなさい。
最近のコメント