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

แปลง TTML เป็น MicroDVD

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

ตัวเลือก

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

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

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

  • รูปแบบ

    รูปแบบตัวอักษรทั้งหมด (ตัวหนา ตัวเอียง สี เส้นขอบ เงา)

  • ตำแหน่ง

    ตำแหน่งบนหน้าจอ (ทุกคิวกลับไปยังตำแหน่งเริ่มต้น)

  • เฟรมเรต

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

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

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

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

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

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

ตัวอย่าง

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

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

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling" xml:lang="en">
  <head>
    <styling>
      <style xml:id="s1" tts:color="#FFFF00" tts:fontWeight="bold"/>
    </styling>
    <layout>
      <region xml:id="bottom" tts:origin="10% 80%" tts:extent="80% 20%"/>
    </layout>
  </head>
  <body>
    <div>
      <p begin="00:00:01.000" end="00:00:03.500" region="bottom" style="s1">Hello <span tts:fontStyle="italic">there</span>.</p>
      <p begin="00:00:03.500" end="00:00:06.000" region="bottom">How are you?<br/>Fine, thanks.</p>
    </div>
  </body>
</tt>

ผลลัพธ์

{1}{1}25
{25}{88}Hello there.
{88}{150}How are you?|Fine, thanks.

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

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

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

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling"
    xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
    ttp:frameRate="25" xml:lang="en">
  <body>
    <div>
      <p begin="1.5s" dur="2s">Loaded from an offset and a duration.</p>
      <p begin="4s" end="00:00:06.50">A coarser clock spelling.</p>
      <p begin="00:00:07:00" end="00:00:08:12">Frames, at 25fps.</p>
      <p begin="9s"><span tts:color="#FF0000">Half-open</span> and Tom &amp; Jerry.</p>
    </div>
  </body>
</tt>

ผลลัพธ์

{1}{1}25
{38}{88}Loaded from an offset and a duration.
{100}{163}A coarser clock spelling.
{175}{212}Frames, at 25fps.
{225}{275}Half-open and Tom &amp; Jerry.

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

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

ตัวหนา ตัวเอียง และสีจาก TTML ไป MicroDVD เป็นอย่างไร?

MicroDVD ไม่เก็บสไตล์ใด ๆ ทั้งสิ้น ทั้งหมดจึงหายไป: `<span tts:color="…">` ภายในย่อหน้า หรือสไตล์ที่มีชื่อจากตาราง `<styling>` ที่มันชี้ไป ไม่มีที่ลง และทุกบรรทัดถูกเขียนเป็นข้อความล้วน คำยังอยู่ครบ

ตำแหน่งบนหน้าจอจาก TTML ไป MicroDVD เป็นอย่างไร?

MicroDVD บอกไม่ได้ว่าคำบรรยายถูกวาดที่ไหน ดังนั้นการอ้างอิง `region` และ `style` ที่ `<p>` พาไปจึงถูกตัดทิ้งระหว่างทางออกจาก TTML และทุกคิวกลับไปยังตำแหน่งเริ่มต้นที่โปรแกรมเล่นเลือก — โดยมากคือด้านล่างของเฟรมและจัดกึ่งกลาง

ควรตั้งเฟรมเรตเท่าไรสำหรับการแปลง TTML เป็น MicroDVD?

MicroDVD เก็บคำบรรยายเป็นเลขเฟรมคู่แทนเวลานาฬิกา — `{103}{175}` — เฟรมเรตจึงเป็นตัวเปลี่ยนไทม์ของ TTML ให้เป็นสิ่งที่ไฟล์ต้องการ: ที่ 25 เฟรมต่อวินาที สี่วินาทีคือเฟรม 100 ตั้งให้ตรงกับเฟรมเรตของวิดีโอที่คำบรรยายชุดนี้ใช้ ค่าที่ผิดแทบไม่เห็นตอนต้นและจะคลาดมากขึ้นเรื่อย ๆ เมื่อวิดีโอเดินต่อไป

prolog ของ TTML ตาราง `<styling>` และ `<layout>` ไปไหนเมื่อแปลงเป็น MicroDVD?

ถูกตัดทิ้ง ไฟล์ TTML เก็บรูปลักษณ์และเลย์เอาต์ไว้ในส่วนหัว ไม่ใช่ในตัวข้อความ: ประกาศ XML และ namespace, ตาราง `<styling>` ของสไตล์ที่มีชื่อ (`tts:color`, `tts:fontWeight`), ตาราง `<layout>` ของ region ที่มีชื่อ (`tts:origin`, `tts:extent`), `<metadata>` ใด ๆ และแอตทริบิวต์ `style` / `region` ที่ `<p>` ใช้ชี้ไปยังสิ่งเหล่านั้น MicroDVD เก็บคิว ไม่ใช่เอกสาร ทั้งส่วนหัวจึงไม่มีที่ลง ส่วนสไตล์ที่เขียนอยู่ภายในย่อหน้าเป็นอีกเรื่อง — `<span tts:fontStyle="italic">` คือการเน้นคำ และจะถูกเขียนด้วยมาร์กอัปของ MicroDVD เท่าที่ MicroDVD มี

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

เหมือน MicroDVD: ไม่มีเลขคิว — ทุกบรรทัดขึ้นต้นด้วยเลขเฟรมคู่ในปีกกา ทุกคิว TTML กลายเป็นหนึ่งคิว MicroDVD ตามลำดับเดิม ด้วยข้อความเดิม

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

เป็นบรรทัดเดียวที่มีเครื่องหมาย `|` คั่นกลาง ซึ่งเป็นวิธีที่ MicroDVD เขียนการขึ้นบรรทัด คู่บรรทัดยังคงอยู่ — สองบรรทัดของ TTML ยังเป็นคำบรรยายเดียวกันในผลลัพธ์ และโปรแกรมเล่นแสดงพร้อมกัน

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

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

แปลง MicroDVD กลับเป็น TTML ได้ไหม?

ได้ และมีรายการของมันเอง: การแปลง MicroDVD เป็น TTML สูญเสียเฟรมเรต ซึ่งเป็นรายการที่ต่างจากรายการด้านบน เพราะสองรูปแบบเก็บสิ่งต่างกัน

ผลลัพธ์ MicroDVD เก็บ encoding เดิมของไฟล์ TTML ไว้ไหม?

ไม่ — ผลลัพธ์เป็น UTF-8 ใช้การขึ้นบรรทัดแบบ Unix และไม่มี byte-order mark ไม่ว่าไฟล์ TTML จะใช้แบบไหน ไฟล์ที่มาเป็น UTF-16 หรือ encoding แบบไบต์เดียวของ Windows จะถูกถอดรหัสตอนอ่าน (แผงผลลัพธ์จะบอกเมื่อเกิดกรณีนั้น) สิ่งที่ออกมาคือ MicroDVD แบบ UTF-8 เหมือนกันทุกครั้ง

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