TTML2 คืออะไร?
ภาษามาร์กอัปข้อความตามเวลา 2 (TTML2) เป็นภาษาที่ใช้ XML สำหรับการแสดงสื่อข้อความตามเวลา เช่น คำบรรยายและแคปชัน มัน ทำหน้าที่เป็นรูปแบบมาตรฐาน สำหรับการแลกเปลี่ยน, การสร้าง, และการจัดจำหน่ายเนื้อหาข้อความตามเวลาบนหลายแพลตฟอร์มและระบบต่าง ๆ
TTML2 มีจุดประสงค์เพื่อ:
- Interchange: ช่วยอำนวยความสะดวกในการแลกเปลี่ยนข้อมูลข้อความตามเวลาระหว่างระบบการสร้างต่าง ๆ
- Transcoding: แปลงเนื้อหาข้อความตามเวลาเป็นรูปแบบการจัดจำหน่ายแบบเก่าต่าง ๆ ที่ใช้ในงานซับไตเติลและแคปชัน
- Distribution: ทำหน้าที่เป็นรูปแบบการจัดจำหน่ายเอง เช่น การอ้างอิงเนื้อหา TTML จากองค์ประกอบ
<track>ในเอกสาร HTML5 หรือจากองค์ประกอบ<text>หรือ<textstream>ในเอกสาร SMIL 3.0
โมเดลระบบ
TTML2 ทำงานภายในโมเดลระบบ ที่รวมถึงกระบวนการสร้าง, การแปลง, การจัดจำหน่าย, และการนำเสนอ มันกำหนดคลาสของโปรเซสเซอร์สองประเภท:
- Transformation Processors: ใช้ในระบบการสร้างและโปรเซสเซอร์ตรวจสอบความถูกต้อง
- Presentation Processors: ใช้ในระบบการแปลงและโปรเซสเซอร์การเรนเดอร์
โปรเซสเซอร์เหล่านี้สามารถทำแมปไปยัง TTML Intermediate Documents เพื่อให้สามารถบูรณาการกับรูปแบบสื่อและเทคโนโลยีต่าง ๆ ได้
โครงสร้างเอกสาร
เอกสาร TTML2 ทั่วไปประกอบด้วย:
<tt>: องค์ประกอบราก<head>: มีเมตาดาต้า, การจัดสไตล์, และข้อมูลการจัดวาง<metadata>: รวมเมตาดาต้าระดับเอกสาร เช่น ชื่อเรื่องและลิขสิทธิ์<styling>: กำหนดสเปคสไตล์<layout>: ระบุพื้นที่จัดวาง
<body>: มีเนื้อหาข้อความตามเวลา โดยอ้างอิงสไตล์และการจัดวาง
เช่น
<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml">
<head>
<metadata/>
<styling/>
<layout/>
</head>
<body/>
</tt>
ตัวอย่าง:
นี่คือตัวอย่างไฟล์ TTML2 อย่างง่าย:
<?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:fontSize="16px" tts:color="white" tts:backgroundColor="black"/>
</styling>
<layout>
<region xml:id="bottom" tts:origin="10% 80%" tts:extent="80% 10%"/>
</layout>
</head>
<body region="bottom">
<div>
<p begin="00:00:01.000" end="00:00:04.000" style="s1">
Hello, this is an example of TTML2 subtitles.
</p>
<p begin="00:00:05.000" end="00:00:08.000" style="s1">
These captions are timed and styled.
</p>
</div>
</body>
</tt>
<p begin="..." end="...">: แสดงข้อความซับไตเติลพร้อมเวลา<style>และ<region>: กำหนดวิธีและตำแหน่งที่ข้อความปรากฏ<tt>: องค์ประกอบรากของเอกสาร TTML2
ความเปลี่ยนแปลงจาก TTML1
TTML2 นำเสนอ การปรับปรุงหลายประการ จาก TTML1 ได้แก่:
- Extended Features: รองรับภาษาตะวันออกเอเชีย, 3D สเตอริโอสโคปิก, และการแมปอย่างละเอียดไปยัง HTML และ CSS
- Improved Modularity: การจัดระเบียบและการแยกส่วนที่ดีขึ้นภายในสเปค
- Updated Syntax: ปรับปรุงไวยากรณ์ของภาษาเพื่อความชัดเจนและสอดคล้องกัน
สรุปการเปลี่ยนแปลงอย่างละเอียดจาก TTML1 ไปยัง TTML2 มีให้ดูใน TTML2 Change Summary.
การยอมรับและการสนับสนุนจากอุตสาหกรรม
TTML2 ได้รับการยอมรับและสนับสนุนจากองค์กรและหน่วยงานมาตรฐานหลายแห่ง รวมถึง:
- Netflix
- Microsoft
- BBC
- Apple
- MovieLabs
- European Broadcasting Union (EBU)
ผู้สนับสนุนเหล่านี้มีบทบาทสำคัญในการพัฒนาและนำ TTML2 ไปใช้
คุณลักษณะสำคัญของไฟล์ TTML2
| ลักษณะ | คำอธิบาย |
|---|---|
| นามสกุลไฟล์ | .ttml, .dfxp, .xml |
| ชื่อเต็ม | ภาษามาร์กอัปข้อความตามเวลา เวอร์ชัน 2 |
| ประเภท MIME | application/ttml+xml |
| ประเภทรูปแบบ | รูปแบบข้อความเชิงโครงสร้างที่ใช้ XML |
| พัฒนาโดย | World Wide Web Consortium (W3C) Timed Text Working Group |
| ข้อได้เปรียบหลัก | รองรับสคริปต์ทั่วโลก, การเคลื่อนไหว, แหล่งข้อมูลฝัง, และความต้องการของการออกอากาศระดับมืออาชีพอย่างครบถ้วน |
| สเปคล่าสุด | TTML2 ฉบับที่ 2 W3C Recommendation Snapshot (มีนาคม 2021) |
| การสนับสนุนมาโคร | ไม่มี (เป็น XML markup เพียว ๆ, ไม่มีโค้ดที่ทำงานได้) |
| มาตรฐานเปิด | ใช่ (W3C Recommendation, มาตรฐานเปิดที่มีเอกสารครบถ้วน) |
วิธีเปิดไฟล์ TTML2?
คุณสามารถเปิดและดูไฟล์ TTML2 ด้วยเครื่องมือต่าง ๆ ขึ้นอยู่กับว่าต้องการอ่านข้อความ, แก้ไขเนื้อหา, หรือแสดงเป็นซับไตเติล ไฟล์ TTML2 เป็น XML‑based จึงสามารถเปิดด้วยโปรแกรมแก้ไขข้อความหรือ XML ใดก็ได้ แต่หากต้องการ เล่นหรือทดสอบ เป็นซับไตเติล จำเป็นต้องใช้เครื่องมือที่รองรับ
เพื่อดูหรือแก้ไข
ใช้ โปรแกรมแก้ไขข้อความ ใดก็ได้:
- Windows: Notepad หรือ Notepad++
- Mac/Linux: TextEdit หรือ VS Code
คลิกขวาที่ไฟล์ → Open with → เลือกโปรแกรมแก้ไขของคุณ
เพื่อเล่นเป็นซับไตเติล (พร้อมวิดีโอ)
TTML2 ไม่ได้รับการสนับสนุนโดยเครื่องเล่นสื่อส่วนใหญ่โดยตรง
คุณต้อง แปลงเป็น SRT หรือ WebVTT ด้วยเครื่องมือเช่น:
- Subtitle Edit (แอปฟรีสำหรับ Windows)
เพื่อใช้บนเว็บไซต์
ใช้ในแท็ก <video> แบบนี้:
<track src="captions.ttml" kind="subtitles" label="English" srclang="en">
หมายเหตุ: เบราว์เซอร์ส่วนใหญ่ไม่รองรับ TTML โดยตรง ควรแปลงเป็น WebVTT เพื่อความเข้ากันได้ที่ดีกว่า
คำถามที่พบบ่อย
Q1: ความแตกต่างระหว่าง TTML1 และ TTML2 คืออะไร?
A: TTML2 เพิ่มคุณลักษณะสำคัญที่ขาดหายจาก TTML1 ได้แก่ การสนับสนุนภาษาตะวันออกเอเชีย (รูบี้, ข้อความแนวตั้ง, การเน้น), การเคลื่อนไหวต่อเนื่อง, แหล่งข้อมูลฝัง (รูปภาพ, ฟอนต์, เสียง) และการสนับสนุน 3D สเตอริโอสโคปิก
Q2: ฉันสามารถเปิดไฟล์ TTML2 ในเว็บเบราว์เซอร์ได้หรือไม่?
A: เบราว์เซอร์ส่วนใหญ่ไม่สามารถเรนเดอร์ซับไตเติล TTML2 ได้โดยตรง สำหรับการส่งบนเว็บ ควรแปลง TTML2 เป็นรูปแบบ WebVTT ซึ่งรองรับองค์ประกอบ <track> ของ HTML5 ดีกว่า
Q3: ซอฟต์แวร์ใดสร้างไฟล์ TTML2 ได้บ้าง?
A: เครื่องมือซับไตเติลระดับมืออาชีพอย่าง EZTitles มีฟังก์ชันส่งออก TTML2 ส่วนโปรแกรมแก้ไขข้อความใด ๆ ก็สามารถสร้างไฟล์ TTML2 เบื้องต้นได้เนื่องจากเป็น XML สำหรับการแปลง สามารถใช้ Subtitle Edit หรือ FFmpeg
Q4: TTML2 ถูกใช้โดยบริการสตรีมมิ่งอย่าง Netflix หรือไม่?
A: ใช่, Netflix เป็นผู้มีส่วนร่วมสำคัญในการพัฒนา TTML และใช้โปรไฟล์ที่อิง TTML (โดยเฉพาะ IMSC) สำหรับการส่งซับไตเติล ฟอร์แมตนี้ได้รับการนำไปใช้อย่างกว้างขวางในอุตสาหกรรมสตรีมมิ่ง
Q5: ไฟล์ TTML2 รองรับรูปภาพเช่นเดียวกับข้อความหรือไม่?
A: รองรับ ทั้งรูปภาพราสเตอร์ (เป็นพื้นหน้า หรือพื้นหลัง) และข้อความ โปรไฟล์ IMSC Image ให้วิธีมาตรฐานในการส่งซับไตเติลแบบภาพโดยใช้กราฟิก PNG
แหล่งอ้างอิง
สำหรับความเข้าใจเชิงลึกและรายละเอียดทางเทคนิค สามารถดูสเปคเต็มของ TTML2 ได้ที่: