SBV 轉 SMI
或者貼上字幕文字
這次轉換會改變什麼
這個方向不會遺失內容 —— 來源格式的每一項特性在目標格式裡都有地方可去。
這份清單來自這兩種格式的能力矩陣,而不是你載入的這份具體檔案。如果具體檔案用到了格式允許、但矩陣沒有建模的特性,可能會遺失更多。
這一頁把 SBV 轉成 SMI:拖曳檔案進來,或直接貼上文字,就會拿回 SAMI 版本。轉換完全在瀏覽器裡執行,不會上傳,也不需要帳號。
這個方向不會遺失任何東西。SBV 能表達的每一項功能,SMI 都有對應寫法,所以時間軸、換行與文字全部保留。SAMI 用 `<SYNC Start=毫秒>` 切換畫面:每個時刻後面接一個 `<P>`,`<SYNC>` 會整批替換螢幕內容,所以每段字幕後面會補一個 `<P> ` 清屏;兩行文字用 `<br>` 連接,`0:00:04.126` 直接寫成 `Start=4126`,不取整也不挪位。
單一檔案可以,整季影集也可以:佇列會依序處理,結果一起打包成一個 ZIP 下載。
範例
一份典型的 SBV 檔案轉成 SMI
輸入
0:00:01.000,0:00:03.500
The quick brown fox.
0:00:04.000,0:00:06.250
Jumps over the lazy dog.
0:00:07.000,0:00:09.000
Two lines here.
And a second one.
輸出
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>The quick brown fox.
<SYNC Start=3500>
<P>
<SYNC Start=4000>
<P>Jumps over the lazy dog.
<SYNC Start=6250>
<P>
<SYNC Start=7000>
<P>Two lines here.<br>And a second one.
<SYNC Start=9000>
<P>
</BODY>
</SAMI>
這個方向沒有丟掉任何東西:左右兩欄逐行對照就知道了。
同一轉換遇到格式紊亂的輸入
輸入
0:00:02.000,0:00:04.000
Carriage-return line endings.
0:00:06.000,0:00:08.000
Indented timecode, no final newline.輸出
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=2000>
<P>Carriage-return line endings.
<SYNC Start=4000>
<P>
<SYNC Start=6000>
<P>Indented timecode, no final newline.
<SYNC Start=8000>
<P>
</BODY>
</SAMI>
真實檔案常見的損壞就是這樣——混合換行、散落的空白、留空的欄位。拿它和上面那份乾淨樣本對照,就能看出解析器容忍到什麼程度。
常見問題
SBV 轉 SMI 會遺失內容嗎?
不會。SBV 只有時間與文字,SAMI 的 `<SYNC>` 加 `<P>` 能把這些連同換行一起裝下,所以有損說明是空的。
SBV 的 0:00:04.126 轉成 SMI 後寫成什麼?
寫成 `Start=4126`,整數毫秒。`<SYNC>` 的 Start 屬性就是這個寫法,不取整也不挪位。
SBV 轉 SMI 後,兩行的字幕用什麼標記換行?
用 `<br>`,仍放在同一個 `<P>` 底下,也就是同一個字幕段落。
SBV 轉 SMI 後,每個 <P> 區塊有什麼作用?
用來清屏。`<SYNC>` 會整體替換畫面內容,若不在每段字幕後補一個空段落,上一段會一直留在螢幕上直到下一次 SYNC。
SBV 轉 SMI 時,字幕順序會被重排嗎?
SMI 會依開始時間排序,最早的在前;原始檔案若亂序,產物會替你排好。
SBV 轉 SMI 之後再轉回 SBV 會怎樣?
回程會丟掉樣式、定位與格式私有結構,因為 SBV 只存字幕段落;去程無損,代價只出現在回程。