发新话题
打印

MP4播放器玩转字幕—— 从Sub到Srt

MP4播放器玩转字幕—— 从Sub到Srt


终于有了一台属于自己的MP4播放器,赶紧拷上电影、歌曲、图片来细细把玩一番。这台播放器最难能可贵的就是支持外挂字幕,如果在旅途中用它来看电影消磨时间可真是一件美事!咦,为什么播放电影时没有字幕显示?检查了一下,字幕文件与电影文件同名且在同一个文件夹下,可为什么不行呢?翻出说明书一查,发现它原来只支持Srt格式的字幕文件,但笔者拷的却是Sub格式的字幕,难怪不能显示。看来要享受这高科技还颇费周折啊!乖乖地转换字幕吧,把Sub格式转换成Srt格式。  . t% _2 D+ i/ l/ Y
4 k: y. S: t* k+ `* O
小知识:Sub格式的字幕其实是一组排好序的图片,按照事先设定的时间依次出现在屏幕上。它一般由Sub文件和Idx文件两个文件组成,其中Sub文件为字幕的镜像文件,作为字幕元素的图片就是存放在这个文件里的;Idx文件为索引文件,也就是时间标签,它来决定每个字幕元素出现的时间,这两个文件互相协作,最终形成完整的字幕呈现给用户。而Srt格式的字幕则是一个纯文本,文件中包含了时间标签和对应的字幕。  
/ x1 ^5 l8 A1 C' Q7 n, t/ @" z3 T; m, x; [+ h1 B
将Sub格式的字幕转换为Srt字幕,需要SubOCR这个软件的支持。从“OCR”的字样看,SubOCR似乎与文本识别技术有关系。的确如此,它的用途就是把组成字幕的图片识别成文字,最后结合Idx文件中的时间标签把字幕保存为Srt格式的纯文本字幕。  
/ J0 s$ ~4 w5 g) B7 r' _0 @. n/ u: B8 w
! w1 ^, W1 t$ x4 c9 A启动SubOCR,在软件界面中点击“打开”按钮选择《大卫魔术》的Sub字幕文件,这时软件的界面没有任何变化,但字幕已经加载了。接着点击“Command/OCR subtitel(命令/识别字幕)”,弹出一个设置对话框(如图1),这个对话框的作用是在正式识别字幕前测试当前字幕的识别率。字幕图片由背景色、字幕色、字幕边框色组成(边框色是为了让字幕看起来更美观,并不是必需的元素)。识别字幕就要利用这些颜色。要让软件准确地识别出字幕,必须告诉软件正确的字幕颜色。图1所示的背景色为黑色,字幕色为白色,所以用鼠标点击一下字幕上的白色。这里一定要点准,否则就告诉了软件错误的颜色而不能识别字幕。点击白色后在下方的“Subtitle Color(字幕颜色)”中就会显示被点击的颜色,在这里可以查看是否选准了字幕的颜色。由于这里用的是繁体中文字幕,所以还要在“Choose OCR Engine(选择识别引擎)”中选择“Traditional Chinese(繁体中文)”选项。下面点击“Try OCR(识别测试)”吧,字幕很顺利地就被显示在“Try OCR”按钮的旁边了,一字不差。为了保险起见,还需要多选择几句字幕来测试。点击“Current(当前字幕)”旁边的箭头选择不同的字幕,再点击“Try OCR”,如果都能准确识别,说明设置已经合适了,按下“OK(确定)”后,软件就开始对整个Sub字幕文件进行逐行扫描,并将识别后的文字显示在软件界面中(如图2)。文本识别功能不可能做到每次都是100%的准确率,如果某一句字幕识别得不够准确,可以选中该句,再在下面的文本框中对文字进行修改,被修改过的字幕所在行会以一个笑脸表情标明(如图3),最后点击工具栏上的“保存”按钮把Srt字幕保存起来吧。  ) V( f8 x* z! R. Z- v; H  ^
6 z  y' j3 B1 U
% C; h9 Q: F1 R( ]* d! Q
: M0 O+ d1 U5 `! d8 j
8 G) i$ J1 i9 s0 M3 k* G9 m& U
图1  
; X/ S7 z0 R0 @' ], F7 R* L; t5 p4 n$ b: p7 D
. L0 U3 D/ B  g6 i  @7 p

+ t/ g" x4 q3 `. q  D, d5 D) {3 H: b9 J$ X2 a7 a
图2  ( C/ l( I& o) ]' x$ `9 w- Y

