跳至主要內容
SubtitleMatrix

TXT 轉 SRT

格式轉換純文字稿
或者貼上字幕文字

選項

當來源檔案沒有結束時間時使用(純文字、LRC)。輸出裡的時間軸是在這裡產生的,不是轉換來的,所以填多少就是多少。

這次轉換會改變什麼

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

  • 時間

    時間軸本身——來源檔案不記錄任何時間,因此輸出的時間軸是產生出來的,而非轉換而來

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

這一頁把純文字檔轉成 SRT。TXT 裡沒有任何時間碼,一行文字就是一條字幕,所以時間軸由這一頁排出來;整個過程在本機完成,不上傳、不需要帳號。

兩個格式能存的東西不同:時間軸在 SRT 裡沒有落點。上方清單說的是兩個格式各自能表達什麼,不是讀了你的檔案才有答案——TXT 本來就沒有時間資訊,這一頁得先把時間軸排出來。

空白行是段落分隔,不會變成空字幕;有文字的行才佔一個時間槽,預設每行 2 秒,可以調整。單檔可以,整季也可以:佇列依序處理,結果打包成一個 ZIP。

範例

一份典型的 TXT 檔轉成 SRT

輸入

The quick brown fox jumps over the lazy dog.

Second paragraph, first line.
Second paragraph, second line.

輸出

1
00:00:00,000 --> 00:00:02,000
The quick brown fox jumps over the lazy dog.

2
00:00:02,000 --> 00:00:04,000
Second paragraph, first line.

3
00:00:04,000 --> 00:00:06,000
Second paragraph, second line.

這份產物丟掉了:時間軸。其餘內容逐行對得上。

同一轉換遇到結構鬆散的 TXT 輸入

輸入


Hello world.

Second block.

輸出

1
00:00:00,000 --> 00:00:02,000
Hello world.

2
00:00:02,000 --> 00:00:04,000
Second block.

真實檔案常有混合換行、多餘空白與空欄位,這份輸入就是那個樣子;可以對照上面那份乾淨範例,看看解析器容忍到哪裡。

常見問題

TXT 轉 SRT 時,時間碼是怎麼產生的?

TXT 沒有時間,所以時間軸由轉換器排出來:第一行從 0 開始,每行依你設定的毫秒數佔一個時間槽,下一行接在上一行結束處。上方有損說明會一直寫「時間軸是產生的」,即使你改了每行長度也一樣——那個數字決定每條字幕多長,不改變時間軸的來源。

TXT 轉 SRT 時,可以改每行顯示多久嗎?

可以。時間長度欄位收毫秒,套用到檔案裡的每一條字幕:1000 是一行一秒,3000 是一行三秒。數值就印在欄位旁邊,方便你核對拿到的時間軸。

TXT 轉 SRT 時,什麼算一條字幕的邊界?

一個換行。每個非空白的行變成一條 cue,順序照檔案出現的次序;空白行當段落分隔,不會自己變成一條。

TXT 轉 SRT 後,空白行會變成空字幕嗎?

不會。空白行從不變成 cue,所以時間軸上不會出現由排版造成的間隙。想要停頓,就拉長每行秒數,或事後把後面的 cue 往後移。

TXT 轉 SRT 可以用來替影片上字幕嗎?

它給的是起點,不是完成品:產生的 cue 從影片開頭開始,以固定步伐往前走。若你已有真正的開始時間,改用 CSV 或 LRC 轉入可以直接把時間放進去,省去逐條手動對時。

相關工具