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

รูปแบบคำบรรยาย TTML

รูปแบบนี้แสดงอะไรได้

รูปแบบตัวอักษร
ฟอนต์ สี เส้นขอบ เงา
ตำแหน่งบนหน้าจอ
ใช่
จังหวะ Karaoke
ไม่
การขึ้นบรรทัดใหม่ในคิว
ใช่
ไทม์ไลน์
เวลาเริ่มและสิ้นสุดของทุกคิว
ความละเอียดของเวลา
1 ms
เก็บเวลาเป็นหมายเลขเฟรม
ไม่
ข้อความขวาไปซ้าย
ใช่

ตัวอย่าง

ไฟล์ TTML ทั่วไป และสิ่งที่อ่านออกมาได้

ไฟล์

<?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>

ไฟล์นี้เก็บอะไร

2 cues, 3 lines of text

  00:00:01.000 → 00:00:03.500
    Hello there.   [italic ×1]
    [region="bottom" style="s1"]
  00:00:03.500 → 00:00:06.000
    How are you?
    Fine, thanks.
    [region="bottom"]

Outside the cues:
  prolog     an XML declaration and the namespace bindings, kept as they came in
  styling    1 × <style> — "s1", the colour and weight a paragraph points at by name
  layout     1 × <region> — "bottom", the origin and extent a paragraph points at by name
  resolved   the head is kept as it was written and is not applied here — a paragraph's style="s1" region="bottom" stays an attribute, not a colour or a screen position

ฝั่งขวาไม่ใช่ไฟล์ที่แปลงแล้ว แต่คือสิ่งที่เว็บนี้อ่านออกมาจากฝั่งซ้าย และเป็นจุดเริ่มต้นของการแปลงไฟล์นั้นทุกครั้ง

ไฟล์ TTML ที่มีปัญหา และสิ่งที่ยังอ่านออกมาได้

ไฟล์

<?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>
    <div begin="00:00:01.000" end="00:00:05.000">
      <p>Inherits its timing from the div, which we do not resolve.</p>
      <p begin="00:00:06.000" end="00:00:07.000">This one has its own timing.</p>
    </div>
    <!-- <p begin="00:00:08.000" end="00:00:09.000">commented out</p> -->
    <div>
      <p begin="00:00:10.000"/>
      <p begin="00:00:11.000" end="00:00:12.000">Last one.</p>
    </div>
  </body>
</tt>

ไฟล์นี้เก็บอะไร

3 cues, 2 lines of text

  00:00:06.000 → 00:00:07.000
    This one has its own timing.
  00:00:10.000 → 00:00:12.000
    (no text)
  00:00:11.000 → 00:00:12.000
    Last one.

Outside the cues:
  prolog     an XML declaration and the namespace bindings, kept as they came in
  head       none — no <styling> and no <layout>, and no paragraph points at one either
  comments   the commented-out <p> stays a comment, in the place it was written
  divs       the timings on an enclosing <div> are not pushed down onto the paragraphs inside it

Reported while reading — repaired or skipped, never silently:
  1 × paragraphs with no readable begin time of their own (they were skipped — see the note about timing inherited from an enclosing div)
  1 × paragraphs with neither an end time nor a duration of their own (their end times were generated)

ไฟล์จริงมาพร้อม byte-order mark การขึ้นบรรทัดแบบ Windows บรรทัดแปลกปลอมก่อนไทม์โค้ด หรือไทม์โค้ดที่อ่านไม่ได้เลย ทั้งหมดไม่ทำให้เกิดข้อผิดพลาด สิ่งที่เข้าใจไม่ได้จะถูกรายงาน ไม่ใช่ทิ้งไปเงียบ ๆ

แปลง TTML (Timed Text) เป็นรูปแบบอื่น

แต่ละรายการทำงานในเบราว์เซอร์ของคุณทั้งหมด ป้ายบอกว่าทิศทางนั้นมีค่าใช้จ่ายอะไรบ้างก่อนคุณเปิด

