Trailer Steam là HLS: tệp MP4 được ghép trong trình duyệt của bạn
Một trailer Steam không phải tệp bạn có thể vớ lấy — nó là một danh sách phát gồm các phân đoạn. Trình tải đọc các chất lượng trong danh sách, và trình duyệt của bạn ghép chúng thành một tệp MP4.
Steam từng phát hành trailer dưới dạng tệp MP4 và WebM thông thường, và những trường đó vẫn còn trong API cửa hàng của nó. Giờ chúng luôn trống. Thứ Steam phát hành thay vào đó là một danh sách phát HLS gốc: một tệp văn bản nhỏ mô tả các bản dựng của trailer và trỏ tới những phân đoạn dài vài giây.
Danh sách phát trước, phân đoạn sau
Việc của bộ xử lý kết thúc sớm ở đây. Nó đọc siêu dữ liệu của trang cửa hàng, lấy URL danh sách phát gốc của trailer, đọc nó và trả về một dòng cho mỗi bản dựng kèm độ phân giải, tốc độ bit và tốc độ khung hình. Nó không bao giờ lấy phân đoạn video và không ghép gì — làm vậy sẽ là đưa cả video qua máy chủ mà chẳng vì lý do gì.
| Bộ xử lý đọc gì | Trình duyệt sau đó làm gì |
|---|---|
| Danh sách phát gốc: các bản dựng, độ phân giải, tốc độ bit, nhóm âm thanh | Chọn bản dựng bạn đã chọn |
| Mẫu phân đoạn bên trong danh sách phát | Lấy các phân đoạn của bản dựng đó từ CDN của Steam rồi nối lại |
| Nhóm âm thanh mà danh sách gốc nêu tên | Ghép luồng video và rãnh âm thanh AAC thành một tệp MP4 |
Việc ghép diễn ra ngay trong tab đang mở, từ CDN của chính Steam (video.akamai.steamstatic.com). Một trailer dài hai phút có khoảng chín mươi phân đoạn, nên thanh tiến trình đầy trong vài giây với kết nối bình thường.
Đọc danh sách chất lượng
- Mỗi dòng là một bản dựng mà trailer thực sự có, độ phân giải cao nhất trước.
- Các dòng hiển thị độ phân giải và tốc độ bit, vì hai bản dựng có thể cùng độ phân giải mà khác lượng dữ liệu đỡ chúng.
- Trailer của Steam thường đạt 1920×1080, nhưng một trailer indie nhỏ có thể chỉ tới mức thấp hơn nhiều.
- Trailer và clip gameplay được liệt kê cùng nhau; mỗi mục mang một ảnh poster để bạn phân biệt trước khi tải.
Các phân đoạn được sao chép nguyên từng byte vào tệp MP4 hoàn chỉnh. Hình và tiếng đúng như ứng dụng của chính Steam phát ở độ phân giải đó — việc nối là một thay đổi vỏ chứa, không phải mã hóa lại, nên không có gì bị làm mềm trên đường đi.
Điều gì có thể trục trặc
Hai thứ, đều thuộc về mạng chứ không phải video. Nếu siêu dữ liệu cửa hàng của Steam không trả lời, bộ xử lý thử lại một lần trước khi báo lỗi. Nếu chính danh sách phát không đọc được, cũng thử lại như vậy — và nếu vẫn thất bại, trang nói rõ thay vì đưa ra một bản tải không thể hoàn tất.
Một trang game không có video trả về no_video. Điều này gồm cả những trang chỉ có thư viện ảnh chụp, thường gặp với tựa game chưa phát hành.
Bản tóm tắt ngắn
- Steam không còn phục vụ tệp trailer thông thường; HLS là con đường duy nhất.
- Bộ xử lý đọc danh sách phát; trình duyệt của bạn lấy các phân đoạn và ghép chúng.
- Tệp MP4 hoàn chỉnh là bản sao của luồng, không phải bản mã hóa lại.
- Không có gì đi qua trang này, và không có gì được lưu trữ.
Câu hỏi
Trailer tải xuống có chất lượng thấp hơn bản Steam phát không?
Không. Các phân đoạn được sao chép nguyên từng byte vào tệp MP4, nên hình và tiếng khớp với bản dựng bạn đã chọn — đúng luồng mà ứng dụng của chính Steam phát ở độ phân giải đó.
Vì sao bản tải Steam có thanh tiến trình còn bản Pinterest thì không?
Vì CDN của Steam cho trình duyệt đọc các phân đoạn, nên trang thực sự đang tải tệp và báo được tiến trình. CDN của Pinterest thì không, nên bản tải đó phải là một lần chuyển hướng đơn thuần.
Một trang game không hiện video — vì sao?
Trang đó không có trailer hay clip gameplay nào. Thư viện ảnh chụp không phải video, và game chưa phát hành thường không có cả hai cho tới gần ngày ra mắt.