แปลง 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 เหมือนกันทุกครั้ง