แปลง TTML เป็น TXT ในเบราว์เซอร์ — สูญหาย: เวลา สไตล์ ตำแหน่ง บรรทัดใหม่ ฟิลด์พิเศษ
  • เวลา
  • รูปแบบ
  • ตำแหน่ง
  • การขึ้นบรรทัดใหม่
  • เนื้อหาที่เฉพาะกับรูปแบบ

การแปลงเข้ามาในรูปแบบนี้

TTML (Timed Text) เป็นหนึ่งในรูปแบบคำบรรยายที่เว็บนี้รองรับ: เอกสาร XML ที่แต่ละคำบรรยายเป็นองค์ประกอบ `<p>` พร้อมเวลาเริ่มและเวลาสิ้นสุดในแอตทริบิวต์ `begin` และ `end` ส่วน `<head>` ประกาศสไตล์และ region ที่มีชื่อ หน้านี้คือเอกสารอ้างอิงของมัน: เก็บอะไรได้ เก็บอะไรไม่ได้ และมีหน้าสำหรับทุกรูปแบบที่คุณแปลงมันไปได้

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

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

ไฟล์ TTML คืออะไร?

`.ttml` คือ TTML รูปแบบข้อความมีเวลาที่โลกกระจายเสียงและสตรีมมิงใช้เขียนคำบรรยาย: เอกสาร XML ที่ `<head>` ประกาศสไตล์และ region ที่มีชื่อ และองค์ประกอบ `<p>` คือคำบรรยาย ไปป์ไลน์คำบรรยายสำหรับสตรีมมิงใช้รูปแบบนี้ และโปรไฟล์ SMPTE-TT กับ IMSC ก็สร้างบนมัน

TTML เก็บสไตล์ไหม?

เก็บ และมากกว่าคนอื่น: ตารางสไตล์ของฟอนต์ ขนาด สี เส้นขอบ และระยะขอบ พร้อมรหัสระดับคิวในข้อความ บรรทัดเดียวจึงหนา มีสี และวางตำแหน่งได้โดยไม่ต้องมีสไตล์ที่มีชื่อ แต่ไม่เก็บคาราโอเกะ: ไฟล์ TTML บอกว่าคิวเริ่มและจบเมื่อไร ไม่ได้บอกว่าพยางค์สว่างเมื่อไร ในที่นี้สองตารางนั้นคือ `<head>`: `<styling>` เก็บสไตล์ที่มีชื่อ (`tts:color`, `tts:fontWeight`, `tts:fontFamily`) และ `<layout>` เก็บ region ที่มีชื่อ (`tts:origin`, `tts:extent`) โดย `<p>` ชี้ไปที่ชื่อ (`style="s1" region="bottom"`) แทนการเขียนซ้ำ

ทุกคิว TTML เก็บทั้งเวลาเริ่มและเวลาสิ้นสุดไหม?

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

ควรแปลง TTML ไปเป็นรูปแบบใด?

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

ไฟล์ TTML เก็บอะไรไว้นอกคิว?

ประกาศ XML และ `<head>` ทั้งหมด: ตาราง `<styling>` ของสไตล์ที่มีชื่อ (`tts:color`, `tts:fontWeight`), ตาราง `<layout>` ของ region ที่มีชื่อ (`tts:origin`, `tts:extent`) และ `<metadata>` ใด ๆ แต่ละ `<p>` อ้างถึงสิ่งเหล่านี้ด้วยชื่อแทนการเขียนซ้ำ ไฟล์เดียวจึงปรับสไตล์ทุกคำบรรยายได้ด้วยการแก้รายการเดียว การอ้างอิงเหล่านั้นอยู่บนย่อหน้า ไม่ได้อยู่ในโมเดลคิว การแปลงไปยังรูปแบบที่ไม่มีสิ่งเหล่านี้จึงรายงานการสูญหาย