SRT 字幕格式
這種格式能表達什麼
- 文字樣式
- 僅純文字
- 畫面定位
- 否
- 卡拉 OK 計時
- 否
- 字幕段落內換行
- 是
- 時間軸
- 每條字幕都有開始與結束時間
- 時間精確度
- 1 毫秒
- 時間以影格編號儲存
- 否
- 由右至左的文字
- 是
範例
一份典型的 SRT 檔案,以及本站從中讀出什麼
檔案
1
00:00:01,000 --> 00:00:03,500
Hello there.
2
00:00:03,500 --> 00:00:06,000
<i>Whispering</i> now.
And a second line.
3
00:00:06,000 --> 00:00:09,250
<b>Bold</b> statement.
從中讀出了什麼
3 cues, 4 lines of text
00:00:01,000 → 00:00:03,500
Hello there.
00:00:03,500 → 00:00:06,000
Whispering now. [italic ×1]
And a second line.
00:00:06,000 → 00:00:09,250
Bold statement. [bold ×1]
Outside the cues:
nothing — SRT stores cues and nothing else右邊不是轉換後的檔案,而是本站從左邊讀出的內容,也是這份檔案後續每次轉換的起點。
一份格式不規則的 SRT 檔案,以及仍然讀出什麼
檔案
# exported by some tool
5
00:00:10,000 --> 00:00:12,000
Second in the file, first in time.
2
00:00:02,000 --> 00:00:05,000
First in time, second in the file.
00:00:06,000 --> 00:00:09,500
No index line at all.
# keep this comment
3
00:00:12,000 --> 00:00:14,500 X1:100 X2:200 Y1:300 Y2:400
Positioned cue.
4
00:00:20,000 --> 00:00:19,000
Ends before it starts.
6
00:00:28,000 --> 00:00:33,000
Long one.
7
00:00:31,000 --> 00:00:32,000
Inside the long one.
從中讀出了什麼
7 cues, 7 lines of text
00:00:02,000 → 00:00:05,000
First in time, second in the file.
00:00:06,000 → 00:00:09,500
No index line at all.
00:00:10,000 → 00:00:12,000
Second in the file, first in time.
00:00:12,000 → 00:00:14,500
Positioned cue.
00:00:20,000 → 00:00:20,001
Ends before it starts.
00:00:28,000 → 00:00:33,000
Long one.
00:00:31,000 → 00:00:32,000
Inside the long one.
Outside the cues:
nothing — SRT stores cues and nothing else
except 1 cue that had a comment line above it — that line stays attached to its cue
Reported while reading — repaired or skipped, never silently:
1 × blocks with no readable timecode (they were skipped)
1 × cues using SRT's non-standard X1/Y1 screen coordinate extensions
1 × cues whose end time was not after their start time (they were given a 1ms duration)真實檔案常帶 BOM、Windows 換行、時間碼前的雜訊列,或根本讀不出的時間碼;解析器不拋出錯誤,讀不懂的部分會如實回報。
把 SubRip (SRT) 轉成其他格式
每一個都完全在你的瀏覽器裡執行。標籤標明了那個方向要付出什麼代價,打開之前就能看到。
這個方向不會遺失內容 —— 來源格式的每一項特性在目標格式裡都有地方可去。
這個方向不會遺失內容 —— 來源格式的每一項特性在目標格式裡都有地方可去。
這個方向不會遺失內容 —— 來源格式的每一項特性在目標格式裡都有地方可去。
這個方向不會遺失內容 —— 來源格式的每一項特性在目標格式裡都有地方可去。
這個方向不會遺失內容 —— 來源格式的每一項特性在目標格式裡都有地方可去。
這個方向不會遺失內容 —— 來源格式的每一項特性在目標格式裡都有地方可去。
轉換為此格式
- WebVTT (VTT) → SubRip (SRT)
- Advanced SubStation Alpha (ASS) → SubRip (SRT)
- SubStation Alpha (SSA) → SubRip (SRT)
- YouTube SBV → SubRip (SRT)
- SAMI (SMI) → SubRip (SRT)
- LRC Lyrics → SubRip (SRT)
- MicroDVD → SubRip (SRT)
- TTML (Timed Text) → SubRip (SRT)
- SubtitleMatrix JSON → SubRip (SRT)
- Plain Text (TXT) → SubRip (SRT)
- CSV Spreadsheet → SubRip (SRT)
SubRip(SRT)是本站支援的字幕格式之一,這一頁是它的說明:能存什麼、不能存什麼,以及每一種可以轉過去的格式各有一頁。
上方那張表就是全部,沒有藏起來的功能清單。某一列寫「否」,就是轉進 SRT 時真的會遺失的東西;下方每個轉換頁都會在你開啟檔案之前先講清楚。SRT 每條字幕由編號、一行時間碼(00:00:04,126 --> 00:00:08,500)與一到兩列正文組成,時間是毫秒精度、兩端都寫出來;本站讀入時會依起始時間排序,並把讀不出來的時間碼記進有損說明,而不是拋出錯誤。
這些轉換全部在你的瀏覽器裡執行,不上傳、不需要帳號——對受保密協議、病歷或播出限制約束的素材,這一點是硬要求。
常見問題
SRT 檔案是什麼?
.srt 是幾乎所有軟體都讀得懂的格式:VLC、mpv、多數電視韌體、YouTube 的字幕上傳,以及它們附帶的編輯器。一條字幕就是一個編號、一行時間碼與一到兩列文字。
SRT 格式會儲存樣式嗎?
不會——它存的是字幕,而一條字幕就是文字加上兩個時間。現實中的 SRT 檔常在文字裡帶 <b>、<i>,多數播放器也會照做,但檔案本身沒有宣告字型、顏色或位置。
SRT 的每條字幕都有開始與結束時間嗎?
有,而 SRT 裡的時刻寫成 00:00:04,126。這是 SRT 最細的刻度——到毫秒——數字是精確的,所以一條字幕可以很短、很長,或與下一條重疊,檔案不會額外暗示什麼。
SRT 可以無損轉成哪些格式?
VTT、SBV、SMI、TTML、JSON 與 CSV——SRT 能表達的,它們也都能。上方能力表就是依據:某一列兩邊都寫「是」,就是轉換後仍保留的功能;其他方向都會丟東西,而每一頁都列出自己的清單。
SRT 檔案可以用文字編輯器打開嗎?
可以。.srt 檔案就是編號、時間碼列與文字不斷重複,而手工最容易弄錯的是時間碼的標點:00:00:01,250,用的是逗號。