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

Chuyển JSON sang MicroDVD

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

Tùy chọn

Các mốc thời gian được tính theo frame rate nào. Trên các trang định dạng, đây là thông số MicroDVD cần, vì định dạng này lưu thời gian dưới dạng số khung hình. Trên các trang frame rate, đây là tốc độ mà tệp được tính theo — phiên bản mà phụ đề được làm cho — và ô thứ hai của trang nhận tốc độ của video mà bạn sẽ dùng phụ đề cùng. 23.976, 24, 25, 29.97, 30, 50, 59.94 và 60 là những giá trị thường gặp. Điền sai sẽ làm lệch toàn bộ dòng thời gian, và trên các trang frame rate, nó làm lệch theo một tỉ lệ chứ không phải một lượng cố định.

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

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

  • Đị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)

  • Tốc độ khung hình

    định dạng này lưu thời gian dưới dạng số khung hình — các mốc thời gian phụ thuộc vào frame rate bạn cung cấp

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

MicroDVD đếm khung hình thay vì mili giây, nên bạn cần đặt đúng frame rate; kiểu chữ, vị trí và karaoke của JSON cũng không có chỗ đứng. 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 MicroDVD

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

{1}{1}25
{0}{50}Hello world.|Second line.
{63}{100}Plain line.|Styled line.
{113}{150}Roger: I am here.

Phần bị mất trong kết quả này: kiểu chữ, vị trí, karaoke và frame rate. 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ả

{1}{1}25
{0}{25}First.
{25}{50}Second.
{50}{75}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

Chữ đậm, nghiêng và màu trong JSON có sang MicroDVD không?

Không. MicroDVD không lưu kiểu chữ, nên mảng `tags` và bảng `styles` của JSON đều bị bỏ, mỗi dòng ra thành văn bản thuần. Các từ vẫn nguyên vẹn.

Vị trí trên màn hình của JSON ra sao khi chuyển sang MicroDVD?

MicroDVD không nói được phụ đề vẽ ở đâu, nên đối tượng `position` của từng cue bị bỏ; 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 có vào được MicroDVD không?

Không. Các span karaoke đánh dấu lúc từng âm tiết sáng lên bị bỏ, còn chữ vẫn nằm trong dòng MicroDVD. Định dạng này không có cú pháp cho một mốc bên trong dòng.

Nên đặt frame rate nào khi chuyển JSON sang MicroDVD?

MicroDVD lưu phụ đề bằng cặp số khung hình, ví dụ `{103}{175}`, nên frame rate là thứ biến mốc mili giây của JSON thành khung: ở 25 fps, giây thứ tư là khung 100. Hãy đặt đúng frame rate của video; sai số ít thấy lúc đầu nhưng lệch dần về sau.

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

Mỗi dòng mở đầu bằng một cặp số khung hình trong ngoặc nhọn, không có số thứ tự cue. Dòng đầu tiên có thể là khai báo frame rate `{1}{1}25`.

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

Hai phần tử trong mảng `lines` nối bằng dấu gạch đứng, cách MicroDVD ghi ngắt dòng; hai nửa vẫn thuộc một cue và hiện cùng lúc.

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

Có, và được sắp theo trường `start` trước khi đổi sang số khung hình. Tài liệu JSON lộn thứ tự sẽ cho MicroDVD đúng thứ tự; chữ không đổi.

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

Được, nhưng chiều MicroDVD sang JSON bỏ frame rate: JSON ghi thời gian bằng mili giây chứ không theo khung hình. Danh sách mất mát của chiều ngược khác danh sách phía trên.

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

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