คู่มือการปรับเลื่อนเวลาซับไตเติล .SRT และการแปลงเป็น WebVTT สำหรับวิดีโอออนไลน์
สารบัญเนื้อหา
1. ปัญหาซับไตเติลไม่ตรงกับเสียงพูดในวิดีโอ
เมื่อตัดต่อวิดีโอหรือนำไฟล์คำบรรยายมาจากแหล่งอื่น ผู้ผลิตวิดีโอมักเจอปัญหาซับไตเติลปรากฏก่อนเสียงพูด (Subtitle Leads) หรือขึ้นช้ากว่าเสียงพูด (Subtitle Lags) การแก้ไขไทม์สแตมป์ทีละบรรทัดในไฟล์ข้อความมีความยุ่งยากและเสียเวลาอย่างมาก การใช้เครื่องมือปรับเลื่อนเวลาแบบกลุ่ม (Batch Time Shift) จึงเป็นทางออกที่มีประสิทธิภาพสูงสุด
2. โครงสร้างเชิงไวยากรณ์: SubRip (.SRT) vs WebVTT (.VTT)
แม้ว่าทั้งสองฟอร์แมตจะมีหน้าตาคล้ายกัน แต่มีข้อกำหนดทางเทคนิคที่แตกต่างกันอย่างมีนัยสำคัญ:
| คุณสมบัติ | SubRip (.SRT) | WebVTT (.VTT) |
|---|---|---|
| ส่วนหัวของไฟล์ (Header) | ไม่มีส่วนหัว เริ่มต้นด้วยหมายเลข 1 ทันที | ต้องขึ้นต้นด้วยบรรทัด WEBVTT |
| ตัวคั่นทศนิยมมิลลิวินาที | ใช้เครื่องหมายลูกน้ำ เช่น 00:00:01,000 |
ใช้เครื่องหมายจุด เช่น 00:00:01.500 |
| การรองรับแท็ก <track> ใน HTML5 | เบราว์เซอร์ส่วนใหญ่ไม่รองรับโดยตรง | รองรับตามมาตรฐานสากล W3C เต็มรูปแบบ |
| การตกแต่งสไตล์ด้วย CSS | ไม่รองรับ | รองรับการจัดตำแหน่ง สี และขนาดฟอนต์ |
3. อัลกอริทึมการปรับเลื่อนเวลา (+500 ms Benchmark)
การปรับเลื่อนเวลาต้องแปลงไทม์สแตมป์ HH:MM:SS,mmm ทั้งหมดให้กลายเป็นหน่วยมิลลิวินาทีรวม จากนั้นบวกหรือลบด้วยค่าออฟเซ็ต (Offset) ก่อนจะแปลงกลับมาเป็นรูปแบบเวลามาตรฐาน:
ในการทดสอบเกณฑ์มาตรฐาน เราใช้ไฟล์ตัวอย่าง sample_subtitles_th.srt ที่มีไทม์สแตมป์เริ่มต้น 00:00:01,000 เมื่อทำการปรับเลื่อนเวลาไปข้างหน้า +500 ms และแปลงเป็น WebVTT ผลลัพธ์ในไฟล์ sample_subtitles_th_shifted.vtt จะมีไทม์สแตมป์ใหม่เป็น 00:00:01.500 อย่างแม่นยำ
4. ความโปร่งใสด้านเทคนิค: เครื่องมือทำงานในเครื่อง ไม่ใช่ระบบถอดเสียง AI
เครื่องมือจัดการซับไตเติลนี้ออกแบบมาสำหรับการซิงค์เวลา แปลงรูปแบบ และแก้ไขไฟล์ข้อความซับไตเติลที่มีอยู่แล้ว ไม่ใช่ระบบถอดเสียงอัตโนมัติ (Automated Speech Recognition - ASR) ข้อมูลไฟล์ของคุณจะได้รับการประมวลผลภายในเบราว์เซอร์ 100% โดยไม่มีการส่งไฟล์เสียงหรือวิดีโอขึ้นไปประมวลผลบนเซิร์ฟเวอร์ภายนอก
คำถามที่พบบ่อย (FAQ)
หากเลื่อนเวลาติดลบจนต่ำกว่า 00:00:00 ระบบจะทำงานอย่างไร?
อัลกอริทึมจะป้องกันไม่ให้เกิดไทม์สแตมป์ติดลบ โดยจะจำกัดค่าต่ำสุดไว้ที่ 00:00:00,000 เสมอ เพื่อป้องกันข้อผิดพลาดในการเล่นวิดีโอ