ข้ามไปยังเนื้อหาหลัก
SubtitleMatrix

แปลง SBV เป็น JSON

หรือวางข้อความคำบรรยาย

การแปลงนี้เปลี่ยนอะไร

ไม่มีอะไรสูญหายในทิศทางนี้ — ทุกคุณสมบัติของรูปแบบต้นทางมีที่ไปในรูปแบบปลายทาง

รายการนี้มาจากเมทริกซ์ความสามารถของสองรูปแบบนี้ ไม่ได้มาจากไฟล์ที่คุณโหลด ไฟล์หนึ่งอาจสูญหายมากกว่าหากใช้คุณสมบัติที่รูปแบบอนุญาตแต่เมทริกซ์ไม่ได้จำลอง

หน้านี้แปลง SBV เป็น JSON วางไฟล์ลงไปหรือวางข้อความ แล้วคุณจะได้เวอร์ชัน JSON กลับมา การแปลงทำงานทั้งหมดในเบราว์เซอร์ จึงไม่มีการอัปโหลดและไม่ต้องมีบัญชี

ไม่มีอะไรสูญหายในทิศทางนี้ ทุกสิ่งที่ SBV แสดงออกได้มีสิ่งเทียบเท่าใน JSON ผลลัพธ์จึงเป็นคำบรรยายชุดเดียวกันที่ห่อด้วยรูปแบบอื่น ไทม์ไลน์ การขึ้นบรรทัดใหม่ และข้อความยังอยู่ครบ ใช้ได้กับไฟล์ SBV ทุกไฟล์ รวมถึงไฟล์ที่ใช้ทุกความสามารถของรูปแบบ ไฟล์เดียวก็ได้ ทั้งซีซันก็ได้ คิวทำงานตามลำดับและผลลัพธ์ลงมาพร้อมกันเป็นไฟล์ ZIP เดียว

ตัวอย่าง

ไฟล์ SBV ทั่วไป แปลงเป็น JSON

ข้อมูลนำเข้า

0:00:01.000,0:00:03.500
The quick brown fox.

0:00:04.000,0:00:06.250
Jumps over the lazy dog.

0:00:07.000,0:00:09.000
Two lines here.
And a second one.

ผลลัพธ์

{
  "version": 1,
  "cues": [
    {
      "start": 1000,
      "end": 3500,
      "lines": [
        "The quick brown fox."
      ]
    },
    {
      "start": 4000,
      "end": 6250,
      "lines": [
        "Jumps over the lazy dog."
      ]
    },
    {
      "start": 7000,
      "end": 9000,
      "lines": [
        "Two lines here.",
        "And a second one."
      ]
    }
  ]
}

ไม่มีอะไรถูกตัดออกที่นี่ เทียบสองฝั่งทีละบรรทัด

การแปลงเดียวกันกับข้อมูลที่ผิดปกติ

ข้อมูลนำเข้า

0:00:02.000,0:00:04.000
Carriage-return line endings.

	0:00:06.000,0:00:08.000
Indented timecode, no final newline.

ผลลัพธ์

{
  "version": 1,
  "cues": [
    {
      "start": 2000,
      "end": 4000,
      "lines": [
        "Carriage-return line endings."
      ]
    },
    {
      "start": 6000,
      "end": 8000,
      "lines": [
        "Indented timecode, no final newline."
      ]
    }
  ]
}

ไฟล์จริงมักมาพร้อม BOM การขึ้นบรรทัดใหม่แบบ Windows บรรทัดแปลกปลอมก่อนไทม์โค้ด หรือไทม์โค้ดที่อ่านไม่ได้เลย ไม่มีอะไรโยนข้อผิดพลาด: สิ่งที่เข้าใจไม่ได้จะถูกรายงาน ไม่ใช่ทิ้งเงียบ ๆ

คำถามที่พบบ่อย

เมื่อแปลง SBV เป็น JSON ผลลัพธ์มีหน้าตาอย่างไร?

เหมือน JSON: อาร์เรย์ของออบเจ็กต์คิว แต่ละคิวมี `id` `start` และ `end` ของตัวเอง ทุกคิว SBV กลายเป็นคิว JSON หนึ่งคิวในลำดับเดิมและข้อความเดิม

ไทม์โค้ดของ SBV ในไฟล์ JSON ยังแม่นถึงมิลลิวินาทีหรือไม่?

แม่นถึงมิลลิวินาที ซึ่งละเอียดที่สุดเท่าที่ทั้งสองรูปแบบทำได้ SBV เขียนเวลาเป็น `0:00:04.126` และ JSON เขียนเวลาเดียวกันเป็น `4126` ไม่มีการปัดหรือเลื่อนระหว่างสองรูปแบบ และคิวที่อยู่บนจอ 2.9 วินาทียังคงเป็น 2.9 วินาที

คิว SBV สองบรรทัดจะออกมาเป็นอย่างไรใน JSON?

เป็นสองรายการในอาร์เรย์ `lines` ของคิว การจับคู่ยังอยู่ ทั้งสองบรรทัดของ SBV ยังเป็นคำบรรยายเดียวกันในผลลัพธ์ JSON และโปรแกรมเล่นแสดงพร้อมกัน

ลำดับคิว SBV จะคงเดิมในผลลัพธ์ JSON หรือไม่?

คิวของ SBV ยังเรียงตามเวลาเริ่มเหมือนเดิมใน JSON และขั้นตอนแปลงจะเรียงซ้ำให้หากไฟล์ต้นทางวางสลับ การเรียงนี้เปลี่ยนโครงสร้างไฟล์ ไม่ได้แก้ข้อความ

แปลง JSON กลับเป็น SBV ได้หรือไม่?

ได้ แต่นั่นคือทิศทางที่มีการสูญเสีย: การแปลง JSON กลับเป็น SBV สูญเสียสไตล์ ตำแหน่งบนจอ และคาราโอเกะ ทิศทางนี้ไม่มีอะไรหาย ความสูญเสียนั้นจึงเกิดเฉพาะเมื่อย้อนกลับ

ไฟล์ JSON ที่ได้จะรักษา encoding ของไฟล์ SBV ไว้หรือไม่?

ไม่ว่า SBV จะเข้ารหัสแบบ UTF-8, UTF-16 หรือ codepage แบบ Windows ขาเข้าจะถอดให้ก่อน แล้ว JSON ถูกเขียนเป็น UTF-8 ขึ้นบรรทัดใหม่แบบ Unix โดยไม่มี BOM

เครื่องมือที่เกี่ยวข้อง