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

แปลง CSV เป็น TTML

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

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

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

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

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

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

ตัวอย่าง

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

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

start,end,text
00:00:01.000,00:00:03.500,The quick brown fox.
00:00:04.000,00:00:06.250,"Jumps over, the lazy dog."
00:00:07.000,00:00:09.000,"Two lines here.
And a second one."

ผลลัพธ์

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
  <body>
<p begin="00:00:01.000" end="00:00:03.500">The quick brown fox.</p>
<p begin="00:00:04.000" end="00:00:06.250">Jumps over, the lazy dog.</p>
<p begin="00:00:07.000" end="00:00:09.000">Two lines here.<br/>And a second one.</p>  </body>
</tt>

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

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

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

id,start,end,note,text
1,00:00:01,000,00:00:04,000,cue one,"Hello there, friend."
2,00:00:05.000,00:00:07.000,cue two,Second line.
bad,notatime,00:00:09.000,cue three,Unreadable start.
4,00:00:10.000,00:00:09.000,cue four,End before start.
5,00:00:12.000,00:00:14.000,cue five,Unquoted comma in text, right here.

ผลลัพธ์

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
  <body>
<p begin="00:00:01.000" end="00:00:04.000">Hello there, friend.</p>
<p begin="00:00:05.000" end="00:00:07.000">Second line.</p>
<p begin="00:00:10.000" end="00:00:10.001">End before start.</p>
<p begin="00:00:12.000" end="00:00:14.000">Unquoted comma in text, right here.</p>  </body>
</tt>

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

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

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

เหมือน TTML: ไม่มีเลขคิว — ทุกคำบรรยายเป็นองค์ประกอบ `<p>` ที่มีแอตทริบิวต์ `begin` และ `end` ซ้อนใน `<body>` (และมักมี `<div>`) โดยมีประกาศ XML อยู่เหนือเอกสารทั้งหมด ทุกคิว CSV กลายเป็นหนึ่งคิว TTML ตามลำดับเดิม ด้วยข้อความเดิม

ไทม์โค้ด CSV แม่นยำในไฟล์ TTML ไหม?

แม่นถึงมิลลิวินาที — ซึ่งละเอียดที่สุดที่ทั้งสองรูปแบบทำได้ ทั้ง CSV และ TTML เขียนเวลาแบบเดียวกัน `00:00:04.126` ไทม์โค้ดจึงออกมาตรงทุกอักขระ และคิวที่เคยอยู่บนจอ 2.9 วินาทีก็ยังคงเป็น 2.9 วินาที

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

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

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

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

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

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

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

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

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