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

แปลง VTT เป็น JSON

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

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

1 อย่างถูกตัดทิ้งหรือต้องตัดสินใจ

  • เนื้อหาที่เฉพาะกับรูปแบบ

    เนื้อหาที่รูปแบบต้นทางเก็บไว้นอกคิว (บล็อกที่ไม่ใช่คิว ข้อความหัวไฟล์ การตั้งค่าต่อคิว เหตุการณ์ที่ถูกคอมเมนต์) — รูปแบบปลายทางไม่มีที่ให้เก็บ

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

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

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

ตัวอย่าง

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

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

WEBVTT

intro
00:00:01.000 --> 00:00:04.000
Hello there.

00:00:04.500 --> 00:00:08.000 align:start position:10%
Second line with <i>italics</i>.

ผลลัพธ์

{
  "version": 1,
  "cues": [
    {
      "id": "intro",
      "start": 1000,
      "end": 4000,
      "lines": [
        "Hello there."
      ]
    },
    {
      "start": 4500,
      "end": 8000,
      "lines": [
        {
          "text": "Second line with italics.",
          "tags": [
            {
              "kind": "italic",
              "start": 17,
              "end": 24
            }
          ]
        }
      ]
    }
  ]
}

มีข้อมูลสูญหายในผลลัพธ์นี้: เนื้อหาเฉพาะรูปแบบ ส่วนที่เหลือตรงกันทุกบรรทัด

การแปลง VTT เป็น JSON บนไฟล์ที่มีปัญหา

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

a stray comment line
cue-id-1
00:00:01.000 --> 00:00:02.000
No header, two lines before the timecode.

ผลลัพธ์

{
  "version": 1,
  "cues": [
    {
      "start": 1000,
      "end": 2000,
      "lines": [
        "No header, two lines before the timecode."
      ]
    }
  ]
}

ไฟล์จริงมักมีอาการแบบนี้ — การขึ้นบรรทัดใหม่แบบผสม ช่องว่างเกิน และฟิลด์ที่เว้นว่าง เทียบกับตัวอย่างแรกเพื่อดูว่าตัวแยกวิเคราะห์ยอมรับอะไรได้บ้าง

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

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

เอกสาร JSON ที่มีหมายเลขเวอร์ชันและอาร์เรย์ cues แต่ละคิวมี id, start กับ end เป็นจำนวนเต็มมิลลิวินาที และอาร์เรย์ lines โดยบรรทัดที่เป็นข้อความล้วนเป็นสตริง ส่วนบรรทัดที่มีตัวเอียงหรือตัวหนาเป็นออบเจกต์ที่มี text กับ spans

ทำไมรายการที่สูญหายของ VTT ไป JSON จึงสั้น

เพราะสคีมาถูกสร้างให้เก็บได้ทุกอย่างที่โมเดลคิวของตัวแปลงพาได้ ซึ่งครอบคลุมเกือบทั้งหมดของ WebVTT สิ่งที่เหลือคือวัสดุที่ VTT เก็บไว้นอกคิว: บรรทัดหัว ความคิดเห็น บล็อก NOTE, STYLE, REGION และการตั้งค่าของแต่ละคิว

ตัวระบุคิวของ VTT ยังอยู่ไหมเมื่อแปลงเป็น JSON

อยู่ WebVTT ยอมให้มีตัวระบุอิสระอย่าง intro หรือ sign-1 ก่อนคิว และสคีมานี้มีฟิลด์ id รองรับ จึงเขียนออกไปตามเดิม ต่างจากการแปลงเป็น SRT ที่ต้องเปลี่ยนเป็นเลขลำดับเพราะตัวนับของ SRT ต้องเป็นตัวเลข

เวลาเปลี่ยนบ้างไหมเมื่อ VTT กลายเป็น JSON

ไม่เปลี่ยน ทั้งสองฝั่งทำงานเป็นจำนวนเต็มมิลลิวินาที 00:00:01.234 จึงกลายเป็น 1234 และกลับมาได้โดยไม่มีการปัดหรือเลื่อน

นำไฟล์ถอดความ VTT ผ่านหน้านี้ไปเป็น JSON ปลอดภัยไหม

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

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