9 u- `4 H4 _- c8 h6 Y- \4 _$ \1 u2 x% M0 ~
1 W( }8 {% D( v1 f+ B5 @1 n
( H" R$ z9 F! @7 X
图3  " o4 j+ ^1 i/ h
8 k: h- g1 F) Y% m
提示:这里有个技巧,针对繁体中文字幕,一定要选择“Traditional Chinese”选项,如果错选了“Simplified Chinese(简体中文)”的话会识别出很多乱码。而对简体中文字幕而言就可以选择“Simplified Chinese”了。  
& }) w# K' f. S8 T* G
  J2 Q2 a  ]3 d既然SubOCR这么强,索性多转几部片子的字幕吧。再打开《将计就计》的字幕,按部就班地进行下去,可这次似乎没那么顺利了,在“Try OCR”这一步总是不能识别出任何文字,如果强行按下“OK”的话,只能得到一堆不知所云的乱码。笔者静下心来思考,为什么两次识别的结果会差那么远呢?仔细观察字幕图片,发现《大卫魔术》字幕的白色文字很纤细,而背景又是黑色,形成强烈的反差(如图1),这就有利于提高识别率;再看《将计就计》,它的背景色和字幕色竟然都是白色,难怪软件识别不出了(如图4)。找到原因就好办了,于是请出了字幕插件VobSub,用它来给字幕一点“颜色”瞧瞧!  ( \( L1 {% P$ D& m1 i" e6 y
! j9 ^" j; X8 K9 b

% I  [: `% |' B8 ]- f7 ~4 E9 e; c. u, l! d* `" r

& p  a  q; t! s" n8 P5 ]2 K0 `图4  
: w8 i4 |; R3 |) I& m3 @: p5 s
$ _9 j. ?! d& x* Y: |从本期配刊光盘上安装好VobSub后,点击“开始/所有程序/VobSub/VobSub Configure”,在弹出窗口中点击“Open(打开)”按钮打开《将计就计》的字幕文件(*.Sub或*.Idx均可),然后选中“Custom colors(自定义颜色)”,激活下面的颜色设置选项。这里有4个色块,从左到右依次表示字幕的背景色、字幕色、字幕边框色1、字幕边框色2,其中前两种颜色是必须的(如图5)。刚才提到了强烈的颜色反差有利于提高识别率,所以这里点击前两个色块,并分别选择深蓝色和白色作为字幕的背景色和字幕色(如图6)。字幕边框色本身为黑色,暂时不管它,点击“OK”保存设置。现在再用SubOCR打开字幕测试识别率,看看效果是不是好多了,已经能够正确地识别出字幕了。剩下的就不用多说了吧!  
4 J* d2 i; Y9 C) s0 ~/ `; X, F* x( t) A# ?1 d
3 ~! T3 }5 U, v; o5 I6 p4 z
! k5 c4 s0 X3 _. W

) ^- o: d6 z2 e5 Y% p图5  1 F. k' H0 Q& D; f3 Z$ a: Q' e2 ^
$ A+ A5 t1 O7 d& H. \7 x" c9 a

1 c- s/ Z7 p1 x1 U: ^) Q' W/ \4 |9 r7 l, X! c* |* z6 p, q

; p7 s  c, [. B+ |$ K图6    H( J/ ~# B6 `0 M3 W' B
. Q$ o2 ?  k3 [& y$ f& V

4 E! g3 K4 P( J9 h笔者在以后的转换过程中遇到了各种不同类型的字幕,使用SubOCR都很简单,主要技巧集中在VobSub上,针对不同类型的字幕要设置不同的颜色,下面笔者就把总结的一些经验拿出来与各位分享。  ) q5 S2 G$ Z4 Z4 g: H0 y. V

9 |& r9 u8 p1 V4 j, R; ^如果字幕的字体比较纤细,可以把字幕边框色和字幕色设为一样,并设置一个反差较大的背景色,这样有利于减少颜色数量,把问题简单化,软件也容易识别;但如果这样设置后由于边框的作用使整个字体看起来很粗,甚至粗到就是一片色,反而会降低识别率,这种情况下就要为字幕设置合适的边框色了,主要目的是为了让文字和背景看起来层次更分明,提高识别率。有时候还会遇到这种情况,明明看起来反差很大的颜色,但就是不能正确识别,其实可以换一种颜色试一下,问题就迎刃而解了,不必在一棵树上吊死。笔者在多次转换字幕时发现,繁体中文引擎的“兼容性”要比简体中文好得多,它可以准确地识别简体、繁体中文和英文字幕,建议大家在转换字幕时选择繁体中文引擎。  
& y2 k4 z2 Z' w( S
/ N, ^8 E& t/ N, [其实把Sub格式的字幕转换为Srt字幕的用途还不止用在MP4播放器上,有时候刻录光盘就差那么几MB的空间来放SUB字幕,转成SRT后只会占用几十KB的空间,问题一下就解决了。仔细观察,还能发现它们更多的用途。



点击图标进入精品网摘收藏 欢迎大家加入网络收藏夹

TOP

发新话题