Friskriptionบล็อกSRT กับ VTT

SRT กับ VTT: ควรใช้แบบไหน

ทั้งคู่บรรจุบรรทัดเดียวกัน ที่เวลาเดียวกัน และต่างกันราวสามตัวอักษร เหตุผลที่ต้องสนใจคือมีอยู่ไม่กี่ที่ที่รับแค่แบบใดแบบหนึ่งเท่านั้น

คำตอบสั้น ๆ

  • เลือก SRT สำหรับโปรแกรมตัดต่อวิดีโอ โปรแกรมเล่นบนเครื่อง และการอัปโหลดซับขึ้น YouTube เป็นรูปแบบที่ทุกอย่างรับหมด
  • เลือก VTT เมื่อซับจะไปอยู่บนหน้าเว็บ เพราะเอลิเมนต์ <track> ของ HTML5 อ่านได้แค่ WebVTT เท่านั้น
  • ถ้าไม่แน่ใจ เลือก SRT รองรับกว้างกว่า และจะแปลงเป็น VTT ทีหลังก็แค่เพิ่มหัวไฟล์หนึ่งบรรทัดกับค้นหาแล้วแทนที่
  • ความต่างจริง ๆ: VTT ขึ้นต้นด้วยบรรทัด WEBVTT และเวลาในไฟล์ใช้จุดคั่นก่อนหลักมิลลิวินาที ตรงที่ SRT ใช้ลูกน้ำ
  • VTT ยังพกสไตล์และตำแหน่งได้ ซึ่ง SRT ทำไม่ได้ — แต่คนส่วนใหญ่ไม่เคยต้องใช้ และโปรแกรมเล่นบางตัวก็มองข้ามอยู่ดี

ซับสามบรรทัดเดียวกัน ในทั้งสองแบบ

SRT

1
00:00:01,200 --> 00:00:04,600
So today we are finally opening the
box everyone has been asking about.

2
00:00:04,600 --> 00:00:07,900
I have not looked inside. Not once,
I promise.

3
00:00:08,300 --> 00:00:11,400
Right — let us do this properly.

VTT

WEBVTT

1
00:00:01.200 --> 00:00:04.600
So today we are finally opening the
box everyone has been asking about.

2
00:00:04.600 --> 00:00:07.900
I have not looked inside. Not once,
I promise.

ในไฟล์ธรรมดา ความต่างมีเท่านี้จริง ๆ คือบรรทัดหัวไฟล์ กับจุดที่มาแทนลูกน้ำ ทั้งคู่เป็นข้อความ UTF-8 ล้วน ทั้งคู่ใส่เลขกำกับแต่ละช่วง ทั้งคู่ใช้ --> คั่นเวลาเริ่มกับเวลาจบ และทั้งคู่วางตัวข้อความไว้บรรทัดถัดลงมา

สิ่งที่ต่างกันจริง

SRT (SubRip) VTT (WebVTT)
หัวไฟล์ ไม่มี WEBVTT ที่บรรทัดแรก บังคับ
ตัวคั่นมิลลิวินาที ลูกน้ำ — 00:00:01,200 จุด — 00:00:01.200
เลขกำกับช่วงซับ บังคับ ไม่บังคับ และใช้ชื่อแทนตัวเลขก็ได้
การกำหนดตำแหน่ง ไม่มีในรูปแบบนี้ กำหนดตำแหน่ง การจัดแนว และขนาดได้ทีละช่วง
การจัดสไตล์ แท็กพื้นฐานในบรรทัด รองรับไม่เท่ากัน บล็อก STYLE ที่คล้าย CSS และคลาสของแต่ละช่วง
คอมเมนต์และเมตาดาตา ไม่มี บล็อก NOTE รวมถึงแทร็กบทและเมตาดาตา
<track> ของ HTML5 ไม่รองรับ รูปแบบเดียวที่มันอ่านได้
ที่เหลือทั้งหมด รับได้แทบทุกที่ รับกันกว้างขวาง แต่บางครั้งก็ไม่

เลือกตามปลายทาง

ซับจะไปอยู่ที่ไหน เลือก เพราะอะไร
โปรแกรมตัดต่อวิดีโอ — Premiere, DaVinci Resolve, Final Cut, CapCut SRT รูปแบบที่โปรแกรมตัดต่อทุกตัวนำเข้าได้โดยไม่ต้องถามซ้ำ
โปรแกรมเล่นบนเครื่อง — VLC, IINA, mpv SRT วางไว้ข้างไฟล์วิดีโอโดยตั้งชื่อเดียวกัน แล้วมันจะโหลดเอง
อัปโหลดซับขึ้น YouTube SRT YouTube รับทั้งสองแบบ แต่ SRT ติดขัดน้อยที่สุด
แท็ก <video> ของ HTML5 บนหน้าเว็บ VTT เอลิเมนต์ <track> อ่านได้แค่ WebVTT เท่านั้น
สตรีมมิงแบบ HLS หรือ DASH VTT ทั้งสองมาตรฐานกำหนดให้ใช้ WebVTT เป็นรูปแบบซับ
วิดีโอโซเชียล — Instagram, TikTok, LinkedIn SRT ที่ไหนเปิดให้อัปโหลดซับได้ แทบทั้งหมดคือ SRT
ยังไม่แน่ใจ SRT รองรับกว้างกว่า และจะแปลงทีหลังก็ง่ายมาก

