วิดีโอและคำบรรยาย · ชุดเครื่องมือคำบรรยาย
เหตุใดไฟล์คำบรรยายจึงเล่นใน VLC แต่ล้มเหลวในองค์ประกอบแทร็ก HTML5
· มันทำงานอย่างไร
คำบรรยาย เว็บvtt การประมวลผลเบราว์เซอร์
ผู้เล่นเดสก์ท็อปกำลังให้อภัย องค์ประกอบการติดตามของเบราว์เซอร์ไม่ใช่ โพสต์นี้จะอธิบายวิธีที่ parser คำอธิบายภาพ HTML5 อ่านไฟล์ WebVTT ข้อผิดพลาดที่หายไป และวิธีการเตรียมไฟล์ที่ทั้งคู่ยอมรับ
ไฟล์เดียวกันใช้งานได้ใน VLC และไม่แสดงอะไรเลยบนหน้าเว็บ - ตัวแยกวิเคราะห์สองตัว และความอดทนสองระดับ
ไฟล์คำบรรยายที่เล่นอย่างถูกต้องในโปรแกรมเล่นบนเดสก์ท็อปและไม่แสดงอะไรเลยบนหน้าเว็บไม่มีการเปลี่ยนแปลงระหว่างทั้งสอง สิ่งที่เปลี่ยนแปลงคือความอดทนที่ผู้อ่านนำมา เครื่องเล่นบนเดสก์ท็อปถูกสร้างขึ้นเพื่อแสดงสิ่งที่ผู้ใช้ลากมา ดังนั้นพวกเขาจึงเดา ซ่อมแซม และข้ามไป องค์ประกอบแทร็ก HTML5 นำข้อกำหนดไปใช้ และข้อกำหนดที่ยอมรับการเดาจะไม่ใช่ข้อกำหนดดังกล่าว
ความแตกต่างไม่ใช่จุดบกพร่องเช่นกัน เป็นการออกแบบสองแบบที่มีภาระหน้าที่ต่างกัน และผลที่ตามมาในทางปฏิบัติก็คือโปรแกรมเล่นเดสก์ท็อปทดสอบได้ไม่ดีว่าไฟล์จะทำงานบนเว็บได้หรือไม่
วิธีที่องค์ประกอบแทร็กโหลดไฟล์คำอธิบายภาพ — คำขอ, ประเภท MIME, CORS สำหรับแทร็กข้ามต้นทาง และการตรวจสอบส่วนหัว WEBVTT
องค์ประกอบแทร็กดึงไฟล์คำอธิบายภาพเป็นทรัพยากรปกติ ซึ่งหมายความว่าไฟล์นั้นอยู่ภายใต้กฎเดียวกันกับคำขออื่นๆ จะต้องให้บริการด้วยประเภทสื่อ WebVTT และไฟล์ที่แสดงเป็นข้อความธรรมดาจะถูกปฏิเสธโดยไม่คำนึงถึงเนื้อหา แทร็กที่โฮสต์บนต้นทางอื่นจำเป็นต้องมีส่วนหัวแบบข้ามต้นทางและแอตทริบิวต์แบบข้ามต้นทางในองค์ประกอบวิดีโอ และหากไม่มีส่วนหัวดังกล่าว การดึงข้อมูลจะล้มเหลวก่อนที่การแยกวิเคราะห์จะเกิดขึ้น
จากนั้นมาตรวจสอบส่วนหัว ไฟล์ WebVTT ต้องขึ้นต้นด้วยลายเซ็น WEBVTT หรืออาจนำหน้าด้วยเครื่องหมายลำดับไบต์ก็ได้ และไฟล์ที่ไม่มีลายเซ็นนั้นจะไม่ใช่ไฟล์ WebVTT นี่เป็นเหตุผลเดียวที่พบบ่อยที่สุดที่ไฟล์ SRT เปลี่ยนชื่อเป็น VTT ส่วนขยายไม่แสดงอะไรเลย: การเปลี่ยนชื่อเปลี่ยนนามสกุลและไม่ใช่บรรทัดแรก
การแยกวิเคราะห์แบบคิวต่อคิว — สิ่งที่เบราว์เซอร์ทำกับรหัสเวลาที่มีรูปแบบไม่ถูกต้องหรือบรรทัดที่ไม่คาดคิด และเหตุใดความล้มเหลวจึงเงียบ
การแยกวิเคราะห์หลังจากจุดนั้นเป็นไปตามคิว และโหมดความล้มเหลวคือสิ่งที่ทำให้เกิดความสับสน บล็อกที่ parser ไม่สามารถอ่านได้จะถูกละทิ้ง และการแยกวิเคราะห์จะดำเนินต่อไป ไม่มีข้อยกเว้น ไม่มีข้อผิดพลาดของคอนโซล และไม่มีการแสดงภาพ คิวก็ไม่เคยปรากฏ ไฟล์ที่มีรหัสเวลาผิดรูปแบบสี่รหัสจากทั้งหมดเก้าร้อยเล่นได้เกือบจะสมบูรณ์แบบ โดยมีช่วงเวลาแห่งความเงียบงันสี่ช่วงที่ดูเหมือนการแปลหายไปแทนที่จะเป็นข้อผิดพลาดของรูปแบบ
ด้วยเหตุนี้จึงมักรายงานว่าอาการไม่ต่อเนื่อง ไม่มีอะไรไม่ต่อเนื่องเกี่ยวกับเรื่องนี้ สัญญาณเดียวกันล้มเหลวทุกครั้ง แต่เนื่องจากสัญญาณโดยรอบใช้งานได้ ไฟล์จึงดูใช้งานได้อย่างกว้างขวาง และข้อผิดพลาดนั้นเกิดจากเนื้อหามากกว่าการแยกวิเคราะห์
ความผ่อนปรนของผู้เล่นเดสก์ท็อป — เหตุใด VLC และคนอื่นๆ จึงยอมรับไฟล์ที่ไม่ถูกต้องทางเทคนิค
ผู้เล่นเดสก์ท็อปเข้ารับตำแหน่งตรงกันข้ามอย่างจงใจ พวกเขายอมรับตัวคั่นมิลลิวินาทีทั้งสอง ทนต่อบรรทัดดัชนีที่ขาดหายไป สรุปรูปแบบจากเนื้อหาแทนส่วนขยาย ลำดับการซ่อมแซม และข้ามสิ่งที่พวกเขาไม่สามารถใช้งานได้โดยไม่มีการร้องเรียน ผู้ใช้ที่ลากไฟล์ไปยังเครื่องเล่นต้องการให้ภาพยนตร์มีคำบรรยาย ไม่ใช่รายงานการตรวจสอบ
เครื่องมือแยกวิเคราะห์ชุดเครื่องมืออยู่ในรูปแบบการผ่อนปรนแบบเดียวกันในการป้อนข้อมูล โดยยอมรับชั่วโมงเสริม ทั้งตัวคั่นและไฟล์ที่บล็อกไม่ปกติ ความแตกต่างคือสิ่งที่ทำในภายหลัง โดยจะบันทึกทุกข้อผิดพลาดที่ยอมรับได้เป็นปัญหาที่พบ และจะเขียนกลับรูปร่างมาตรฐานรูปแบบเดียว แทนที่จะรักษาความผิดปกติที่ยอมรับไว้
ตัวอย่างการทำงาน: ไฟล์ที่มีข้อบกพร่องทั่วไปสามประการ — ทดสอบในเบราว์เซอร์และดูว่าสัญญาณใดหายไป
รับไฟล์ที่มีข้อบกพร่องสามประการ: ไม่มีส่วนหัว WEBVTT หนึ่งคิวมีฟิลด์วินาทีที่เจ็ดสิบห้า และหนึ่งคิวสิ้นสุดก่อนที่จะเริ่ม ในเครื่องเล่นเดสก์ท็อป ไฟล์จะเล่น วินาทีที่เป็นไปไม่ได้จะถูกซ่อมแซมหรือข้ามไปอย่างเงียบๆ และคิวที่กลับด้านจะกะพริบหรือหลุด ผู้ดูเห็นคำบรรยาย
ในองค์ประกอบแทร็ก ส่วนหัวที่หายไปจะสิ้นสุดทันที ไม่มีคิวใดแสดงขึ้นมา เนื่องจากไฟล์ไม่เคยได้รับการยอมรับว่าเป็น WebVTT เพิ่มส่วนหัวและการเปลี่ยนแปลงรูปภาพ: คิวส่วนใหญ่ปรากฏขึ้น คิวที่มีเจ็ดสิบห้าวินาทีจะถูกละทิ้งในระหว่างการแยกวิเคราะห์ และคิวที่กลับด้านจะถูกแยกวิเคราะห์แต่ไม่เคยแสดง เนื่องจากไม่มีระยะเวลาในการแสดง ชื่อการตรวจสอบความถูกต้องก่อนที่คุณจะโหลดเพจ รายงานรหัสเวลาที่เป็นไปไม่ได้และคิวที่สิ้นสุดก่อนที่จะเริ่มต้น แต่ละรายการตามตัวเลข
สิ่งนี้ไม่ครอบคลุมถึง — การจัดสไตล์ด้วย ::cue การตั้งค่าตำแหน่ง และคำบรรยายสด
ซึ่งครอบคลุมว่าตัวชี้นำโหลดหรือไม่ ไม่ใช่ลักษณะที่ปรากฏ การจัดสไตล์ผ่านองค์ประกอบหลอกคิว การตั้งค่าตำแหน่งและการจัดตำแหน่งบนบรรทัดรหัสเวลา คำจำกัดความของภูมิภาค และข้อความแนวตั้ง ล้วนเป็นข้อกังวลที่แยกจากกัน ซึ่งจะมีความสำคัญเฉพาะเมื่อมีการแยกวิเคราะห์ไฟล์เท่านั้น ไฟล์ที่ไม่แสดงอะไรเลยไม่ใช่ปัญหาด้านสไตล์ และสไตล์ก็ไม่สามารถช่วยเหลือได้
คำบรรยายสดและสตรีมมิ่งก็อยู่นอกเหนือสิ่งนี้เช่นกัน แทร็กคำบรรยายแบบแบ่งกลุ่มที่แสดงควบคู่ไปกับสตรีมแบบปรับเปลี่ยนได้มีรูปแบบการนำส่งของตัวเอง และไฟล์คงที่ที่โหลดโดยองค์ประกอบแทร็กไม่ใช่วิธีเข้าถึงโปรแกรมเล่น
ประเด็นสำคัญ: เตรียมพร้อมสำหรับโปรแกรมแยกวิเคราะห์ที่เข้มงวดที่สุด — การแปลงและการล้างข้อมูลของ Subtitle Toolkit สร้างไฟล์ที่องค์ประกอบแทร็กยอมรับได้อย่างไร
เตรียมตัวสำหรับ parser ที่เข้มงวดที่สุด แทนที่จะเป็น parser ที่เข้มงวดที่สุด เพราะ parser ที่เข้มงวดคือสิ่งที่ผู้ชมของคุณใช้ แปลงเป็น WebVTT อย่างถูกต้องเพื่อให้บรรทัดลายเซ็นถูกเขียนแทนที่จะสันนิษฐาน ใช้กับประเภทสื่อที่ถูกต้อง และเพิ่มส่วนหัวแบบข้ามต้นทางหากไฟล์อยู่บนโฮสต์อื่น
เรียกใช้การแปลงและอ่านปัญหาที่รายงานก่อนจัดส่ง ตัวแปลงจะเขียนการประทับเวลาตามรูปแบบบัญญัติด้วยตัวคั่นตามรูปแบบที่ต้องการ กำหนดหมายเลขตัวชี้นำใหม่อย่างต่อเนื่อง และรายงานข้อผิดพลาดที่ต้องยอมรับ ซึ่งเป็นรายการตัวชี้นำที่จะหายไปอย่างเงียบๆ ในเบราว์เซอร์ จากนั้นโหลดหน้าเว็บซ้ำและเปรียบเทียบจำนวนคิวกับแหล่งที่มา แทนที่จะเชื่อว่าคำอธิบายภาพปรากฏ