I trailer di Steam sono HLS: l'MP4 si cuce nel tuo browser
Un trailer di Steam non è un file che puoi prendere al volo: è una playlist di frammenti. Il downloader legge le qualità della playlist e il tuo browser li assembla in un unico MP4.
Steam pubblicava i trailer come semplici file MP4 e WebM, e quei campi esistono ancora nella sua API dello store. Ora sono sempre vuoti. Quello che Steam pubblica invece è una playlist master HLS: un piccolo file di testo che descrive le versioni del trailer e punta a frammenti di pochi secondi ciascuno.
Prima la playlist, poi i frammenti
Il lavoro del resolver qui finisce presto. Legge i metadati della pagina dello store, prende l'URL della playlist master del trailer, la analizza e restituisce una riga per versione con la sua risoluzione, bitrate e frame rate. Non recupera mai frammenti video e non assembla nulla: significherebbe far passare l'intero video da un server senza motivo.
| Che cosa legge il resolver | Che cosa fa poi il browser |
|---|---|
| Playlist master: versioni, risoluzioni, bitrate, gruppo audio | Sceglie la versione che hai scelto |
| Il template dei segmenti dentro la playlist | Recupera i frammenti di quella versione dalla CDN di Steam e li unisce |
| Il gruppo audio che la master nomina | Unisce il video e la traccia audio AAC in un unico MP4 |
La cucitura avviene nella scheda già aperta, dalla CDN di Steam stessa (video.akamai.steamstatic.com). Un trailer di due minuti è all'incirca novanta frammenti, quindi la barra di avanzamento si riempie in pochi secondi su una connessione normale.
Leggere l'elenco delle qualità
- Ogni riga è una versione che il trailer contiene davvero, dalla risoluzione più alta.
- Le righe mostrano la risoluzione e il bitrate, perché due versioni possono condividere la risoluzione e differire in quanti dati la sostengono.
- I trailer di Steam spesso arrivano a 1920×1080, ma un piccolo trailer indie può fermarsi molto più in basso.
- Trailer e clip di gameplay sono elencati insieme; ognuno porta un'immagine di copertina così puoi distinguerli prima di scaricare.
I frammenti vengono copiati byte per byte nel MP4 finito. L'immagine e il suono sono esattamente ciò che riproduce il client di Steam a quella risoluzione: l'unione è un cambio di contenitore, non una ricodifica, quindi nulla si ammorbidisce per strada.
Che cosa può andare storto
Due cose, entrambe legate alla rete più che al video. Se i metadati dello store di Steam non rispondono, il resolver ritenta una volta prima di segnalare un guasto. Se la playlist stessa non è analizzabile, vale lo stesso ritentativo — e se fallisce ancora, la pagina lo dice invece di offrire un download che non finirebbe.
Una pagina di gioco senza video restituisce no_video. Questo include le pagine in cui l'unico media è una galleria di screenshot, cosa comune per i titoli non ancora usciti.
In breve
- Steam non serve più semplici file dei trailer; l'HLS è l'unica via.
- Il resolver legge la playlist; il tuo browser recupera i frammenti e li unisce.
- Il MP4 finito è una copia del flusso, non una ricodifica.
- Nulla passa da questo sito e nulla viene salvato.
Domande
Il trailer scaricato è di qualità inferiore a quello che riproduce Steam?
No. I frammenti vengono copiati nel MP4 byte per byte, quindi immagine e audio corrispondono alla versione che hai scelto: lo stesso flusso che riproduce il client di Steam a quella risoluzione.
Perché un download da Steam mostra una barra di avanzamento e quello da Pinterest no?
Perché la CDN di Steam consente al browser di leggere i frammenti, quindi la pagina sta davvero scaricando il file e può riportare l'avanzamento. Quella di Pinterest no, quindi quel download deve essere una semplice navigazione.
Una pagina di gioco non mostra video: perché?
Quella pagina non ha trailer né clip di gameplay allegati. Le gallerie di screenshot non sono video, e i giochi non ancora usciti spesso non hanno né gli uni né gli altri fino a ridosso del lancio.