แปลงไปมาระหว่างสองแบบ

จาก SRT เป็น VTT แก้แค่สองจุด: เติม WEBVTT กับบรรทัดว่างไว้บนสุด แล้วเปลี่ยนลูกน้ำในทุกบรรทัดเวลาเป็นจุด นอกนั้นไม่ต้องขยับอะไรเลย

# SRT → VTT
{ echo -e "WEBVTT\n"; sed 's/,/./g' subtitles.srt; } > subtitles.vtt
คำสั่ง sed นั้นตั้งใจให้หยาบ มันแทนลูกน้ำทุกตัวในไฟล์ รวมถึงลูกน้ำในบทพูดด้วย ซึ่งไม่เป็นไรกับบรรทัดเวลา แต่ผิดสำหรับตัวข้อความ ถ้าเป็นไฟล์ที่จะส่งให้คนอื่น ให้แปลงเฉพาะบรรทัดเวลา — หรือจะส่งออกเป็นรูปแบบที่ต้องการตั้งแต่แรกก็ได้ ซึ่งไม่มีต้นทุนอะไรเลย

จาก VTT เป็น SRT ก็ทำย้อนกลับแบบเดียวกัน บวกกับตัดสิ่งที่ SRT ไม่มีที่ให้ออกไป: บล็อก NOTE บล็อก STYLE ค่ากำหนดที่ต่อท้ายบรรทัดเวลา และช่วงซับที่ใช้ชื่อแทนตัวเลข

หาไฟล์มาสักแบบหนึ่ง

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

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

คำถาม

SRT กับ VTT ต่างกันอย่างไร

ในไฟล์ธรรมดามีสองอย่าง: ไฟล์ VTT ขึ้นต้นด้วยบรรทัด WEBVTT และบรรทัดเวลาใช้จุดคั่นหลักมิลลิวินาที ตรงที่ SRT ใช้ลูกน้ำ นอกจากนี้ VTT ยังรองรับการกำหนดตำแหน่งของซับ การจัดสไตล์ คอมเมนต์ และเมตาดาตา ซึ่ง SRT ไม่มีที่ให้

ใช้แบบไหนกับ YouTube ดี

SRT ครับ YouTube รับทั้งสองแบบ แต่ขั้นตอนอัปโหลดของมันเข้ากับ SRT ได้ราบรื่นที่สุด และเครื่องมืออื่น ๆ ในสายงานก็รับแบบนี้เช่นกัน

ใช้แบบไหนกับเว็บไซต์ดี

VTT และไม่มีทางเลือกอื่นเลย เพราะเอลิเมนต์ <track> ของ HTML5 อ่านได้แค่ WebVTT ส่วนสตรีมมิงแบบ HLS และ DASH ก็กำหนดให้ใช้ WebVTT เหมือนกัน

VLC เล่นไฟล์ VTT ได้ไหม

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

แบบไหนแม่นยำกว่ากัน

ไม่มี ทั้งคู่เป็นแค่ภาชนะบรรจุบรรทัดเดียวกันที่เวลาเดียวกัน ความแม่นยำมาจากสิ่งที่สร้างซับขึ้นมา ไม่ได้มาจากรูปแบบที่คุณบันทึก

ไฟล์ซับหนึ่งไฟล์ใส่สองภาษาพร้อมกันได้ไหม

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

แล้ว ASS กับ SSA ล่ะ

พวกนั้นเป็นรูปแบบคนละชั้น สร้างมาเพื่องานจัดสไตล์ กำหนดตำแหน่ง และจัดหน้าแบบหนัก ๆ อย่างที่วงการแฟนซับทำกัน มันคุ้มเมื่อซับกำลังทำงานออกแบบอยู่ด้วย แต่ถ้าเป็นบทแปลที่มีเวลากำกับ SRT กับ VTT คือเครื่องมือขนาดพอดี

สร้างไฟล์ซับจากสิ่งที่คุณมีอยู่แล้ว

ฟรีสามสิบนาทีทุกสัปดาห์ ไม่ต้องติดตั้ง และไฟล์ยังอยู่ในเครื่องคุณ

เปิดมีเดียสตูดิโอ