跳至主要內容
SubtitleMatrix

SBV 轉 LRC

格式轉換YouTube SBV
或者貼上字幕文字

這次轉換會改變什麼

有 2 項會被捨棄或需要你決定

  • 時間

    字幕的結束時間(輸出格式只記錄字幕何時開始)

  • 精確度

    時間精確度——輸出的時間刻度較粗,因此每個時間戳記都會四捨五入到最接近的 10 毫秒

這份清單來自這兩種格式的能力矩陣,而不是你載入的這份具體檔案。如果具體檔案用到了格式允許、但矩陣沒有建模的特性,可能會遺失更多。

這一頁把 SBV 轉成 LRC:拖曳檔案進來,或直接貼上文字,就會拿回給歌詞播放器讀的版本。轉換完全在瀏覽器裡執行,不會上傳。

這是這個目錄裡損失較多的一個方向,而且最好在轉換前就知道。LRC 只記一行什麼時候開始,歌詞播放器會讓一行留到下一行開始,所以每一段的結束時間都沒有落點;它也只寫到百分之一秒,`0:00:04.126` 會取整成 `[00:04.13]`,最多偏 5 毫秒。SBV 本來就沒有樣式可丟,所以其餘部分不受影響。

單一檔案可以,整季影集也可以:佇列會依序處理,結果一起打包成一個 ZIP 下載。

範例

一份典型的 SBV 檔案轉成 LRC

輸入

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.

輸出

[00:01.00]The quick brown fox.
[00:04.00]Jumps over the lazy dog.
[00:07.00]Two lines here.
[00:07.00]And a second one.

這份產物丟掉了結束時間與毫秒精度;兩行字幕變成兩行相同的時間戳。

同一轉換遇到格式紊亂的輸入

輸入

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.

輸出

[00:02.00]Carriage-return line endings.
[00:06.00]Indented timecode, no final newline.

真實檔案常見的損壞就是這樣——混合換行、散落的空白、留空的欄位。拿它和上面那份乾淨樣本對照,就能看出解析器容忍到什麼程度。

常見問題

SBV 轉 LRC 後,每條字幕的結束時間去哪了?

被丟棄了。LRC 只記錄一行何時開始,播放器會讓這一行留到下一行出現,所以結束時刻在 LRC 裡是多餘的;開始時刻則原樣保留。

SBV 轉 LRC 時,毫秒時間為什麼會變?

LRC 只寫到百分之一秒,SBV 寫到毫秒,所以 `0:00:04.126` 會取整成 `[00:04.13]`,每段最多移動 5 毫秒。

SBV 轉 LRC 後,兩行的字幕會變成幾行?

兩行,而且共用同一個時間戳。這是 LRC 表達「這兩句屬於同一段」的方式:同一時刻起兩句歌詞,播放器會一起顯示。

SBV 轉 LRC 會遺失樣式嗎?

不會多丟什麼——SBV 本身不存樣式,LRC 也不存。這一頁的損失只有兩類:每一段的結束時間,以及時間碼從毫秒取整到百分秒。

SBV 轉 LRC 時,空白的字幕段落怎麼處理?

不會寫成空白歌詞行。SBV 裡沒有文字的段落不會產生 LRC 行,避免播放器裡多出一段來源不明的空白。

SBV 轉 LRC 後,cue 的順序會改變嗎?

LRC 會依開始時間排序,最早的在前;原始檔案若亂序,產物會替你排好。

SBV 轉 LRC 的產物使用什麼編碼?

固定 UTF-8、Unix 換行、無 BOM,與來源檔案原本的編碼無關。

相關工具