DVD-Video 字幕文件格式
字幕文件結構
字幕文件中的每條字幕必需包括一個開始時間碼,一個結束時間碼和一個要顯示的字符串。另外,你也可以在字符串前加一些字幕文字格式及在屏幕上顯示位置的命令。
字幕文件基本格式
以下是一個簡單的字幕文件例子,沒有任何文字格式或屏幕位置的命令。每條字幕一行,以回車符作爲結束。字幕字符串格式如下:
[標號#][tab][開始時間碼][tab][結束時間碼][tab][字幕文字][cr]
解釋如下:
•[標號#]字幕的序號。不必是唯一的或按順序排列的,所以,如果你在字幕文件中間插入一條新的字幕,沒有必要修改其它字幕的標號。
•[tab] 計算機鍵盤上的“tab”鍵,用來用固定數量的空格分割字符。
•[結束時間碼] 字幕字符串停止顯示的時間碼
•[text]字幕字符串
•[cr] 計算機鍵盤上的“Enter”鍵,回車符
例如:
1 00:02:17:12 00:02:23:21 這是一個字幕字符串...
2 00:02:27:02 00:02:35:18 ...這是更多的字幕字符串文字.
3 00:03:12:14 00:03:22:10 等等,還有更多
時間碼使用hh:mm:ss:ff格式。hh 時;mm 分;ss 秒;ff 楨。如果你以源視頻帶的時間碼做參考創建字幕文件,你可以加入一個Tape Offset命令用來計算視頻帶時間碼與電影時間碼的差值(都是以00:00:00:00開始)。
字幕時間碼不能重疊。如果你的字幕中包含一條字幕,他的開始在上一條字幕結束之前,一些軟件不能正確的導入這個字幕文件。
處理多行的字幕的方式是使用“|“字符代替行尾的回車符,或在下一行的開始初使用回車符。
例如:
4 00:12:05:01 00:12:05:19 第一行字幕|第二行字幕
和以下效果一致:
4 00:12:05:01 00:12:05:19 第一行字幕
第二行字幕
如果字幕中包含字符“|”,在這個字符前使用轉意符“/”,例如 “/|”.
字體命令
使用字體命令,你能夠爲整個字幕文件或單獨一條字幕設置字型及字體格式。如果字幕文件中不包括字體命令,字幕處理軟件會使用默認的字體處理所輸入字幕。
字體命令必須被放置到所修飾的字幕行前。支持以下字體命令:
•$FontName = [name of a font face] sets the typeface.
•$FontName = [字型名稱] 設置字型.
•$FontSize = [number] sets the text size in points.
•$FontSize = [字號] 以點陣方式設置字體大小.
•$Bold = TRUE/FALSE turns bold on or off.
•$Bold = TRUE/FALSE 是否是粗體.
•$Italic = TRUE/FALSE turns italic on or off.
•$Italic = TRUE/FALSE 是否爲斜體.
•$Underlined = TRUE/FALSE turns underlining on or off.
•$Underlined = TRUE/FALSE 是否帶下畫線.
例如:
$FontName = Arial
$FontSize = 16
$Bold = FALSE
$Italic = FALSE
$Underlined = FALSE
1 00:02:17:12 00:02:23:21 This text is 16-pt Arial
$Bold = TRUE
2 00:02:27:02 00:02:35:18 And this is 16-pt Arial, Bold
$Bold = FALSE
$FontSize = 20
3 00:03:12:14 00:03:22:10 Back to plain Arial, but 20-pt
位置命令
位置命令控制字幕塊在屏幕上的位置。你能夠爲整個字幕文件或單獨一條字幕設置位置信息。如果字幕文件中沒有位置信息,字幕處理軟件會使用默認的位置處理所輸入字幕。
位置命令必須被放置到所修飾的字幕行前。支持以下位置命令:
•$HorzAlign = LEFT/CENTER/RIGHT/FALSE 設置字幕塊的水平位置。LEFT左對齊;CENTER居中;RIGHT右對齊;FALSE將使用象素爲單位的位置命令而不是點陣爲單位的位置命令。
•$VertAlign = TOP/CENTER/BOTTOM/FALSE設置字幕塊的垂直位置。TOP上對齊;CENTER居中;RIGHT下對齊;FALSE將使用象素爲單位的位置命令而不是點陣爲單位的位置命令。
•$LeftPosition = [數值] 設置字幕左邊與屏幕左邊的距離。以象素爲單位.
•$RightPosition = [數值] 設置字幕右邊與屏幕右邊的距離。以象素爲單位.
•$TopPosition = [數值] 設置字幕上邊與屏幕上邊的距離。以象素爲單位.
•$BottomPosition = [數值] 設置字幕下邊與屏幕下邊的距離。以象素爲單位.
例如:
$HorzAlign = CENTER
$VertAlign = BOTTOM
1 00:02:17:12 00:02:23:21 Text block centered at bottom
$HorzAlign = LEFT
$VertAlign = TOP
2 00:02:27:02 00:02:35:18 Text block at top left
顯示命令
以下是一個顯示命令:
•$TapeOffset = TRUE [
可選的時間碼] / FALSE
這個命令被放置在字幕文件的開始處。用來控制視頻流時間碼與字幕文件中的時間碼的對應關係。如果字幕文件中不包括 $TapeOffset命令或包括這個命令但是設置的值爲FALSE.電影時間碼相對與字幕時間碼的偏移爲
00:00:00:00。否則字幕的顯示時間要加上這個偏移值。