Chuyển đến nội dung chính
SubtitleMatrix

Chuyển JSON sang TXT

Hoặc dán văn bản phụ đề

Chuyển đổi này thay đổi điều gì

5 thứ bị bỏ hoặc cần một quyết định

  • Mốc thời gian

    toàn bộ dòng thời gian (định dạng đích không ghi mốc thời gian nào)

  • Định dạng hiển thị

    mọi định dạng hiển thị (đậm, nghiêng, màu, viền, bóng)

  • Vị trí

    vị trí trên màn hình (mọi cue trở về vị trí mặc định)

  • Karaoke

    thời gian karaoke (tô sáng từng âm tiết)

  • Xuống dòng

    xuống dòng (các cue nhiều dòng sẽ được nối thành một dòng)

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 TXT. 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 TXT. 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.

TXT chỉ có chữ, nên mốc thời gian, kiểu, vị trí, karaoke và cách nhóm dòng của JSON đều bị bỏ. Danh sách mất mát 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 TXT

Đầ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ả

Hello world.
Second line.
Plain line.
Styled line.
Roger: I am here.

Phần bị mất trong kết quả này: thời gian, kiểu chữ, vị trí, karaoke và ngắt dòng. 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ả

First.
Second.
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

Mốc thời gian của JSON đi đâu khi chuyển sang TXT?

TXT không có mốc thời gian để giữ: bản xuất chữ chỉ là từ ngữ, không phải thời điểm. Thứ tự dòng của JSON được bảo toàn, nhưng không chỗ nào trong TXT nói dòng đó xuất hiện lúc nào.

Chữ đậm, nghiêng và màu trong JSON ra sao trong tệp TXT?

Mảng `tags` của từng dòng và bảng `styles` của tài liệu đều bị bỏ, nên mỗi dòng thành văn bản thuần. Bản thân các từ không bị đổi.

Vị trí trên màn hình của JSON có sang được TXT không?

Không. Đối tượng `position` của mỗi cue bị bỏ vì TXT không nói được phụ đề vẽ ở đâu; mọi cue trở về vị trí mặc định của trình phát, thường là đáy khung hình và căn giữa.

Mốc karaoke trong JSON ra sao khi chuyển sang TXT?

Mốc mất, chữ ở lại. Các span karaoke cho biết lúc từng âm tiết sáng lên bị bỏ vì TXT không ghi được một mốc bên trong dòng; âm tiết ra thành chữ thường.

Một cue JSON hai dòng ra sao trong TXT?

Hai dòng của cue JSON vẫn được ghi đủ, nhưng tệp TXT không nói chúng thuộc cùng một cue; đọc lại sẽ thành hai phụ đề.

Kết quả JSON sang TXT trông như thế nào?

Mỗi dòng phụ đề thành một dòng chữ, không có số cue và không có timecode. Một cue JSON thành một cue TXT cùng thứ tự và cùng nội dung.

Các cue JSON có giữ thứ tự trong kết quả TXT không?

Có, và được sắp theo trường `start` trước khi ghi. Tài liệu JSON lộn thứ tự sẽ cho TXT đúng thứ tự; chỉ cấu trúc thay đổi, chữ không đổi.

Tôi có chuyển ngược TXT về JSON được không?

Được, nhưng chiều TXT sang JSON bỏ timing: TXT không có mốc thời gian nên JSON phải tạo dòng thời gian mới, mỗi dòng một khoảng đều nhau. Danh sách mất mát của chiều ngược khác phía trên.

Kết quả TXT có giữ encoding của tệp JSON không?

Không. TXT 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.

Công cụ liên quan