พจนานุกรม

เวลาเริ่มต้นคืออะไร?

หมายความว่าอย่างไรเมื่อไฟล์ของคุณมีฟิลด์ชื่อ Start Time? อ่านต่อเพื่อดูว่ามันหมายถึงอะไร และทำไมค่า Start Time ถึงอาจเป็นค่าลบได้

start-time

เวลาเริ่มต้น (Start Time) คือจุดบนเข็มนาฬิกาภายในไฟล์ที่สตรีมควรเริ่มเล่น ในไฟล์ส่วนใหญ่ค่านี้มักจะเป็นศูนย์ แต่ไม่จำเป็นต้องเป็นศูนย์เสมอไป ค่าเวลานี้บอกว่ากรอบภาพแรกสุดหรือตัวอย่างเสียงแรกสุดควรอยู่ที่ตำแหน่งเวลาใด

ไฟล์ใดที่มีค่านี้และค่ามาจากที่ใด

เวลาเริ่มต้นสำคัญที่สุดในไฟล์วิดีโอ เช่น MP4, MOV, AVI, MKV และ MPEG transport stream ที่ใช้กับไฟล์อัดรายการทีวี แม้ว่าไฟล์เสียงก็มีค่าดังกล่าวเช่นกัน ไฟล์หนึ่งไฟล์จะมีหลายสตรีม เช่น ภาพ เสียง และบางครั้งมีซับไตเติล ซึ่งแต่ละสตรีมจะมีเวลาเริ่มต้นของตัวเอง แยกจากเวลาเริ่มต้นที่รายงานสำหรับไฟล์ทั้งไฟล์

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

ข้อมูลเดียวกันนี้จะปรากฏในอีกรูปแบบหนึ่ง ซึ่งมักระบุว่า PTS (Presentation Time Stamp) เวลาเริ่มต้นจะแสดงเป็นหน่วยวินาที ในขณะที่ค่า PTS เริ่มต้นจะนับเป็นจำนวนจังหวะของนาฬิกาของสตรีมเอง โดยความยาวของจังหวะนั้นกำหนดโดยฟิลด์คู่กันที่เรียกว่า Time Base ทั้งสองอย่างนี้ระบุจุดเวลาเดียวกัน

ลักษณะของค่านั้นเป็นอย่างไร

เวลาอยู่ในหน่วยวินาที และมักพิมพ์พร้อมทศนิยมหลายหลัก:

  • 0.000000 - กรณีปกติ สตรีมเริ่มที่จุดเริ่มต้น
  • 0.021333 - การเลื่อนเวลาเล็กน้อยเพียงเศษเสี้ยวของวินาที
  • 1.400000 ขึ้นไป - พบได้บ่อยในไฟล์อัดจากการออกอากาศ ที่นาฬิกายังคงนับต่อจากสตรีมขาเข้าแทนที่จะเริ่มใหม่ที่ศูนย์
  • ค่าเป็นลบ หมายความว่าสตรีมถูกระบุว่าเริ่มก่อนจุดศูนย์ของไฟล์เล็กน้อย

การเลื่อนเวลาเล็กน้อยและค่าติดลบมักไม่ใช่ความผิดพลาด Codec เสียงแบบบีบอัดต้องการตัวอย่างเสียงช่วงสั้น ๆ ก่อนจึงจะสร้างเสียงจริงได้ และช่วงนำเข้านี้ต้องมีการบันทึกไว้ที่ใดที่หนึ่ง การเลื่อนเวลาในค่าเริ่มต้นคือวิธีที่ไฟล์ใช้บันทึกข้อมูลนี้ เพื่อให้โปรแกรมเล่นไฟล์สามารถทิ้งส่วนนี้ไปได้แต่ยังคงให้เสียงตรงกับภาพ ไม่ได้หมายความว่ามีเฟรมหายไป

ทำไมมันจึงสำคัญ

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

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

ฟิลด์นี้ไม่มีข้อมูลส่วนบุคคลใด ๆ อยู่เลย

คีย์เมตา