在DVD中加入中文字幕
. F/ N3 x. |$ v! i. c; C! E2 \0 M2 |4 N
从网上下载的DVD或者自己购买的DVD碟片,往往会没有所需的中文字幕或者字幕不够完美。本文介绍了如何将字幕文件加入到DVD中,以中文字幕为例。8 Q4 A) o9 N' f+ m$ X: p
& p4 @! j3 n4 a% I" `8 S 所需软件:
3 W6 f7 P, P- ^4 \& ~/ v) p8 T 1.DVD Decrypter
1 C J& h1 @! G+ ] 2.VobSub ! h* y5 k! M. I% m" P9 [
3.sub2stl
! B: }' o7 W& s6 v0 y4 Q 4.DVDMarstro
+ x3 T) m' l6 j 5.IfoUpdate " c- ^7 [* P6 `! l: i
6.SupRemap 5 W _, a9 R5 z" a1 c/ I& O Y
7.IfoEdit 0 v; h0 x+ a# e# d
步骤一、用DVD Decrypter DeMux视频和音频
6 e3 v3 |" v- ~* ~; m# L# [ 对于下载的DVDR,可将其后缀改为ISO后用Daemon虚拟。运行DVD Decrypter,软件自动识别到正片所在位置(每部电影都不同):. F* S- q$ I/ {5 f' E c" E
; G c) _2 T% u8 d& @

