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

ตัวอย่างเกม Steam เป็น HLS: MP4 ถูกประกอบในเบราว์เซอร์ของคุณ

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

Steam เคยเผยแพร่ตัวอย่างเป็นไฟล์ MP4 และ WebM ธรรมดา และฟิลด์เหล่านั้นยังอยู่ใน Store API ของมัน ตอนนี้ว่างเปล่าเสมอ สิ่งที่ Steam เผยแพร่แทนคือเพลย์ลิสต์หลักแบบ HLS ซึ่งเป็นไฟล์ข้อความเล็ก ๆ ที่อธิบายระดับคุณภาพของตัวอย่างและชี้ไปยังเซกเมนต์ที่ยาวไม่กี่วินาทีแต่ละอัน

เพลย์ลิสต์ก่อน เซกเมนต์ทีหลัง

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

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

การประกอบเกิดขึ้นในแท็บที่เปิดอยู่แล้ว จาก CDN ของ Steam เอง (video.akamai.steamstatic.com) ตัวอย่างยาวสองนาทีมีประมาณเก้าสิบเซกเมนต์ แถบความคืบหน้าจึงเต็มภายในไม่กี่วินาทีบนการเชื่อมต่อปกติ

อ่านรายการคุณภาพ

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

อะไรที่อาจผิดพลาดได้

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

หน้าเกมที่ไม่มีวิดีโอจะคืน no_video ซึ่งรวมถึงหน้าที่มีเพียงแกลเลอรีภาพหน้าจอ ซึ่งพบบ่อยในเกมที่ยังไม่วางจำหน่าย

ฉบับย่อ

คำถาม

ตัวอย่างที่ดาวน์โหลดคุณภาพต่ำกว่าตัวที่ Steam เล่นไหม

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

ทำไมดาวน์โหลดจาก Steam จึงมีแถบความคืบหน้า แต่ของ Pinterest ไม่มี

เพราะ CDN ของ Steam อนุญาตให้เบราว์เซอร์อ่านเซกเมนต์ หน้าเว็บจึงดาวน์โหลดไฟล์จริงและรายงานความคืบหน้าได้ ส่วน CDN ของ Pinterest ไม่อนุญาต การดาวน์โหลดนั้นจึงต้องเป็นการนำทางธรรมดา

หน้าเกมแสดงว่าไม่มีวิดีโอ ทำไม

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

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

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