ตัวอย่างเกม Steam เป็น HLS: MP4 ถูกประกอบในเบราว์เซอร์ของคุณ
ตัวอย่างเกม Steam ไม่ใช่ไฟล์ที่คว้าได้ทันที แต่เป็นเพลย์ลิสต์ของเซกเมนต์ ตัวดาวน์โหลดอ่านคุณภาพในเพลย์ลิสต์ และเบราว์เซอร์ของคุณประกอบเป็น MP4 ไฟล์เดียว
Steam เคยเผยแพร่ตัวอย่างเป็นไฟล์ MP4 และ WebM ธรรมดา และฟิลด์เหล่านั้นยังอยู่ใน Store API ของมัน ตอนนี้ว่างเปล่าเสมอ สิ่งที่ Steam เผยแพร่แทนคือเพลย์ลิสต์หลักแบบ HLS ซึ่งเป็นไฟล์ข้อความเล็ก ๆ ที่อธิบายระดับคุณภาพของตัวอย่างและชี้ไปยังเซกเมนต์ที่ยาวไม่กี่วินาทีแต่ละอัน
เพลย์ลิสต์ก่อน เซกเมนต์ทีหลัง
งานของตัวประมวลผลจบเร็วตรงนี้ มันอ่านข้อมูลเมตาของหน้า Store ดึง URL เพลย์ลิสต์หลักของตัวอย่างมาแยกวิเคราะห์ แล้วคืนหนึ่งแถวต่อระดับคุณภาพพร้อมความละเอียด บิตเรต และเฟรมเรต มันไม่เคยดึงเซกเมนต์วิดีโอและไม่ประกอบอะไรเลย เพราะนั่นจะหมายถึงการขนวิดีโอทั้งตัวผ่านเซิร์ฟเวอร์โดยไม่มีเหตุ
| สิ่งที่ตัวประมวลผลอ่าน | จากนั้นเบราว์เซอร์ทำอะไร |
|---|---|
| เพลย์ลิสต์หลัก: ระดับคุณภาพ ความละเอียด บิตเรต กลุ่มเสียง | เลือกระดับคุณภาพที่คุณเลือกไว้ |
| เทมเพลตเซกเมนต์ในเพลย์ลิสต์ | ดึงเซกเมนต์ของระดับคุณภาพนั้นจาก CDN ของ Steam แล้วต่อเข้าด้วยกัน |
| กลุ่มเสียงที่เพลย์ลิสต์หลักระบุ | รวมแทร็กวิดีโอและเสียง AAC เป็น MP4 ไฟล์เดียว |
การประกอบเกิดขึ้นในแท็บที่เปิดอยู่แล้ว จาก CDN ของ Steam เอง (video.akamai.steamstatic.com) ตัวอย่างยาวสองนาทีมีประมาณเก้าสิบเซกเมนต์ แถบความคืบหน้าจึงเต็มภายในไม่กี่วินาทีบนการเชื่อมต่อปกติ
อ่านรายการคุณภาพ
- แต่ละแถวคือหนึ่งระดับคุณภาพที่ตัวอย่างมีจริง เรียงจากความละเอียดสูงสุดก่อน
- แถวแสดงความละเอียดและบิตเรต เพราะสองระดับคุณภาพอาจมีความละเอียดเดียวกันแต่ต่างกันที่ปริมาณข้อมูลที่รองรับ
- ตัวอย่างของ Steam มักสูงถึง 1920×1080 แต่ตัวอย่างอินดี้เล็ก ๆ อาจสูงสุดต่ำกว่านั้นมาก
- ตัวอย่างและคลิปการเล่นถูกแสดงรวมกัน แต่ละอันมีภาพโปสเตอร์เพื่อให้แยกออกก่อนดาวน์โหลด
เซกเมนต์ถูกคัดลอกไบต์ต่อไบต์ลงใน MP4 ที่เสร็จแล้ว ภาพและเสียงเป็นสิ่งที่ไคลเอนต์ของ Steam เองเล่นที่ความละเอียดนั้นเป๊ะ ๆ การต่อเข้าด้วยกันเป็นการเปลี่ยนคอนเทนเนอร์ ไม่ใช่การเข้ารหัสใหม่ จึงไม่มีอะไรถูกทำให้อ่อนลงระหว่างทาง
อะไรที่อาจผิดพลาดได้
สองอย่าง ซึ่งทั้งคู่เกี่ยวกับเครือข่ายมากกว่าตัววิดีโอ หากข้อมูลเมตาของหน้า Store ของ Steam ไม่ตอบ ตัวประมวลผลจะลองซ้ำหนึ่งครั้งก่อนรายงานว่าล้มเหลว หากแยกวิเคราะห์เพลย์ลิสต์เองไม่ได้ ก็ลองซ้ำแบบเดียวกัน และหากยังล้มเหลว หน้าเว็บจะบอกตามตรงแทนที่จะเสนอการดาวน์โหลดที่จะไม่มีวันเสร็จ
หน้าเกมที่ไม่มีวิดีโอจะคืน no_video ซึ่งรวมถึงหน้าที่มีเพียงแกลเลอรีภาพหน้าจอ ซึ่งพบบ่อยในเกมที่ยังไม่วางจำหน่าย
ฉบับย่อ
- Steam ไม่ได้ให้บริการไฟล์ตัวอย่างแบบธรรมดาอีกแล้ว HLS คือทางเดียว
- ตัวประมวลผลอ่านเพลย์ลิสต์ เบราว์เซอร์ของคุณดึงเซกเมนต์และรวมเข้าด้วยกัน
- MP4 ที่เสร็จแล้วคือสำเนาของสตรีม ไม่ใช่การเข้ารหัสใหม่
- ไม่มีอะไรผ่านเว็บไซต์นี้ และไม่มีการจัดเก็บอะไร
คำถาม
ตัวอย่างที่ดาวน์โหลดคุณภาพต่ำกว่าตัวที่ Steam เล่นไหม
ไม่ต่ำกว่า เซกเมนต์ถูกคัดลอกลงใน MP4 ไบต์ต่อไบต์ ภาพและเสียงจึงตรงกับระดับคุณภาพที่คุณเลือก เป็นสตรีมเดียวกับที่ไคลเอนต์ของ Steam เองเล่นที่ความละเอียดนั้น
ทำไมดาวน์โหลดจาก Steam จึงมีแถบความคืบหน้า แต่ของ Pinterest ไม่มี
เพราะ CDN ของ Steam อนุญาตให้เบราว์เซอร์อ่านเซกเมนต์ หน้าเว็บจึงดาวน์โหลดไฟล์จริงและรายงานความคืบหน้าได้ ส่วน CDN ของ Pinterest ไม่อนุญาต การดาวน์โหลดนั้นจึงต้องเป็นการนำทางธรรมดา
หน้าเกมแสดงว่าไม่มีวิดีโอ ทำไม
หน้านั้นไม่มีตัวอย่างหรือคลิปการเล่นแนบอยู่ แกลเลอรีภาพหน้าจอไม่ใช่วิดีโอ และเกมที่ยังไม่วางจำหน่ายมักไม่มีทั้งสองอย่างจนใกล้เปิดตัว