แปลง SMI เป็น TTML
หรือวางข้อความคำบรรยาย
การแปลงนี้เปลี่ยนอะไร
1 อย่างถูกตัดทิ้งหรือต้องตัดสินใจ
- เนื้อหาที่เฉพาะกับรูปแบบ
เนื้อหาที่รูปแบบต้นทางเก็บไว้นอกคิว (บล็อกที่ไม่ใช่คิว ข้อความหัวไฟล์ การตั้งค่าต่อคิว เหตุการณ์ที่ถูกคอมเมนต์) — รูปแบบปลายทางไม่มีที่ให้เก็บ
รายการนี้มาจากเมทริกซ์ความสามารถของสองรูปแบบนี้ ไม่ได้มาจากไฟล์ที่คุณโหลด ไฟล์หนึ่งอาจสูญหายมากกว่าหากใช้คุณสมบัติที่รูปแบบอนุญาตแต่เมทริกซ์ไม่ได้จำลอง
หน้านี้แปลง SMI เป็น TTML วางไฟล์ลงไปหรือวางข้อความ แล้วคุณจะได้เวอร์ชัน TTML กลับมา การแปลงทำงานทั้งหมดในเบราว์เซอร์ จึงไม่มีการอัปโหลดและไม่ต้องมีบัญชี
สองรูปแบบนี้ไม่ได้เก็บสิ่งเดียวกัน และความต่างไม่ใช่เรื่องผิวเผิน: เนื้อหาเฉพาะรูปแบบไม่มีที่อยู่ใน TTML รายการด้านบนมาจากสิ่งที่ทั้งสองรูปแบบแสดงออกได้ ไม่ได้มาจากไฟล์ของคุณ คำตอบจึงเหมือนเดิมก่อนคุณจะโหลดอะไรลงไป ไฟล์เดียวก็ได้ ทั้งซีซันก็ได้ คิวทำงานตามลำดับและผลลัพธ์ลงมาพร้อมกันเป็นไฟล์ ZIP เดียว
ตัวอย่าง
ไฟล์ SMI ทั่วไป แปลงเป็น TTML
ข้อมูลนำเข้า
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial; }
.ENCC { Name: English; lang: en-US; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P Class=ENCC>Hello there.
<SYNC Start=3000>
<P Class=ENCC>
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>
</BODY>
</SAMI>
ผลลัพธ์
<?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.000">Hello there.</p>
<p begin="00:00:03.500" end="00:00:06.000">How are you?<br/>Fine, thanks.</p> </body>
</tt>
สิ่งที่ตัดออกในผลลัพธ์นี้: เนื้อหาเฉพาะรูปแบบ ทุกอย่างอื่นตรงกันทีละบรรทัด
การแปลงเดียวกันกับข้อมูลที่ผิดปกติ
ข้อมูลนำเข้า
<SAMI>
<HEAD>
<TITLE>Episode 1</TITLE>
<STYLE TYPE="text/css">
<!--
.ENCC { Name: English; }
-->
</STYLE>
</HEAD>
<BODY>
<sync start="00:00:02,500">
<P Class=ENCC>Line one<br>Line two
<sync start=9000>
<P Class=ENCC>Tom & Jerry
<SYNC Start=12000>
<P Class=ENCC>
</BODY>
</SAMI>
ผลลัพธ์
<?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:02.500" end="00:00:09.000">Line one<br/>Line two</p>
<p begin="00:00:09.000" end="00:00:12.000">Tom & Jerry</p> </body>
</tt>
ไฟล์จริงมักมาพร้อม BOM การขึ้นบรรทัดใหม่แบบ Windows บรรทัดแปลกปลอมก่อนไทม์โค้ด หรือไทม์โค้ดที่อ่านไม่ได้เลย ไม่มีอะไรโยนข้อผิดพลาด: สิ่งที่เข้าใจไม่ได้จะถูกรายงาน ไม่ใช่ทิ้งเงียบ ๆ
คำถามที่พบบ่อย
แท็ก `<STYLE>`, `<TITLE>` และแอตทริบิวต์ `Class=` ของ SAMI ไปไหนเมื่อแปลง SMI เป็น TTML?
ถูกตัดออก SAMI บอกว่าคำบรรยายมีหน้าตาอย่างไรจากภายนอกข้อความของคิว: บล็อก `<STYLE>` ของ CSS สำหรับย่อหน้า, `<TITLE>`, และเครื่องหมายช่องที่แต่ละย่อหน้าพกไป — `Class=ENCC` ซึ่งชี้ไปที่กฎข้อหนึ่งในนั้น TTML เก็บคิวไม่ใช่เอกสาร จึงไม่มีที่ให้สิ่งเหล่านั้นไปอยู่ การเน้นที่เขียนอยู่ในข้อความของคิวเองไม่ได้รับผลกระทบ เพราะมันเป็นของบรรทัด และคิวออกมาพร้อมข้อความและเวลาครบถ้วน
เมื่อแปลง SMI เป็น TTML ผลลัพธ์มีหน้าตาอย่างไร?
เหมือน TTML: ไม่มีเลขคิว ทุกคำบรรยายเป็นองค์ประกอบ `<p>` ที่มีแอตทริบิวต์ `begin` และ `end` อยู่ใน `<body>` (และมักมี `<div>`) โดยมีประกาศ XML อยู่เหนือเอกสารทั้งฉบับ ทุกคิว SMI กลายเป็นคิว TTML หนึ่งคิวในลำดับเดิมและข้อความเดิม
ไทม์โค้ดของ SMI ในไฟล์ TTML ยังแม่นถึงมิลลิวินาทีหรือไม่?
แม่นถึงมิลลิวินาที ซึ่งละเอียดที่สุดเท่าที่ทั้งสองรูปแบบทำได้ SMI เขียนเวลาเป็น `Start=4126` และ TTML เขียนเวลาเดียวกันเป็น `00:00:04.126` ไม่มีการปัดหรือเลื่อนระหว่างสองรูปแบบ และคิวที่อยู่บนจอ 2.9 วินาทียังคงเป็น 2.9 วินาที
คิว SMI สองบรรทัดจะออกมาเป็นอย่างไรใน TTML?
เป็นสองบรรทัดคั่นด้วย `<br/>` ซึ่งเป็นวิธีเขียนการขึ้นบรรทัดใหม่แบบบังคับของ TTML การจับคู่ยังอยู่ ทั้งสองบรรทัดของ SMI ยังเป็นคำบรรยายเดียวกันในผลลัพธ์ TTML และโปรแกรมเล่นแสดงพร้อมกัน
ลำดับคิว SMI จะคงเดิมในผลลัพธ์ TTML หรือไม่?
SMI ส่งคิวเข้า TTML ตามลำดับเวลาเดิม และผลลัพธ์จะเรียงให้เวลาเริ่มเพิ่มขึ้นเสมอ นี่เป็นการจัดโครงสร้างไฟล์อย่างตั้งใจ ไม่ใช่การแก้เนื้อหา
แปลง TTML กลับเป็น SMI ได้หรือไม่?
ได้ และทิศทางนั้นมีรายการของมันเอง: การแปลง TTML กลับเป็น SMI สูญเสียสไตล์ และเนื้อหาเฉพาะรูปแบบ รายการนั้นต่างจากด้านบนเพราะทั้งสองรูปแบบเก็บสิ่งต่างกัน
ไฟล์ TTML ที่ได้จะรักษา encoding ของไฟล์ SMI ไว้หรือไม่?
encoding ของ SMI ไม่ถูกรักษาไว้: TTML เขียนเป็น UTF-8 ขึ้นบรรทัดใหม่แบบ Unix ไม่มี BOM ไฟล์ที่มาเป็น UTF-16 หรือ codepage จะถูกถอดรหัสตอนรับเข้าและแจ้งในแผงผลลัพธ์