ข้ามไปที่เนื้อหา

ทำไมดาวน์โหลด YouTube ที่นี่จึงหยุดแถว 360p

YouTube ให้บริการ MP4 ที่สมบูรณ์ คือภาพและเสียงในไฟล์เดียว เฉพาะที่ความละเอียดปานกลางเท่านั้น ทุกอย่างที่สูงกว่านั้นถูกเก็บเป็นสตรีมแยกที่ต้องรวมเข้าด้วยกัน และเครื่องมือนี้ไม่รวมให้

นี่คือเรื่องที่ทำให้ประหลาดใจบ่อยที่สุดในหน้า YouTube จึงควรพูดไว้ก่อน เพดานปกติคือ 360p บางครั้ง 240p และไม่ใช่การตั้งค่าที่เร่งให้สูงขึ้นได้ ตัวดาวน์โหลดเสนอ MP4 แบบต่อเนื่องที่ YouTube เผยแพร่เป็นไฟล์เดียว เรนดิชัน 1080p มีอยู่ฝั่ง YouTube แต่ไม่ได้เป็นไฟล์เดียว

รวมแล้วและอะแดปทีฟเป็นสองสิ่งที่ต่างกัน

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

การเล่น 1080p ในเบราว์เซอร์ทำได้ง่าย เพราะตัวเล่นดึงสตรีมทั้งสองแล้วรวมให้ทันที การบันทึก 1080p เป็นไฟล์เดียวนั้นเป็นงานอีกแบบ ต้องมีอะไรสักอย่างรวมแทร็กเข้าด้วยกัน ตัวดาวน์โหลดนี้ไม่มีตัวรวม จึงแสดงเฉพาะรูปแบบที่รวมแล้ว และมากขึ้นเรื่อย ๆ ที่ YouTube ให้บริการรูปแบบเหล่านั้นที่ 360p และต่ำกว่า รูปแบบที่รวมแล้วที่ 720p ซึ่งเคยมีอยู่ ไม่ได้ถูกส่งให้ไคลเอนต์ทั่วไปอีกแล้ว

ตัวประมวลผลทำอะไร

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

ทำไมลิงก์จึงเปิดในแท็บใหม่

ไบต์วิดีโอมาจาก googlevideo.com ซึ่งไม่ส่งส่วนหัว CORS หน้าเว็บอ่านไม่ได้ ปุ่มดาวน์โหลดจึงนำไปยังลิงก์แทน และเบราว์เซอร์ของคุณบันทึกไฟล์จาก CDN ของ Google โดยตรง สองรายละเอียดทำให้การนำทางนั้นทำงานได้ ตัวประมวลผลต่อพารามิเตอร์ title ท้าย URL ซึ่งทำให้เซิร์ฟเวอร์ของ Google ตอบด้วย content-disposition: attachment ไฟล์จึงถูกบันทึกแทนที่จะเล่นในแท็บ

ทำไมจึงไม่มีการแคช

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

สิ่งที่ไม่รองรับ

กรณีผลลัพธ์
วิดีโอสาธารณะประมวลผลได้ คือรูปแบบ MP4 ที่รวมแล้วที่ YouTube เสนอ
วิดีโอส่วนตัว เฉพาะสมาชิก จำกัดตามอายุprivate — ตัวประมวลผลไม่เข้าสู่ระบบเลย
วิดีโอที่ถูกลบหรือถูกนำออกnot_found
ไลฟ์สดที่กำลังออกอากาศไม่มีไฟล์ที่รวมแล้วขณะสตรีมกำลังเล่น
Shortsใช้ได้เหมือนวิดีโออื่น ๆ ด้วยเพดานความละเอียดเดียวกัน

ฉบับย่อ

คำถาม

เครื่องมือนี้ดาวน์โหลด 1080p จาก YouTube ได้ไหม

ไม่ได้ YouTube เก็บ 1080p เป็นสตรีมวิดีโอเดี่ยวและเสียงเดี่ยวที่แยกกัน และเครื่องมือนี้ไม่รวมให้ มันเสนอ MP4 ที่รวมแล้วซึ่ง YouTube เผยแพร่เป็นไฟล์เดียว ซึ่งปกติคือ 360p

ทำไมวิดีโอจึงเปิดในแท็บใหม่แทนที่จะดาวน์โหลดในหน้าเว็บ

เพราะ `googlevideo.com` ไม่ส่งส่วนหัว CORS หน้าเว็บจึงอ่านไบต์ไม่ได้ ลิงก์มีพารามิเตอร์ title ที่ทำให้ Google ตอบด้วย `content-disposition: attachment` เบราว์เซอร์ของคุณจึงบันทึกไฟล์แทนที่จะเล่น

ทำไมลิงก์เดียวกันบางครั้งแสดงคุณภาพต่างกัน

ตัวประมวลผลถาม YouTube ผ่านตัวตนไคลเอนต์ทางการหลายแบบ ซึ่งไม่ได้รับรูปแบบเดียวกัน การดึงลิงก์อีกครั้งหลังจากครู่หนึ่งอาจเปลี่ยนรายการได้

เครื่องมือในบทความนี้

บทความทั้งหมด