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 คือเครื่องมือขนาดพอดี
สร้างไฟล์ซับจากสิ่งที่คุณมีอยู่แล้ว
ฟรีสามสิบนาทีทุกสัปดาห์ ไม่ต้องติดตั้ง และไฟล์ยังอยู่ในเครื่องคุณ
เปิดมีเดียสตูดิโอ