% @1 }5 o( ^+ S/ i 5 D/ a4 y" W( x9 `2 H/ T
在DVD Decrypter的setting里选择上建立DVDMaestro格式的Chapter记录,并且不选择File Split。2 e) }$ u/ j" T2 b T
: i5 m' b5 c F
4 F( T: b1 s; k: w) y; a9 T 0 n: S9 E1 n" b5 ~. U( m
点击主界面的“Stream Processing”(要在Mode里设置为IFO),勾选“Enable Stream Processing”,在视频和音频前打上勾,并分别都选择Demux。
; q B! Y) G# f
+ P, ^3 p# T5 y
3 s& Q0 z; P6 [+ ~2 f9 H ( z$ N% j" j6 A, R
OK,选择好之后,设置保存路径,并开始Demux。对于有多个PGC的DVD影片,则Demux完一个就改相应的文件名,将m2v和ac3文件按批区别开。) ?1 u& Q: c Z0 s3 n
g# P* x* D1 n& G& d+ o
步骤二、处理字幕, W3 I( @% `# I# B4 J
本例中,我们保留原DVD的英文字幕,并添加2个简体中文字幕和2个繁体中文字幕(分别为TLF版和Niuguo版的srt格式字幕)。* b3 }5 P3 P' }& t2 V( J
原DVD的英文字幕的处理方法很简单,按照《用VobSub提取DVD的字幕》一文操作即可,生成idx+sub字幕。而srt字幕则从网上下载得到。1 x- \: E' U3 A d7 M1 B' m
如果DVD的制式是NTSC,那么我们要对字幕进行调整,因为我们使用的字幕都是按照29.976FPS来计算的真实时间码。但是DVDMaestro等DVD制作软件则使用30FPS的时间制。, ^' h( n4 O& Q6 g# l
1.对于idx+sub字幕
* T, E) n6 R; n, s" J& m" j 在安装VobSub后,单击“开始”-“程序”-“VobSub”-“VobSub Cutter”,或者运行“rundll32.exe vobsub.dll,Cutter”命令调出VobSub Cutter。然后打开该idx字幕,并在“Modify FPS”前打上勾,在“Org”处选择“29.970”,在“New”处选择“30.000”,保存为1.idx和1.sub。
6 @; M" ]" A# D4 S
+ w0 ]- o% B9 \' c" j4 D
! E9 h5 n/ e: j/ k& F& K) Z ; j" ^. S6 ], R% _
用VobSub SubResync打开1.idx(操作方法可参考DVDRip字幕的分割(srt格式)一文),点击“Save As...”,“保存类型”处选择DVDMaestro的son文件,存为1.son。
5 A$ ]! u( C2 {5 ]" o) O: W
V. V: l+ J0 X- q & q- G, G4 f5 J$ l
1 q7 D4 ^4 G& I9 M p0 h$ l
这个保存过程比较长,会生成一个son文件,一个spf文件和若干bmp文件。son文件是索引文件,spf为调色板文件(在后面会用到),而这许多的bmp,则是图形格式的每条字幕了。
8 p& ?. W& E: C& i* s3 \3 g. B 2.对于srt字幕, u# _! ^8 j( P, p/ p: r
右击srt字幕选择“Edit With SubResync”,在打开窗口中的“Fps”处选择29.97后打开文件。
$ z" O* n. j1 h4 q# k! } 0 y; j+ ?( P; H" _+ P
" e! |$ Y0 `* t
然后Save As,保存类型处选择Microdvd的sub格式。接着再用VobSub SubResync打开生成的sub字幕,在“Fps”处选择30,再Save As成srt字幕文件。+ F& R+ I% F8 K [* u
方便起见,我们将TLF版的字幕命名为2.srt,将Niuguo版的命名为3.srt。用sub2stl打开2.srt,在字体处设置成黑体+32pt,水平位置按默认居中即可,垂直位置可以选择0或者选择一些网友推荐的-5~-10。
% O% J- @9 s5 _4 [3 N; u0 U 0 A' ^ n7 c" B( f( u# F H- B

+ Y) @0 N/ l5 ~4 A, `
, N; `4 `' u# }- }1 w. }6 z 关于字幕字体和大小,可以按照自己的喜好来设置,比如沈晟推荐用36pt,但遇到断句比较长的字幕时,容易超出屏幕。另外针对繁体中文字幕,幼圆的选择也比较多。
0 y- _% \* m7 Q* o 点击Convert按钮进行转换,两个中文字幕分别生成2.stl和3.stl。( ]: P2 z7 }% R3 l c/ {
至于繁体字幕,则可以偷个懒,用记事本打开stl文件,把内容复制到Word里去,然后用Word的简体转繁体功能即可。生成的繁体字幕存为3.srt和4.srt。
# t! `1 q" E: o, d0 o& d
' r( @( T# k" D3 B8 e 步骤三、使用DVDMarstro创建新的DVD
e+ [& Z9 u& D 1.打开DVDMarstro,在右下角双击加入所要处理的视频(m2v)和音频(ac3等),DVDMarstro会耗一段时间来分析(生成PRA和PRV文件,下次再打开就很快了)。双击“Movie1”打开Movie1的窗口,把视频和音频都拖到相应的位置。选中Movie,将Movie设为与原DVD相同的16:9LB/PS模式(在Real View的左上方,参见本页最下方的界面图)。在时间轴上右键“Import Chapter List”导入步骤一中生成的chp文件。 E a0 h' x& ^9 p k
软件默认采用NTSC制式,这方面的设置以及其他更多设置,可以右键Movie1的属性里找到。# \' ]( P+ c: c2 p' _. E
2.在第一条字幕位置导入son字幕(右键-“Import Subtitle Files...”),然后随便双击一句(可以通过上面的+-按钮来扩大/缩小显示间距),弹出字幕预览的界面。为了统一字幕配色,在预览界面点击“Colors”标签,再点击“Edit Pellete”-“load”,打开刚才的1.spf文件。9 c+ k: _8 }3 I9 D% J, d8 |
, D D3 `* k9 k& o/ f* |/ U

6 E: a* ~8 O, g 7 _# P/ i: w$ s- f
这里需要说一下DVD的调色板,一般是按照编号0-15提供了16个颜色块,DVD影片一般是使用最后四个(即本例中的黑、黄、黑、黑),而该DVD颜色也实在少得可怜,只有这两种颜色。确定后预览界面如下图。! o9 ]# ~0 g" n2 \
2 L* O4 z! O8 r4 W) I; W
, Y: d3 j, @; k5 n6 _# Z# O
% G( o& y3 I" E$ q W' g窗口右边色块上的数字表示对比度。可以看到字幕的颜色为黄色黑边,颜色先不去管它,到后面再调。在第二条字幕位置导入2.srt,预览之,我们发现字幕变成了黑色。不要紧,因为这时候已经load了调色板,可以在右边的颜色区自己来调试颜色和对比度。经过试验我们达到了和son字幕一样的效果,此时的对比度为15、0、15、0,颜色为黑、黄、黄、黑。% J& N" F) {: l E, y1 @
1 R1 ^7 N# _* e$ C
* t# V5 }- j( k6 Q( |: d8 M
$ s" m0 U3 a: N: \用记事本打开2.stl,修改和添加里面的参数,如下:$ t- d& A& ]( z
$CONTRAST1 = 15
0 N: G: E! g2 p. @$CONTRAST2 = 0- I$ d2 h4 t8 u' O
$CONTRAST3 = 15: L( S/ ^- k7 e: S/ Y. A1 h
$CONTRAST4 = 0, o) r: U# v/ V$ K6 X
$ColorIndex1 = 0+ Z: \& X) J# P+ N
$ColorIndex2 = 1
' u# \5 B8 r' N7 V7 o* q, |$ColorIndex3 = 1
- \( z# \/ e( O3 y+ x# u) O$ColorIndex4 = 0
7 t5 l$ V3 r! ?: Q5 q8 V t 注:一般来说如果son中的颜色顺序标为1,2,3,4的话,那么stl中的顺序就是2,3,4,1。然后把同样的颜色值和对比度对应过去。本例中因为颜色实在少,所以就没遵循这个规则了。8 X( J# X3 @" O8 G9 T# G
ColorIndex为添加的颜色参数,本例中黄色的代号是1、5、9、13,其他全都是黑色。在后面的步骤中我们要把黄色都改为白色,所以本例中就随便挑了个黄色的代号。如果遇到配色较多的DVD,则可参考刚才load spf文件后的颜色代码图来进行设置。如果本例中代码6是白色,那么就把ColorIndex里的1换成6了。
! ~5 u( o% ^2 h+ m0 I" O2 X+ v 按照同样参数设置其他stl字幕文件,并分别导入,导入后点击字幕前的按钮设置每条字幕的语言,stl字幕都为zh(中文)。
0 W0 }4 v$ ^+ p 3.点Movie1窗口右下角的 按钮打开PlayList窗口,“Add Playlist”添加一个Playlist,在下面的Movie1Playlist1处右键-“Add All Chapter Points”。添加完后注意看看有没有出现顺序错位的情况(比如第一个片段指向了chapter5什么的,偶尔会出现这种情况)。设置完后如下图( A% W" I* B# h5 |! h8 ~3 E
3 g c" |2 w; L! w
( u5 x- k/ N- ?2 f" Q4.“Tools”-“Compile”,选择指定目录,输入DVD文件。( r8 e; n. s4 Q
4 c0 s+ ]( [& T+ g- ?. a 5.对于多PGC的影片。如果有3个PGC,则把PGC_02和PGC_03的视频放在PGC_01视频的后面。后两个应该都比较小的,所以Chapter也就一两个,手动添加上。没有的话,就是在PGC_01的结束处和PGC_02的结束处都加上一个Chatper就可以了。而后添加3个PlayList。第一个PlayList就是正片(PGC_01)的所有Chapter,第二个就是PGC_02……并在PlayList1的属性中屏蔽除音轨1外其它的,并在PlayList2的属性中屏蔽除音轨2外其它的。
2 ^& d" w) e' S& @ 6.其实这个时候已经可以预览DVD了,用WinDVD等软件打开DVDMarstro生成的VTS_01_0.IFO文件,可以看看你做的字幕是不是能出来。预览完后将生成的文件改为和源DVD相同的文件名,如本例中是将VTS_01*.*改成VTS_04*.*。
+ n! H( b9 o0 E% N1 j" J% y: {1 \
% ?* S# e/ J+ k# Y' A$ T 步骤四、用IfoUpdate对ifo文件进行配置
& G- B) o: l' A M* K3 Z 1.没办法,将操作系统改为英文并重启……软件在中文系统下会出错。% n$ |0 @$ [' Z, q1 x; w
& x2 B8 g" y- `$ m, J! u
) ~9 j4 s# q) g3 w, x9 }1 ^5 H2.假设刚才DVDMarstro将文件都存在了E:\DVD目录下,新建个临时目录E:\A,把E:\DVD下的VTS_04_1.VOB到VTS_04_5.VOB(正片文件)以外的文件统统移动到A目录下。
/ C- T0 c1 g1 P) u 3.将源DVD中,VTS_04_1.VOB到VTS_04_5.VOB以外的文件统统拷贝到E:\DVD目录下。
* R5 Z; t: ?+ `! ?, U 4.运行IfoUpdate,“Original IFO”中填入E:\DVD目录中的正片IFO文件VTS_04_0.IFO,“ReAuthor IFO”中填入A目录中的正片IFO文件VTS_04_0.IFO,“Backup IFO”中设置好一个备份文件。 1 u9 Z# L5 ^4 D7 N B+ q, b
; t" `' B: k( z; N/ ~
+ f, r: F6 ]7 f' ^( p& b7 j 5.在“Option”中选择“Copy Audio and Subpicture Tables”;在“Mode”中选“Maestro Multi-PGC”,如下图
% j9 ? D, M! Z* n# G* ^8 Q% ]
3 W3 G* ^% |0 g% |( |. ~7 }7 A: M8 Q3 O' ~+ _; |
6.点击“Update IFO”。5 l s6 U, A) U* p1 T1 z
7 T+ A; l9 J, o; u4 n3 D
步骤五、用SupRemap重写颜色信息
/ S( k: C" a2 V8 |" k4 y+ N 前面提到的黄色字幕,我们把它换成白色的。
: R. m+ v6 P3 x, X# p2 y) G/ }' V 打开SupRemap,点击“IFO File”标签,打开正片文件VTS_04_0.IFO,如图9 w b' X4 I% Q0 `; T/ a
/ J) o1 l2 R) {
9 I; ^- ]' p* ]0 r' D
挨个在右边点黄色的块,改成我们需要的白色(其实本例中改1和13即可)。6 @, ~ U3 n) D
9 F& l3 p, o" j2 x, U% f0 p
( D& I4 `" Z5 [3 k4 m& b/ i 然后覆盖保存IFO文件,同样可以用WinDVD等打开该IFO来看看字幕颜色跟着改变了没有。
, A2 m- i9 t: i7 S/ ^) H2 S; M+ O
# X- s( a" f9 k6 Z9 y. x 步骤六、生成镜像文件% V. l4 d2 ^6 Y! j+ Z( J
运行IfoEdit,“Open”打开VIDEO_TS.IFO,点击“Get VTS sectors”进行最后的校正(非常重要,否则无法播放)。再点击“Disc Image”便可以生成DVD光盘镜像文件了。
- z: a) [3 d8 e* a$ _# [6 B
/ f# Q+ O Z" V* a6 b& d. _- _# O
- A5 B$ B- U+ u7 }2 m 生成的文件后缀为IMG,同样可以更改为ISO来进行虚拟或者交给Nero等软件刻录。最后我们看看播放效果:
- M9 Z: m' ?( } |