SubRip
Định dạng phụ đề đơn giản nhất, và là định dạng hầu như trình phát nào cũng chạy được: các khối văn bản được đánh số, mỗi khối có thời điểm bắt đầu và kết thúc. Không có phần đầu, gần như không có kiểu dáng, và không có cách chính thức để đặt vị trí một dòng. Đó là lý do nó có mặt ở khắp nơi.
Tổng quan
| Phần mở rộng | .srt |
|---|---|
| Loại phương tiện | application/x-subrip (chưa đăng ký) |
| Đặc tả | Không có. Được xác định bởi những gì trình phát chấp nhận. |
| Độ chính xác thời gian | Mili giây |
| Mã hóa văn bản | Tệp không khai báo. UTF-8 là lựa chọn an toàn; dấu thứ tự byte giúp một số trình phát và TV cũ. Subtitld tự nhận diện các bảng mã cũ khi mở tệp. |
| Kiểu chữ | Nghiêng, đậm, gạch chân, gạch ngang và màu, qua các thẻ không chính thức |
| Vị trí | Không có trong định dạng. {\an8} và các mã tương tự, mượn từ SubStation Alpha, được nhiều trình phát đọc. |
| Trong container | Matroska dạng S_TEXT/UTF8; chuyển thành mov_text cho MP4 |
Cấu trúc của một phụ đề
Một tệp là danh sách các khối. Mỗi khối có bốn phần, luôn theo đúng thứ tự này.
3 00:00:27,000 --> 00:00:30,500 ...you have your robotics, and I just want to be awesome in space.
- 1 · Bộ đếm
Số thứ tự, bắt đầu từ 1. Bắt buộc, dù hầu hết trình phát bỏ qua.
- 2 · Thời gian
Thời điểm bắt đầu, mũi tên
-->, thời điểm kết thúc. Có khoảng trắng quanh mũi tên. - 3 · Văn bản
Một hoặc nhiều dòng. Hai dòng là giới hạn thường dùng để dễ đọc.
- 4 · Dòng trống
Kết thúc khối. Nếu thiếu, nhiều trình phát sẽ coi số thứ tự tiếp theo là văn bản.
Mã thời gian
Dấu phẩy, không phải dấu chấm. 00:00:27.000 là cách WebVTT viết. Một số trình phát bỏ qua dấu chấm; trình phát khắt khe thì từ chối tệp. Đây là lý do phổ biến nhất khiến một SRT "không mở được". Subtitld đọc được cả hai, và luôn ghi bằng dấu phẩy.
Thẻ định dạng
Không thẻ nào trong số này nằm trong một tiêu chuẩn, nhưng các trình phát đã thống nhất dùng chúng qua nhiều năm. Hãy dùng có chọn lọc; không phải nền tảng nào cũng hiển thị.
| Thẻ | Tác dụng | Hỗ trợ |
|---|---|---|
<i>…</i> |
Nghiêng, dùng cho giọng nói ngoài màn hình | Hầu như ở mọi nơi |
<b>…</b> |
Đậm | Hầu hết trình phát trên máy tính |
<u>…</u> |
Gạch chân | Hầu hết trình phát trên máy tính |
<s>…</s> |
Gạch ngang | Một số trình phát trên máy tính, trong đó có VLC và mpv |
<font color="#ffd700"> |
Màu chữ, theo mã hex hoặc tên | Trình phát trên máy tính; thường bị bỏ qua trực tuyến |
<font face="…" size="…"> |
Phông và cỡ chữ | Một vài trình phát trên máy tính |
{\an8} |
Chuyển lên đầu, mượn từ SubStation Alpha | VLC, mpv và một số trình khác |
Đặt vị trí một dòng
{\an1} đến {\an9} đặt một dòng theo cách bố trí của bàn phím số. Mã đặt ở đầu văn bản của phụ đề.
| Trái | Giữa | Phải | |
|---|---|---|---|
| Trên | {\an7} |
{\an8} |
{\an9} |
| Giữa | {\an4} |
{\an5} |
{\an6} |
| Dưới | {\an1} |
{\an2}, mặc định |
{\an3} |
Mở một SRT bị lỗi
Các tệp SRT đến từ khắp nơi, và nhiều tệp không tuân theo quy ước. Subtitld tìm từng phụ đề qua dòng thời gian thay vì qua các dòng trống, nên nó vẫn mở được tệp có:
- bảng mã bất kỳ: UTF-8 có hoặc không có dấu thứ tự byte, UTF-16, hoặc một bảng mã cũ như Windows-1252;
- dấu chấm thay cho dấu phẩy, giờ một chữ số, số chữ số thập phân ít hơn hoặc nhiều hơn ba, hoặc mũi tên ngắn (
->); - thiếu số thứ tự, thiếu hoặc thừa dòng trống, hoặc một dòng trống nằm bên trong phụ đề;
- các tọa độ mà một số công cụ ghi sau thời điểm kết thúc;
- phụ đề không theo thứ tự, và nó sẽ sắp xếp lại.
SRT trong Subtitld
- Văn bản và các ngắt dòng của mọi phụ đề
- Nghiêng, đậm, gạch chân, gạch ngang, màu và vị trí
- Thời điểm bắt đầu và kết thúc, đến mili giây
- Thứ tự của các phụ đề
- Người nói, khuôn mặt và màu của họ (tên có thể đặt trước văn bản)
- Bản dịch đặt cạnh bản gốc (một bản dịch có thể thay thế, hoặc nằm bên dưới)
- Lồng tiếng và siêu dữ liệu
Hãy lưu một dự án .usfx để giữ lại chúng.
Xuất SRT
Xuất, rồi Phụ đề và chọn SRT, sẽ có các tùy chọn:
- Văn bảnBản gốc, một bản dịch, hoặc cả hai, với bản dịch nằm bên dưới.
- Tên người nóiBỏ đi, hoặc đặt trước văn bản (Thom: …).
- Định dạngGiữ lại, hoặc bỏ đi cho các nền tảng hiển thị thẻ thành chữ.
- Dịch thời gianMọi phụ đề sớm hơn hoặc muộn hơn cùng một khoảng.
- Mã hóaUTF-8; có dấu thứ tự byte, cho các trình phát và TV cũ; UTF-16; hoặc Windows-1252.
- Kết thúc dòngLinux và macOS (LF), hoặc Windows (CRLF).
Dù chọn tùy chọn nào, tệp vẫn là SubRip thuần: các phụ đề theo thứ tự thời điểm bắt đầu, đánh số từ 1, với dấu phẩy trước mili giây. Phụ đề rỗng sẽ bị bỏ đi, và một dòng trống bên trong phụ đề cũng bị bỏ, vì nó sẽ làm phụ đề kết thúc sớm trong hầu hết trình phát.
SRT hay WebVTT?
| SubRip .srt | WebVTT .vtt | |
|---|---|---|
| Dòng đầu | Số thứ tự đầu tiên | WEBVTT |
| Mili giây | Sau dấu phẩy | Sau dấu chấm |
| Số thứ tự | Bắt buộc | Tên cue tùy chọn |
| Vị trí | {\an8} và các mã tương tự, không chính thức |
Thiết lập cue: line, position, align |
| Kiểu chữ | Thẻ không chính thức | Thẻ, và CSS qua ::cue |
| Người nói | Chỉ như một phần của văn bản | Thẻ giọng nói: <v Thom> |
| Trên trình duyệt web | Cần chuyển đổi | Có sẵn, với <track> |
| Chọn khi | Trình phát, trình soạn, tải lên | Video trên web |
Điều thú vị
Định dạng được đặt tên theo SubRip, một chương trình Windows đọc phụ đề từ đĩa DVD bằng OCR rồi ghi ra thành văn bản.
WebVTT ban đầu mang tên này, là SubRip được điều chỉnh cho web, trước khi có thêm phần đầu, thiết lập cue và CSS.
Không cơ quan nào từng công bố đặc tả. Dấu phẩy, mũi tên và dòng trống là một quy ước đã tồn tại suốt một phần tư thế kỷ.
Định dạng liên quan
Mở tệp trong Subtitld cùng video và canh lại thời gian trên dạng sóng.