Chuyển JSON sang SSA
Hoặc dán văn bản phụ đề
Chuyển đổi này thay đổi điều gì
1 thứ bị bỏ hoặc cần một quyết định
- Độ chính xác
độ chính xác thời gian — đồng hồ của kết quả thô hơn, nên mọi mốc thời gian được làm tròn đến 10 ms gần nhất
Danh sách này đến từ ma trận năng lực của hai định dạng này, không phải từ tệp cụ thể bạn đã tải lên. Một tệp cụ thể có thể mất nhiều hơn nếu nó dùng các tính năng mà định dạng cho phép nhưng ma trận không mô hình hóa.
Trang này chuyển đổi JSON sang SSA. Bạn kéo tệp vào hoặc dán văn bản, rồi nhận lại phiên bản SSA. Toàn bộ quá trình chạy ngay trong trình duyệt: không tải tệp lên máy chủ, không cần tài khoản.
JSON ghi thời gian bằng mili giây, còn SSA chỉ ghi tới một phần trăm giây, nên phần lẻ bị làm tròn tới 10 ms gần nhất; đó là mất mát duy nhất của chiều này. Danh sách phía trên lấy từ khả năng của hai định dạng chứ không phải từ tệp của bạn, nên nó giống nhau trước khi bạn mở tệp.
Một tệp hay cả mùa đều được: hàng đợi xử lý lần lượt và trả kết quả về cùng một tệp ZIP.
Ví dụ
Tệp JSON thông thường, chuyển sang SSA
Đầu vào
{
"version": 1,
"title": "Fixture: typical",
"fps": 25,
"styles": {
"Default": {
"name": "Default",
"fontFamily": "Arial",
"fontSize": 20,
"primaryColor": "#FFFFFF",
"bold": false,
"italic": false
}
},
"generator": "subtitlematrix fixtures",
"cues": [
{
"id": "1",
"start": 0,
"end": 2000,
"lines": [
"Hello world.",
"Second line."
],
"style": "Default",
"position": {
"x": 100,
"y": 200,
"align": "center"
}
},
{
"id": "2",
"start": 2500,
"end": 4000,
"lines": [
"Plain line.",
{
"text": "Styled line.",
"tags": [
{
"kind": "italic",
"start": 0,
"end": 6
}
]
}
]
},
{
"id": "3",
"start": 4500,
"end": 6000,
"lines": [
"Roger: I am here."
],
"speaker": "Roger"
}
]
}
Kết quả
[Script Info]
Title: Fixture: typical
ScriptType: v4.00
[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,,,,0,0,,,,,,,,,
[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.00,0:00:02.00,Default,,0,0,0,,{\pos(100,200)}Hello world.\NSecond line.
Dialogue: 0,0:00:02.50,0:00:04.00,Default,,0,0,0,,Plain line.\N{\i1}Styled{\i0} line.
Dialogue: 0,0:00:04.50,0:00:06.00,Default,,0,0,0,,Roger: I am here.
Phần bị mất trong kết quả này: độ chính xác. Phần còn lại khớp từng dòng.
Cùng phép chuyển trên một tệp lộn xộn
Đầu vào
[
{ "start": 0, "end": 1000, "lines": ["First."] },
{ "start": 1000, "end": 2000, "text": "Second." },
"not an object",
{ "start": 2000, "end": 3000, "lines": ["Third."], "class": "top" }
]
Kết quả
[Script Info]
ScriptType: v4.00
[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1
[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.00,0:00:01.00,Default,,0,0,0,,First.
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,Second.
Dialogue: 0,0:00:02.00,0:00:03.00,Default,,0,0,0,,Third.
Đây là kiểu hỏng tệp thật thường có — kết thúc dòng lẫn lộn, khoảng trắng thừa, trường bỏ trống. So sánh với ví dụ gọn phía trên để thấy bộ đọc bỏ qua được gì.
Câu hỏi thường gặp
Vì sao mốc thời gian đổi khi chuyển JSON sang SSA?
JSON ghi `4126` mili giây, còn SSA ghi `0:00:04.13` — một phần trăm giây — nên mỗi mốc được làm tròn tới 10 ms gần nhất. Không cue nào bị kéo giãn hay đổi thứ tự, lệch tối đa là 5 ms.
Kết quả JSON sang SSA trông như thế nào?
Mỗi cue thành một dòng `Dialogue:` trong mục `[Events]`, với trường `Marked` thay cho số thứ tự của SRT. Bảng `styles` của JSON được dựng thành mục kiểu của SSA, nên kiểu có tên đi theo.
Một cue JSON hai dòng ra sao trong tệp SSA?
Hai phần tử trong mảng `lines` được nối bằng `\N`, cách SSA ghi ngắt dòng cứng. Hai dòng vẫn thuộc cùng một cue SSA nên trình phát hiển thị cùng lúc.
Các cue JSON có giữ thứ tự trong kết quả SSA không?
Có, và chúng được sắp theo trường `start` trước khi ghi. Tài liệu JSON lộn thứ tự sẽ cho SSA đúng thứ tự; chỉ cấu trúc tệp thay đổi, chữ không đổi.
Tôi có chuyển ngược SSA về JSON được không?
Được, nhưng chiều SSA sang JSON bỏ nội dung riêng của định dạng: các khối `[Script Info]`, hiệu ứng và cấu trúc ngoài mô hình cue không có chỗ trong JSON. Danh sách mất mát của chiều ngược khác phía trên.
Kết quả SSA có giữ encoding của tệp JSON không?
Không. SSA xuất ra là UTF-8, kết thúc dòng kiểu Unix và không có BOM, bất kể JSON đầu vào dùng gì. Tệp UTF-16 được giải mã khi đọc và bảng kết quả sẽ báo.