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

แปลง MicroDVD เป็น JSON

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

ตัวเลือก

เฟรมเรตที่ใช้คำนวณเวลา ในหน้าเกี่ยวกับรูปแบบ ช่องนี้คือสิ่งที่ MicroDVD ต้องการ เพราะมันเก็บเวลาเป็นหมายเลขเฟรม ในหน้าแปลงเฟรมเรต ช่องนี้คือเฟรมเรตที่ไฟล์ถูกตั้งเวลาไว้ — เวอร์ชันที่คำบรรยายถูกทำขึ้นมา — และช่องที่สองของหน้ารับเฟรมเรตของวิดีโอที่คุณจะใช้กับคำบรรยายนี้ ค่าที่พบทั่วไปคือ 23.976, 24, 25, 29.97, 30, 50, 59.94 และ 60 หากใส่ผิดจะเลื่อนไทม์ไลน์ทั้งหมด และในหน้าแปลงเฟรมเรตจะเลื่อนด้วยอัตราส่วน ไม่ใช่ด้วยจำนวนคงที่

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

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

  • เฟรมเรต

    ต้นฉบับเก็บเวลาเป็นหมายเลขเฟรม — ทุกเวลาขึ้นอยู่กับเฟรมเรตที่คุณระบุ

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

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

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

ตัวอย่าง

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

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

{1}{1}25
{100}{150}The quick brown fox jumps over the lazy dog.
{200}{260}Faster than|the last one.

ผลลัพธ์

{
  "version": 1,
  "fps": 25,
  "cues": [
    {
      "start": 4000,
      "end": 6000,
      "lines": [
        "The quick brown fox jumps over the lazy dog."
      ]
    },
    {
      "start": 8000,
      "end": 10400,
      "lines": [
        "Faster than",
        "the last one."
      ]
    }
  ]
}

สิ่งที่ตัดออกในผลลัพธ์นี้: เฟรมเรต ทุกอย่างอื่นตรงกันทีละบรรทัด

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

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

{1}{1}23.976
{0100}{0150}Leading zeros in the frame numbers.
[INFORMATION]
{300}{340}An unrecognized line above was kept in place.
{400}{450}Trailing spaces are kept.   

ผลลัพธ์

{
  "version": 1,
  "fps": 25,
  "cues": [
    {
      "start": 4000,
      "end": 6000,
      "lines": [
        "Leading zeros in the frame numbers."
      ]
    },
    {
      "start": 12000,
      "end": 13600,
      "lines": [
        "An unrecognized line above was kept in place."
      ]
    },
    {
      "start": 16000,
      "end": 18000,
      "lines": [
        "Trailing spaces are kept.   "
      ]
    }
  ]
}

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

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

ใช้เฟรมเรตใดในการอ่าน MicroDVD ก่อนเขียน JSON?

เลขเฟรมใน MicroDVD จะกลายเป็นเวลาใน JSON ก็ต่อเมื่อรู้เฟรมเรต ลำดับคือช่องบนหน้านี้ ค่าที่ประกาศในบรรทัดแรกของไฟล์ แล้วจึง 25 — และค่า 25 นั้นเหมาะกับ PAL เท่านั้น

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

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

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

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

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

ลำดับไม่เปลี่ยน: JSON รับคิวจาก MicroDVD มาตามเวลาเริ่มจากน้อยไปมาก คิวที่สลับกันมาแต่แรกจะถูกจัดกลับพร้อมข้อความเดิม

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

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

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

ขาออกเป็น UTF-8 เสมอ ไฟล์ JSON ไม่มี BOM และใช้การขึ้นบรรทัดใหม่แบบ Unix แม้ MicroDVD ต้นทางจะเป็น UTF-16 หรือ encoding ไบต์เดียว แผงผลลัพธ์จะบอกถ้ามีการถอดรหัสเกิดขึ้น

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