用Myst4Viewer看了一下patch.m4b里面的字幕文件,发现字幕文件也是有一定的层次结构的。
8 x0 P" U" P. @) D: r6 S层次如下,字幕ID, 对应的语音文件ID, 后面是和语音文件对应的一组字幕,每句字幕还包含显示的起始时间。 $ Q( j l) a( h- v1 n
9 {. P+ D) y: y& ^- s W! q
抓图如下 3 a, J. E% [ k% {0 W, j1 j/ s
6 N* G& D# \% @+ Y( `
2 G1 b2 v' o" R% }-------------------------------------------------- ! U9 |% `6 i4 I9 T
2009.12.19 更新
( o; q1 p5 `7 j$ M# n% }9 K分析了一下字幕文件patch.m4b中的english.m4b中的bin文件的格式。 4 ?. B6 i7 J) F6 g5 K: T
格式如下,都画在图片上了。其中1-5是代表5句字幕的定义信息,
2 E; C$ C% X7 B5 ]! I最后4个字节定义了字幕的长度。 , d: L+ ]5 t7 c; C, V
/ G9 n; t* n; S9 N! Y( y! R
-------------------------------------------------- " C( A3 o2 z5 S g$ M. X
2009.12.21 更新 9 @; Q1 g, ]/ O9 L, f, y" a0 U' G
字幕文件里面有一个特殊的文件main_menu_ui.bin。
9 q+ t( W* }1 C( B- k3 Y估计游戏主菜单上的一些字幕都保存在这个文件里。
# L0 P% Y8 ?7 z大致分析了一下,格式也比较简单,下面是这个文件的格式。
1 e5 w, o2 k( C9 u6 t- O# [到0x2A为止都是一些固定的信息,从0x2B开始是一组一组的字幕信息,结构如下。 1 ^. c4 u8 l: h
* ?7 l! k+ x6 |
4字节 字幕ID长度 5 O; [7 t7 h% i/ Q& f
n字节 字幕ID
; t' A: G X$ e& }6 {4字节 字幕长度
h4 F/ u$ w' k/ p# u! D* i9 j8 Pn字节 字幕 - \ ?5 z" E* g8 G
. A8 ? F0 O+ O8 G c! P' p4 t1 I分析清楚了这个结构就很容易可以导出这个文件里的字幕了。 |